Add error reporting to integrations POC

Add an error method to the Extractor class that starts tracking of an error. This can be used in one of two ways, either by manually starting and stopping the error state:
e = extractor.error(...)

# handle error

e.finish()

or by using it as a context
with extractor.error(...):
    # Handle error

You can create an instant error (with no duration) by using the instant() method:
extractor.error(...).instant()

Tracking of start/end times, generating and keeping track of external IDs, reporting in checkins, and so on is all handled automatically.

we should consider if there are ways to prevent people from accidentally reporting errors outside of a running task

This should do that, right? That was at least my intention with this approach. Now the task field is automatically picked up from the contextvar, which is set when entering a task call and unset when leaving. The user never sets it manually.
It's in the add_task method, we wrap the callable in two things: starting and ending tasks and adding and removing the context of being in a task (which is what sets the task field on errors), simplified without locks and error handling:
# start task
self._task_updates.append(
    TaskUpdate(type="started", name=task.name, timestamp=now()),
)

# add to context stack
context_token = self._current_task.set(task.name)

# Run task
target()

# unset context var
self._current_task.reset(context_token)

# end task
self._task_updates.append(
    TaskUpdate(type="ended", name=task.name, timestamp=now()),
)

And then the error() method uses this contextvar to detect whether we're in a task or not:
task_name = self._current_task.get()

return Error(
    level=level,
    description=description,
    details=details,
    extractor=self,
    task_name=task_name,
)

I can add some comments to the add_task method to clarify this if it wasn't clear already.

Oh! Neat, I didn't realize from looking at the code. Really nice. How does that handle threading? What happens if you run multiple tasks at the same time?

My understanding is that it acts like a call stack, so it should be fine. This type of behavior is what contextvars are built for:

Context managers that have state should use Context Variables instead of threading.local() to prevent their state from bleeding to other code unexpectedly, when used in concurrent code.

I did some testing with some simple threading where multiple threads, and it works as expected.
I'll add some comments to the add_task method, since this is clearly not obvious.
All this said, I did get some 'the task is not running' errors when I left some test code running, so there might be some racyness I don't really see at the moment (or a bug in Odin). I'll have to investigate that further, but I'll merge this and leave that as a new thing afterwards.


Automator: update<EMAIL_ADDRESS>in<EMAIL_ADDRESS>

Generated by Automator - 2024-10-01T00:31:40+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio_release-1.21
55e41ab716cf9c20e9c629604f1c689cf82556d3
link
true
/test unit-tests-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.


Activity Filters link should link to a different page.

The Activity Filters link on this page should link to https://docs.microsoft.com/en-us/cloud-app-security/api-alerts, not https://docs.microsoft.com/en-us/cloud-app-security/activity-filters.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 858cd568-ed42-41a5-77fd-678f234b35e5
Version Independent ID: c3dd41f4-c022-e482-433f-b272a0d3d55e
Content: Investigate activities using the API - Cloud App Security
Content Source: CloudAppSecurityDocs/investigate-activities-api.md
Service: cloud-app-security
Product: ****
Technology: ****
GitHub Login: @shsagir
Microsoft Alias: shsagir

@lilianna-ashe Thanks for your feedback. We've submitted a documentation change based on your suggestion, and the updated article should be live by tomorrow. Please let us know if there's anything more we can do for you. To follow up on this issue, leave us a comment with an @mention.


[WIP] Cleanup intermediate dir usage, since there seem to be some problems restoring it when caches are used

Thank you as always for your work and release 1.16.0! When there were no changes affecting screenshot tests, it reduced the CI/CD build time of the VRT task to about 30% of what it used to be. 👏
I noticed one problem when I was checking with a local cache. This can be reproduced using the following commands:
./gradlew :sample-android:recordRoborazziDebug --build-cache
// Note: ./sample-android/build/outputs/roborazzi exists
rm -rf ./sample-android/build
./gradlew :sample-android:recordRoborazziDebug --build-cache // Cached build
// Note: Sometimes ./sample-android/build/outputs/roborazzi doesn't exist. 😱
./gradlew :sample-android:recordRoborazziDebug --build-cache // Read again from cache without deleting build dir.
// Note: ./sample-android/build/outputs/roborazzi exists!

It seems that there is some flakiness when restoring screenshots from the intermediate to the output dir. This was added in #128 (but it's not immediate clear to me why it was needed).

Thanks to the output from this PR, I discovered a bug that our integration tests had not covered. Therefore, I added tests and reverted the removal of test task inputs.
https://github.com/takahirom/roborazzi/pull/364

We might be able to modify the input dir for either recording or for comparing and verifying.

@takahirom Nice, thanks for adding the test and reverting the change! Indeed, after looking at it again it seems that making the cache work isn't going to be as simple as we had hoped.
The other problem that I ran into (why I started to make changes) was that even with the caching enabled we relied on copying files from the intermediate dir to the output dir. In my local runs, isTestSkipped was not always detected correctly, so sometimes the output dir ended up being empty. (Maybe due to the configuration cache?)

We might need to add additional logs for further investigation.

Yes, I added some locally and it seemed that TestTaskSkipEventsServiceProvider.expectingTestNames wasn't initialised properly. (So, the skipped test run never gets added to skippedTestTaskMap.)

Thanks. I'm thinking of removing the TestTaskSkipEventsServiceProvider and isTestSkipped because consistency is more important. I also think the copied content isn't that concerning. What do you think about this?
              // if (isTestSkipped) {
              // If the test is skipped, we need to use cached files
              val startCopy = System.currentTimeMillis()
              intermediateDir.get().asFile.mkdirs()
              intermediateDir.get().asFile.copyRecursively(
                target = outputDir.get().asFile,
                overwrite = true
              )
              finalizeTestTask.infoln("Roborazzi: finalizeTestRoborazziTask Copy files from ${intermediateDir.get()} to ${outputDir.get()} end ${System.currentTimeMillis() - startCopy}ms")
              // }

I'll make a PR to check integration tests

@takahirom Sorry for the late reply. I found some time to do a bit more research today.
build/outputs/roborazzi not being restored from cache
Since #364 I got the following error instead:
* What went wrong:
A problem was found with the configuration of task ':sample-android:testDebugUnitTest' (type 'AndroidUnitTest').
  - Type 'com.android.build.gradle.tasks.factory.AndroidUnitTest' property '$1' specifies directory '/Users/lukas/Dev/test/roborazzi/sample-android/build/outputs/roborazzi' which doesn't exist.

    Reason: An input file was expected to be present but it doesn't exist.

    Possible solutions:
      1. Make sure the directory exists before the task is called.
      2. Make sure that the task which produces the directory is declared as an input.

    For more information, please refer to https://docs.gradle.org/8.4/userguide/validation_problems.html#input_file_does_not_exist in the Gradle documentation.

It's a bit hard to reproduce, since I believe the configuration cache needs to kick in, but the steps are roughly:
// Make a change to the tests in `sample-android`.
./gradlew :sample-android:recordRoborazziDebug --build-cache
rm -rf ./sample-android/build
./gradlew :sample-android:recordRoborazziDebug --build-cache
rm -rf ./sample-android/build
./gradlew :sample-android:recordRoborazziDebug --build-cache

I think the error is essentially what is described in this issue: https://github.com/gradle/gradle/issues/2016
I made a fix like this, and this brought back the problem with restoring the output directory instead.
Finally #366 fixes that issue.
Modifying the input dir depending on if we run in record or compare/verify mode
It seems that we cannot read isRecordRun in configureEach:
> Could not create task ':sample-android:testDebugUnitTest'.
> Cannot query the value of this property because it has no value available`.

We could read test.systemProperties["roborazzi.test.record"] directly, but in that case the caching behaviour would only change when the user runs testDebugUnitTest directly (and not using recordRoborazziDebug).
I'm a bit out of ideas on how to approach this -- this seems to be a general limitation in the interaction between gradle and how our tasks are set up. (E.g. paparazzi seems to have the problem reversed since they don't declare the output dir as an input.)


⚠ Samsung has degraded performance

In baaf978, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3015 ms

Resolved: Samsung performance has improved in 8447b47.


Destory dependent visitors and rejection objects

The foreign key constraint prevents deletion of a Visit object in the console without
first deleting all its associated Visitors and the Rejection.

Typo in commit: "Destory"

Should we do the same for the other has_manys?

No there ins't :)
And yes, we should...and done.


contract list

link breaks online
https://explorer-testnet.tomochain.com/contracts?page=1&limit=15
No contract found

I seen a contract created at https://explorer-testnet.tomochain.com/address/0x4d6cff345e710ac299dc5fd4753af264d6f573c4, you should try Verify and publish. After that, it will show in the link above.

The product still is in development, not release yet, if you meet any issue, create the issue, thank you.

We fixed it some days ago, If you see this problem again, please let us know. Thanks


minor: refactor backup code, added unit test

What
Refactored backup code. Now a true object, with ENVs passed down the (long) stack to the backup object. AWS Cred still treated as ENV since this is how the SDK requires them. Added unit test code. Tested locally with enable and disabled. When disabled no ENVs were passed and code completed as expected.
This should be backward compatible - if no backup configuration information is passed in there should be no difference than current deployed code.
Note: Changes to kit-server will be required to pass in the correct parameters since they are no longer strictly treated as ENVs.

My log fixes will require these changes so I'm going to merge this PR now so I can get that in.


Android mobile version 14 supports chapters(Nothing Phone 1 Android 14), but below 14 versions are not supported (Realme Narzo Android 13).(Flutter version 3.19)

Steps to reproduce
Play Vimeo video on 14 version and  below 14 version mobiles. Below 14 version doesn't support package chapters on mobiles.
Expected results
i want breaks in progress bar example like below

Actual results
but below 14 version doesnt support like below

Code sample
Code sample
[Paste your code here]

Screenshots or Video

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[!] Flutter (Channel stable, 3.19.4, on macOS 13.3.1 22E261 darwin-arm64 (Rosetta), locale en-IN)
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.17.0/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Applications/user_installed/flutter. Consider adding
      /Applications/user_installed/flutter/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] Connected device (4 available)
[✓] Network resources

! Doctor found issues in 1 category.
vgts@Praba-MacBook-Pro-2 untitled3 % flutter doctor -v)
zsh: parse error near `)'
vgts@Praba-MacBook-Pro-2 untitled3 % flutter doctor -v
[!] Flutter (Channel stable, 3.19.4, on macOS 13.3.1 22E261 darwin-arm64 (Rosetta), locale en-IN)
    • Flutter version 3.19.4 on channel stable at /Applications/user_installed/flutter
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.17.0/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Applications/user_installed/flutter. Consider adding
      /Applications/user_installed/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 68bfaea224 (3 weeks ago), 2024-03-20 15:36:31 -0700
    • Engine revision a5c24f538d
    • Dart version 3.3.2
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/vgts/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] Connected device (4 available)
    • RMX3571 (mobile) • 7TRK8DKZFETSIFAM                                   • android-arm64  • Android 13 (API 33)
    • RMX3571 (mobile) • adb-7TRK8DKZFETSIFAM-2JBriQ._adb-tls-connect._tcp. • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos                                              • darwin-arm64   • macOS 13.3.1 22E261 darwin-arm64 (Rosetta)
    • Chrome (web)     • chrome                                             • web-javascript • Google Chrome 123.0.6312.107

[✓] Network resources
    • All expected network resources are available.

@prabavgts
Are you talking about native Android video player running on OS 14 version that supports the progress bar breaks ? And not Android versions less than 14 ?
Or are you reporting this for flutter's video_player plugin running on OS 14 versus less than OS 14 ?

@prabavgts
Have you already checked the same with native Android webview on 14 and less than 14 version to see if it properly works on it and it is only occuring in flutter's webview ?

Yes I have already checked.
Other WebView packages do not support Chapters on all Android versions.
But luckily webview_flutter: ^4.4.2 supports the chapters but it works only in 14 version.Below 14 versions don't support
I checked the 13 and 12 versions @darshankawar

Thanks for the update.

but it works only in 14 version.Below 14 versions don't support
I checked the 13 and 12 versions

Maybe this is Android 14's feature and may not be available on lesser versions. Can you check the Android 14 release notes wherein you can find about the it.

14 release does not mention the feature. Can you help me with that? @darshankawar

https://support.google.com/youtube/answer/12825599?hl=en&co=GENIE.Platform%3DAndroid you can check.
I think the equivalent would be seekTo feature via video player's controller but I don't think this is Flutter specific or actionable from Flutter.
Closing for now. If you disagree, write in comments and I'll reopen it.


Room 2 (and demo data)

Codecov Report

Merging #12 into master will increase coverage by 1.53%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
+ Coverage   93.76%   95.29%   +1.53%
==========================================
  Files          24       26       +2
  Lines         625      659      +34
==========================================
+ Hits          586      628      +42
+ Misses         39       31       -8

Impacted Files
Coverage Δ

paikkala/tests/test_admin.py
100% <100%> (ø)

paikkala/utils/importer.py
100% <100%> (ø)
:arrow_up:

paikkala/tests/demo_data.py
100% <100%> (ø)

paikkala/admin.py
100% <100%> (+12.19%)
:arrow_up:

paikkala/tests/conftest.py
100% <100%> (ø)
:arrow_up:

paikkala/models/programs.py
93.97% <100%> (+1.2%)
:arrow_up:

paikkala/models/rows.py
97.43% <0%> (+2.56%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7983068...1364eb9. Read the comment docs.


Unzip and Unpack tasks

(work in progress)
This PR is a step in accommodating Framework for transferring Unpacker2 project into a JPetUserTask. It includes:

separating JPetUnzipAndUnpackTask to JPetUnzipTask and JPetUnpackTask
removing obsolete JPetUnpacker wrapper class, which is substituted with JPetUnpackTask
fixing some problems with methods of decompressing files with xz, bz2, gz and zip
necessary changes in JPetTaskFactory

Some tests are now failing, I will have to figure out why...
Sorry for some compulsive-obsessive formatting and documentation changes.

I will have a look into that.

I have corrected order of adding tasks and now the tests are ok, travis and jenkins here are failing because of wrong branch of Unpacker.

Corrections applied

@kkacprzak, it seems that after merging of the MC smearing PR (#244), there is a trivial conflict in GeantParser.cpp (It's just about an empty line).
Could you fix it?

I am a bit confused, is this merge conflict still there?


Study decoder

Create a Decoder network that is able to interact with the output of the Encoder created in the gm0vae notebook.
Research on how the values of mean and sigma can be used in a formula, creating a unique type of neuron.

Also, I don't know if the encoder output is correct. A lot of sources seem to split the tensors into two, but it doesn't seem that they are the actual values of mean and sigma. I wonder if by dividing I'm saying that those values are mean and sigma, creating them randomly and trying to use those values as the representation of the latent dimension.

Decoder done in gm-vae.ipynb notebook


Adding DataCollection Parameter

The DataCollection parameter allows the user to opt-out of sending telemetry data about the 'AWS DSC Extension' to Microsoft.
Telemetry data collection by Microsoft is currently disabled for all AWS machines.
In order to enable telemetry collection, a new 'AWS DSC Extension' package will also need to be published, but this parameter to opt-out must be put in place here as well as in the AWS DSC Toolkit first.
The only valid values for the DataCollection parameter are 'Enable' and 'Disable'. There is also a $null value allowed which simulates not supplying the parameter.
Not specifying the DataCollection parameter or supplying the 'Enable' or $null values will allow Microsoft to collect telemetry data under this license and this privacy agreement both of which have been added to the README.

This change is

@TravisEz13 Please review these changes.

Reviewed 1 of 1 files at r1, 1 of 1 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

AWSDSCBootstrapper.ps1, line 40 [r2] (raw file):

    $ExtensionVersion = "<IP_ADDRESS>",

    [ValidateSet('Enable', 'Disable', $null)]

Add a help message

README.md, line 3 [r2] (raw file):

# AWS DSC Bootstrapper

This service is provided under this [license](http://azure.microsoft.com/en-us/support/legal/) and this [privacy agreement](http://go.microsoft.com/fwlink/p/?linkid=131004&clcid=0x409).

Just the privacy agreement is needed here.

Comments from Reviewable

Review status: 0 of 2 files reviewed at latest revision, 2 unresolved discussions.

AWSDSCBootstrapper.ps1, line 40 [r2] (raw file):
Previously, TravisEz13 (Travis Plunk) wrote…
> Add a help message
Done.

README.md, line 3 [r2] (raw file):
Previously, TravisEz13 (Travis Plunk) wrote…
> Just the privacy agreement is needed here.
Done.

Comments from Reviewable

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


⚠ Bofrost.de has degraded performance

In e9abcb7, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1131 ms

Resolved: Bofrost.de performance has improved in 0dc4e72.


[Bug]: Disk resize issue on bootdisk

What happened?
Boot disk resize for the VirtualMachine fails because of the logic on the disk updates.
What did you expect to happen?
The disk size increase operation should be successful either the disk is boot disk or not.
How can we reproduce it (as minimally and precisely as possible)?
Create a virtualmachine with two disks and increase the first increase the diskSize on the non-boot disk and you will see success on that afterwards try to increase the boot disk and it will fail because of the method we're having for the diskUpdates
func updateDiskConfig(ctx context.Context, vm *proxmoxv1alpha1.VirtualMachine, 	disk proxmoxv1alpha1.VirtualMachineSpecTemplateDisk) error { 	virtualMachine, err := getVirtualMachine(vm.Name, vm.Spec.NodeName) 	if err != nil { 		log.Log.Error(err, "Error getting VM for updating disk configuration") 	} 	taskID, err := virtualMachine.Config(ctx, proxmox.VirtualMachineOption{ 		Name:  disk.Device, 		Value: disk.Storage + ":" + strconv.Itoa(disk.Size), 	}) 	_, taskCompleted, taskErr := taskID.WaitForCompleteStatus(ctx, 5, 3) 	if !taskCompleted { 		log.Log.Error(taskErr, "Error updating disk configuration for VirtualMachine") 	} 	return err }
This is not applicable for the boot-disk since it's increasing the disk id on the go.
Anything else we need to know?
No response
Kubemox version

# Release version of Kubemox or commit hash

latest

Proxmox version

# On Proxmox target node:
$ pveversion
# paste output here

8.2.7

I'll try to use resize method for the disk updates and the method above should be only used for disks to be added.
https://pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/qemu/{vmid}/resize


How to shutdown calico route reflector correctly?

Environment
Calico version: 2.6.7 (Docker container)
Description
We want to know how to shutdown calico route reflector correctly. When we shutdown the calico-rr by stopping the container directly, the key /calico/bgp/v1/rr_v4/<calico-rr ip> at etcd was still there. Do we have to remove the key from etcd manually? Will this execution causes unexpected problems?

You will need to remove the key manually. You can see here https://docs.projectcalico.org/v2.6/usage/routereflector/calico-routereflector#configuring-a-cluster-of-route-reflectors that it was added manually.
If you are removing the route reflector (and it is the last one) and have not enabled node-to-node mesh this will definitely cause problems. If there are other route reflectors or you do have node-to-node mesh I don't believe there will be any problems.

@tmjd Thanks~


[ABW-3817][ABW-3263] Accounts & Persona proof of ownership

Jira ticket: ABW-3817
Jira ticket: ABW-3263
Description
This PR handles the dApp interaction to prove ownership of Accounts and/or Persona.
How to test

Connect to the sample dApp that allows sending proof of ownership requests.
Validate that the app behaves correctly for every potential scenario described in the JIRA tickets.

@CyonAlexRDX merged the two reducers into one single ProofOfOwnership.
Decided to leave the signature part isolated on SignProofOfOwnership, given that it is already implemented and helps keep the ProofOfOwnership a small and clean, but can merge if you think it is better.


Update working-with-get-items-and-get-files.md

Added a known limitation  on the Get items action at the end to preempt user confusion.
Category

[x] Content fix
[ ] New article
[ ] Example checked item

Related issues

fixes #issuenumber
partially #issuenumber
mentioned in #issuenumber

What's in this Pull Request?
Added a known limitation  on the Get items action at the end to preempt user confusion.

Docs Build status updates of commit a67d8ff:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/business-apps/power-automate/guidance/working-with-get-items-and-get-files.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Updated the ms.date @andrewconnell Thanks!

Docs Build status updates of commit e2a8ca4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/business-apps/power-automate/guidance/working-with-get-items-and-get-files.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


docker cp should accept a file destination

Currently docker cp only accept path destination:
$ docker help cp

Usage: docker cp CONTAINER:PATH HOSTPATH

Copy files/folders from the PATH to the HOSTPATH

It would be useful if it was also accepting a single file destination when the source path point to a file, ex:
docker cp build-boot2docker:/boot2docker.iso boot2docker-$(git rev-parse HEAD).iso

#dibs


incorrect powershell

Get-Mailbox | where {$.RetainDeletedItemsFor -gt '14.00:00:00'}.
should be
Get-Mailbox | where {$_.RetainDeletedItemsFor -gt '14.00:00:00'}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9ce35226-b40b-3c9f-a37f-585b84aa129e
Version Independent ID: ac9953e2-769a-c115-b1c6-e6f6fc940db2
Content: Filterable properties for the Filter parameter
Content Source: exchange/docs-conceptual/exchange-server/recipient-filters/filter-properties.md
Service: exchange-powershell
Product: exchange-server-itpro
GitHub Login: @chrisda
Microsoft Alias: chrisda

@HenrikBernhard, the topic was correct in raw markdown, but markdown was treating the unescaped underscore character as an underline formatting indicator, and I found many other instances of this. I escaped the underscore character ( \_ instead of _ ), so it should be OK now.
Thanks for the feedback.


Support for Tools in Vertex AI Gemini

Hi @geoand, I've done a lot of copying from similar Ollama Tools support code and I have to admit I'm not sure I'm on the right track, Ollama code has some similarities but the the code there is much more involved compared to the Gemini one which does not offer non-streaming support yet.
Can you please have a quick look tomorrow and point to some obvious errors, before I attempt to test it :-) ?

Fixes #1126.

Thanks for looking into it @sberyozkin!
There are no obvious error I see, but only some proper testing will show the way :)

I've prototyped the integration test, with a single Tool for now, and it fails, so the next task for early 2025 is to fix it :-) and then make it work for 2 tools

🎉


Revise command line interface of spaces/references/outputs

Currently supported

[x] Allow the user to change the atlas used in brain extraction (as long as the selected atlas has a binary brain mask, although it would be better to use only templates that have a probabilistic brain mask and Registration/Extraction masks).
[x] Allow the user to change the Spatial Normalization target with the --template argument (although some paths may not be fully implemented, e.g. with --cifti-outputs or --ica-aroma).
[x] Allow the user to write preprocessed data, resampled to several alternative spaces (namely T1w, template, and fsXXXX) with the --output-space argument.
[x] Allow the user to specify an output resolution with --template-resampling-grid.

Problems

The use of templates other than MNI152NLin2009cAsym is quite unstable.
Inconsistency of methods relying on other templates (ICA-AROMA and CIFTI generation)
Only support freesurfer's surface spaces, and the extension to other surface spaces is difficult for the poor integration with TemplateFlow of the surface world.
Spatial normalization restricted to only one template (although for long we've allowed supplying several arguments to --template it didn't actually turn out in a different workflow).
Lack of flexibility to satisfy requests for new outputs resampled in new spaces (e.g. native bold).

Proposal

Templates: Deprecate --template, rename it to --std-spaces, allow it to accept a list of template identifiers from TemplateFlow (which can be either surface, volume or both). Volumetric registration will then run for all the volumetric templates in the list. The first template defines the "default" standard space for preprocessing. If --ica-aroma is set, and the keyword MNI152NLin6Asym is not in the list, an internal nonlinear registration will be added. Same for --cifti-outputs with fsLR. An special keyword custom (or maybe user-provided, please mention what you like better) can be used to provide a path with a custom template. In that case, --custom-template-path should be provided and pointing to a TemplateFlow-like organized template, and having at least two resolutions (high and low) with indexes res-1 and res-2.
Nonstandard spatial references: a --nonstd-spaces flag that allows values like anat, run, and sbref (will need to think this through). We could add T1w for backwards compatibility, but that is the same meaning as anat. Key run indicates the individual, native space of this particular BOLD run, sbref is the space of the SBRef used as reference (which may or may not be in the same resolution or even session). That would open the door to, for instance, have other keywords such as individual or participant that would calculate a reference for all tasks and runs of a participant and similarly, session.
Resolution/density: --template-sampling-grid is deprecated, and the --standard-spaces accepts comma separated values indicating resolutions and or densities for resampling. Special key orig is the default, and would generate data with the same resolution as the original volume (in other words, the current default of fMRIPrep). For instance MNI152NLin2009cAsym,res-2 or fsLR,den-92k, MNI152NLin2009cAsym,orig. I'd be happy to change the default resolution to res-2. Additionally, one can set the special key dismiss if the user does not want the data to be resampled into the template space (e.g. MNI152NLin2009cAsym,dismiss will prevent the generation of space-MNI152NLin2009cAsym derivatives).

Example
Old:
fmriprep ... --output-space T1w template fsnative fsaverage5 --template-resampling-grid 2mm

New:
fmriprep --std-spaces MNI152NLin2009cAsym,res-2 fsaverage,den-10k --nonstd-spaces anat,orig fsnative

WDYT?
Paging @edickie @satra for opinions (as this may interact with the discussions about volspace/reference/etc in BIDS Derivatives).

This proposal enables #1558 to be implemented.

BTW, this would enable other interesting possibilities such as enforcing other details of the template:
fmriprep --std-spaces MNIBabyAsym,res-2,cohort-20mo --nonstd-spaces anat

would select the template of 20 months old (we are thinking of using the entity cohort to specify age of developmental templates, and also allow for other groupings such as control/patients).

I find this hard to evaluate. It's certainly flexible, but it feels like it's so flexible that what we're going to end up with is people describing their use cases on Neurostars, which we then translate into the arguments they need. But not fully understanding the range of use cases you're actually trying to accommodate, I don't know that I can suggest anything better.
So just a couple specific thoughts:

An special keyword custom (or maybe user-provided, please mention what you like better) can be used to provide a path with a custom template. In that case, --custom-template-path should be provided and pointing to a TemplateFlow-like organized template, and having at least two resolutions (high and low) with indexes res-1 and res-2.

Why not just allow a path instead of custom + --custom-template-path? Special names that can be overridden with hard paths is a pretty common CLI idiom.

Nonstandard spatial references

Is there no way to specify these with the same option as the templates? There shouldn't be name collisions.

--standard-spaces accepts comma separated values indicating resolutions and or densities for resampling.

Thjs feels surprising from a CLI perspective, as commas often separate different values, rather than connect related values. Perhaps a colon (:)?

fsaverage,den-10k

I guess this is fsaverage5. I would strongly recommend letting pre-existing names serve as synonyms, if you're going to impose these new conventions.

Additionally, one can set the special key dismiss if the user does not want the data to be resampled into the template space (e.g. MNI152NLin2009cAsym,dismiss will prevent the generation of space-MNI152NLin2009cAsym derivatives).

Is this to avoid creating volumetric derivatives when what you want is the CIFTI? I'm not really following.

Synthesizing the above, I'd replace your suggestion of
fmriprep --std-spaces MNI152NLin2009cAsym,res-2 fsaverage,den-10k --nonstd-spaces anat,orig fsnative

with
fmriprep --output-space MNI152NLin2009cAsym:2mm fsaverage5 anat fsnative

The logic should be pretty simple. The "nonstandard" spaces of anat and fsnative can be quickly matched and removed from the list, and fsaverage5 translated into fsaverage:10k. Then fsaverage and MNI152NLin2009cAsym can be found in the TemplateFlow set of known templates, so there are no unknown spaces where we need to try to interpret as a path.
The goal here is to maintain as much backwards compatibility as possible while still getting you the flexibility you need.

Why not just allow a path instead of custom + --custom-template-path? Special names that can be overridden with hard paths is a pretty common CLI idiom.

I'm totally fine with this solution (I actually think it is better since now you can easily have two custom templates).

Is there no way to specify these with the same option as the templates? There shouldn't be name collisions.

No, there's no need to split the options. The reason why I think it is a good idea to have them separate is that it enforces some explicitness in terms of spaces. That said, I think your last example is pretty nice.

Thjs feels surprising from a CLI perspective, as commas often separate different values, rather than connect related values. Perhaps a colon (:)?

:+1:

I guess this is fsaverage5. I would strongly recommend letting pre-existing names serve as synonyms, if you're going to impose these new conventions.

Yes, it is. And yes, I would keep the compatibility with pre-existing names via synonyms.

Is this to avoid creating volumetric derivatives when what you want is the CIFTI? I'm not really following.

Yes, that would be the use case. Some users are hitting quota problems and might want to get the transforms calculated (and written out as X5) but they are not interested in generating new resamplings. Although I agree this could be very unintuitive and it could be left apart as a future possibility.

The logic should be pretty simple. The "nonstandard" spaces of anat and fsnative can be quickly matched and removed from the list, and fsaverage5 translated into fsaverage:10k. Then fsaverage and MNI152NLin2009cAsym can be found in the TemplateFlow set of known templates, so there are no unknown spaces where we need to try to interpret as a path.

The nonstandard spaces should not accept some modifiers such as pre-defined resolutions (other than the reference's resolution and the original bold's reference). That could be a justification for --nstd-spaces
Finally, although the 2mm key for resolution seems beautiful (or at least nicer than res-2), allowing such keyword seeds the confusion (what if a template does not have a 2mm resolution?) and forces us to query the metadata dictionary in search for a 2mm resolution. This can blow up when we start including rodent templates. Forcing a nomenclature somewhat established for TemplateFlow seems easier and less error-prone. It also makes the ordering of modifiers interchangeable:
fmriprep --output-space MNIPediatricAsym:cohort-20mo:res-2

or
fmriprep --output-space MNIPediatricAsym:res-2:cohort-20mo

could work out equivalently.

Okay, I'm fine with res-2 instead of 2mm. So if T1w is equivalent to anat, and the default res option doesn't change, then existing --output-space options should remain usable, and I'm happy with this plan.

What about std vs nstd prefix in the argument? Not convinced yet?

Not sold on it. I think these are distinctions for us to draw to produce correct outputs and set the branching logic needed to produce valid metadata, but what users are going to care about is "How do I say I want to use this template or keep things in some kind of subject-native space?"
For the parameters, we can match up to the first colon and easily identify known templates, dataset-specific references (nstd-spaces, as you call them), and arguments we should check whether it's a path to a valid template directory.
As to teaching users about where optional parameters can apply, I think we can do that in the docs and/or help text. This is mostly going to be a question for templates, anyway. We could write something like:
Output spaces may be templates with optional parameters or dataset-specific references.
Templates take the form <TEMPLATE>[:res-<resolution>][:cohort-<label>][...], with optional,
colon-separated parameters, while dataset-specific references imply a specific orientation
and sampling grid.

[Some language listing the available templates and dataset-specific references that we
know how to target.]

Can you include  warp and affine for transformation between t1w and native space so that users can decide to covert preprocessed bold to native space

@a3sha2, we currently write out all transformations when calculated. In the future, when the X5 transform format is ready (is being developed under the umbrella of BIDS), all the transforms calculated by fMRIPrep will be encapsulated in one single file.

Related #1376

I think I get it.. but how are you dealing with the subcortical atlas/parcellation in cifti files? or is that another issue?

If you say --output-spaces fsLR:den-91k you are explicitly saying the volumetric atlas & parcellation that should be used.

I'm becoming more and more convinced that at this point, the only grayordinates structure that makes sense is the official one.
I agree that in the future some people may want to have other possibilities. That could be encoded on TemplateFlow or with specific modifiers like --output-spaces fsLR:res-2:nifti which would output only volumetric derivatives on the Conte space used by fsLR. Similarly: --output-spaces fsLR:den-10k:gifti would produce only timeseries for surfaces.
(disclaimer: neither the nifti nor the gifti modifiers are being proposed at this point - I honestly doubt we need them, I used them just to show that the semantics can be implemented).


Fix a JS error in initRepoCommitLastCommitLoader's entryMap

For unknown reason, the entryMap may not have the 'entryname' row.
This is  a quick patch to avoid JS errors. Need to be investigated more.
Close #19995

Wait for some more time, I think I get some new clues.

Root case is clear, fine tuned. (well, not changed too much as before)

These changes worked for me. Commits are shown as ..., after a few seconds they get updated with proper messages and dates


Fix change in dependency project not triggering rebuild of parent project

https://github.com/dotnet/sdk/issues/11676

It seems like this is fixed with the latest target - close for now unless we see it again


chore: support treeshaking

Changes description
Support sideEffects to reduce imported size of components.
Currently, the postCss rollup plugin, generates JS that is considered as sideEffects because not a part of our solution and gets treeshaken when sideEffects: false is active.
Not having the sideEffects specified imports everything, even if you're only importing a button.
Also, we used to use index-with-vars.css, which is not necessary since we could need to import and compute the vars at runtime, which is also done by another script which requires a lot of imports too. Using the already computed styles lightens this process and allow for more granular treeshake.
As an example, now with a VtmnButton, we only import around 150kb instead of 440kb before.
With three components, i am at 170kb.

Bundle size is lighter and represents more what we use. There is no need to have all the other components in the browser, if we only use a Button and a Tag.
Checklist

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Please, don't request directly from your main!
[x] Check commits & PR names matches our requested structure. It must follow the https://www.conventionalcommits.org pattern.
[x] Check your code additions will fail neither code linting checks.
[x] I have reviewed the submitted code.
[x] I have tested on related showcases.
[ ] If it includes design changes, please ask for a review design-system-core-team-design GitHub team.

Does this introduce a breaking change?

No

Other information
Tested on :

CRA with Node 14
CRA with Node 18
Vite App
Nextjs exisiting production app

Good to know: we can do better, currently, all the side effects are marked, so we always import all the scripts the are generated by the postCSS rollup module, i think we can do better, but we might require better tooling than rollup. So let's do this for now

Thanks a lot @Shyrro for your contribution! Great results regarding optimization! I understand your point but the problem is that if you don't use index-with-vars files, you will have CSS without any var(), so it will not be possible to use light/dark mode.

Hey @lauthieb ! Thanks for your review !
I understand now why the index-with-vars is used instead. I did not know about the Dark mode indeed. Though the fact that we need the vars, pushes the problem to a whole other level :
The vars are imported in the index.ts file, before, we used to import everything so no issue. With the treeshaking capabilities, we never import the index, it's just an entry point, so the postcss script that registers the vars never gets triggered. This means that to allow for this change, we would need to implement one of these solutions :

Tell the consumers to import the css vars ( Like the Vue version does, or like other libs do, like PrimeReact or Vuetify does )
Have a provider that registers the vars and that all React apps use ( Something like Chakra UI and Material UI does )
Import the vars needed in each component ( This is a non acceptable solution to me as it is too heavy )

From these solutions, the first one would be the easiest to implement but would introduce a Breaking Change.
The plugin solution would take some time to implement but is breaking as well since everyone would need to use the plugin.
Considering these issues, feel free to close this PR until something is decided. I know this is not a priority but it would be very nice to consider as not only is it good for Decathlons React apps, it is also good for the environment to not import everything each time. It would also need to be considered for Vue and Svelte whenever we find a viable solution for each.

Hello @Shyrro, thanks again for your contribution. As discussed together, I close this PR but this may be reopen if we accept breaking changes and usage of SemVer in the future for this version of Vitamin. I'll keep you informed.
Thanks for your understanding.


Pomfixes

Fixes #2

@rastogipankaj could you review it and merge ? I have cleaned the pom, moved it to 1.0.0-SNAPSHOT, added contributor list and some minor cleanups...


1.7.5 release - Config File "config" Not Found

After I replace my previous version with the 1.7.5 release, I'm getting this error:
c:\gokube\bin\gokube.exe version
2019/09/23 11:55:21 Config File "config" Not Found in "[C:\Users\xxxx\.gokube]"

It will happen if you created your VM with 1.7.4 (gokube init) and start it again with 1.7.5 (gokube start). Can you try to create a new VM from scratch with 1.7.5 ?

Actually this happens when I created from scratch...

I was using 1.7.3 version and I see there was a 1.7.5 version available. After I got this errors, now I'm using the 1.7.4 version, which one I have no problem at all.

Issue identified, I will work on a quickfix ASAP

The version 1.7.6 fix this issue.


libomp.so dependency (need REAL fix)

Hello,
I've read nearly most related ticket which usually ends up disabling openmp. Sounds like the worst idea ever.
Is it possible to have an official statement regarding this ? mxnet 1.0.0 was building just fine with -DUSE_OPENMP=1 without adding this unresolved library dependency.
Do you know what has been changed ? Is that really solved ? By which commit, which release ?
Thanks in advance,
Best regards, Adam.

Here's a list of related tickets/commits ending with "disabling openmp":
https://github.com/apache/incubator-mxnet/commit/85215b6176ef3612d198f590268a6595b86565fb
https://github.com/apache/incubator-mxnet/issues/10011
https://github.com/apache/incubator-mxnet/issues/10230

Hello Adam,
just to clarify: Are you talking about ARM? If yes, please specify which version exactly and how you are trying to compile. There have been some changes recently and we'd like to make sure we are on the same page.
Best regards,
Marco

Absolutely not, regular X64. Multiple variants being built with/without MKL-DNN and/or CUDA.
From what I saw, the difference between 1.0.0 and 1.1.1 is in root tree CMakeLists.txt:
In 1.0.0:
  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/openmp/CMakeLists.txt)
    # Intel/llvm OpenMP: https://github.com/llvm-mirror/openmp

In 1.1.0:
  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/openmp/CMakeLists.txt AND SYSTEM_ARCHITECTURE STREQUAL "x86_64" AND NOT MSVC)
    # Intel/llvm OpenMP: https://github.com/llvm-mirror/openmp

The main difference is that this openmp folder DID NOT exist in 1.0.0 sources tree, so it falls back building using system openmp:
  else()
    if(OPENMP_FOUND)
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
      set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
      set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")

Regards, Adam.

@eLvErDe thanks for the question, @sandeep-krishnamurthy requesting this be labeled under Question

Also related: https://github.com/apache/incubator-mxnet/issues/8532

@sandeep-krishnamurthy can we get a tag of 'build' on this please

@sandeep-krishnamurthy ping
@lebeg any updated on whether openmp should or shouldn't be bundled with MXNet?

Any update on this issue? libomp.so in 3rdparty causes a segfault in the build.ubuntu_gpu docker environment for the CI testing. The cmake build passes all unit tests for gpu but a segfault occurs at the end. Here is the stack trace.
#0  0x00007efd8c17600e in __kmp_dephash_free_entries () from /work/build/3rdparty/openmp/runtime/src/libomp.so
#1  0x00007efd8c1761a1 in __kmp_dephash_free () from /work/build/3rdparty/openmp/runtime/src/libomp.so
#2  0x00007efd8c1394f9 in __kmp_free_implicit_task () from /work/build/3rdparty/openmp/runtime/src/libomp.so
#3  0x00007efd8c121c6f in __kmp_reap_thread(kmp_info*, int) () from /work/build/3rdparty/openmp/runtime/src/libomp.so
#4  0x00007efd8c129915 in __kmp_internal_end_library () from /work/build/3rdparty/openmp/runtime/src/libomp.so
#5  0x00007efd93eb3de7 in _dl_fini () at dl-fini.c:235
#6  0x00007efd938f5ff8 in __run_exit_handlers (status=0, listp=0x7efd93c805f8 <__exit_funcs>,
    run_list_atexit=run_list_atexit@entry=true) at exit.c:82
#7  0x00007efd938f6045 in __GI_exit (status=<optimized out>) at exit.c:104
#8  0x000000000060db0f in Py_Exit ()
#9  0x000000000060dbfa in ?? ()
#10 0x000000000060dc66 in PyErr_PrintEx ()
#11 0x000000000060ef29 in PyRun_SimpleFileExFlags ()
#12 0x000000000063fb26 in Py_Main ()
#13 0x00000000004cfeb1 in main ()

If I remove the dependency on libomp.so and just use -fopenmp, the segfault does not occur.

I created a PR https://github.com/apache/incubator-mxnet/pull/12160 to remove the submodule from the build.

How is the issue going now? It seems that the openmp submodule is still there. Maybe, another simple way to resolve is that: in https://github.com/apache/incubator-mxnet/blob/master/CMakeLists.txt#L432, we could first try to find openmp package by find_package provided by the system, if not found, then we build it from the source. openmp is usually installed in a Unix-like system, but maybe not available in Windows?

I think we should give the option to choose the openmp implementation in the CMake file.

Hey, is there any update? I have to remove the 3rparty/openmp to make it work. Also, the latest cmake set OpenMP_FOUND instead of OPENMP_FOUND, so I need to modify mxnet/CMakeLists.txt too.

the openmp_found would be a separate issue. what is the exact issue you’re seeing? does ldd show more than one omp library in your build (ie libomp5, libomp, libgomp)? I’ve heard reports that recent builds are including multiple omp libraries.

recent changes involving mkl have made changes to omp linkages: https://github.com/apache/incubator-mxnet/commit/aa1074dc1704d3732ab205c43d48083ef8c69680#diff-af3b638bc2a3e6c650974192a53c7291

I am unable to get mxnet to build with cmake with CUDA disabled, general cmake build seems to be broken.  Failing mkldnn build.

@cjolivier01 Here is my output:
ldd /usr/lib/libmxnet.so|grep omp
	libomp.so => /usr/lib/libomp.so (0x00007fb5be6e0000)
	libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007fb5be2af000)

mxnet build uses 3rparty/openmp by default. There would be file conflict with the system's package. So I manually delete this folder, and build it successfully with cmake.

@cjolivier01 Could you please be more specific about the failing mkldnn build? We removed iomp5 dependency in the commit but mkldnn should still work with either gomp or the LLVM omp under 3rdparty/openmp.

/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:50:5: error: ‘vsLog2’ was not declared in this scope
     vs##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:50:5: note: in definition of macro ‘MXNET_MKL_UNARY_MATH_FUNC’
     vs##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:50:5: note: suggested alternative: ‘vsLog1p’
     vs##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:50:5: note: in definition of macro ‘MXNET_MKL_UNARY_MATH_FUNC’
     vs##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h: In static member function ‘static void mxnet::op::mkl_func::log2::Vectorize(mxnet::index_t, const double*, double*)’:
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:53:5: error: ‘vdLog2’ was not declared in this scope
     vd##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:53:5: note: in definition of macro ‘MXNET_MKL_UNARY_MATH_FUNC’
     vd##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:53:5: note: suggested alternative: ‘vdLog1p’
     vd##func(static_cast<MKL_INT>(n), src, dst);                                            \
     ^~
/home/coolivie/src/mxnet/src/c_api/../operator/tensor/././../mkl_functions-inl.h:53:5: note: in definition of macro ‘MXNET_MKL_UNARY_MATH_FUNC’
     vd##func(static_cast<MKL_INT>(n), src, dst);

I think removing this in CMakeLists.txt may fix it:
mxnet_option(USE_MKL_IF_AVAILABLE "Use MKL if found" OFF)

I don't get this error when building with Makefile, by the way

Could you please also share your cmake command line?

from mxnet/bld:
cmake -DUSE_CUDA=OFF ..

btw there's a problem with the mkldnn build.  It pulls in libgomp always:
[coolivie@alien-51:~/src/mxnet/bld (master)]ldd libmxnet.so | grep omp
        libomp.so => /usr/lib/x86_64-linux-gnu/libomp.so (0x00007fe8b9076000)
        libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fe8b712f000)

[coolivie@alien-51:~/src/mxnet/bld (master)]ldd /home/coolivie/src/mxnet/bld/3rdparty/mkldnn/src/libmkldnn.so.1
        linux-vdso.so.1 (0x00007ffc267f7000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efe046c9000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efe0432b000)
        libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007efe040fc000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efe03ee4000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efe03af3000)
        /lib64/ld-linux-x86-64.so.2 (0x00007efe059bf000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efe038ef000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efe036d0000)

From CMakeCache:
//CXX compiler libraries for OpenMP parallelization
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread

Could you please also share your cmake command line?

I can get it to build by taking out the USEMKL if found and then explicitly setting MKLDNN to ON

I am guessing if it’s not failing for you it’s because it can’t find MKL anyway. on my system, I suppose it can find it.

Thank you for the investigation, @cjolivier01. We will fix that.

Regrading omp in mkldnn, we removed iomp5 becaused of license issue. We're going to support omp selection through make/cmake command line.

@cjolivier01 According to https://github.com/apache/incubator-mxnet/blob/master/docs/python_docs/python/tutorials/performance/backend/mkldnn/mkldnn_readme.md#enable-mkl-blas, you could use mklml or other blas libs, such as atlas, openblas.

Cannot reproduce the compile errors. Attached the cmake/make log. Could you please help to check? @cjolivier01
cmake_20191104_143513.txt

btw there's a problem with the mkldnn build. It pulls in libgomp always:

@cjolivier01 It seems that even MXNet is not built with MKL-DNN, there are two omp runtimes linked in libmxnet.so.
I build MXNet with:
cmake3 .. -DUSE_CUDA=0 -DUSE_LAPACK=0 -DUSE_MKL_IF_AVAILABLE=0 -DUSE_MKLDNN=0

And the ldd prints:
[lvtao@Mlt2-clx101 build]$ ldd libmxnet.so | grep omp
        libomp.so => /home/lvtao/Workspace/mxnet-official/build/3rdparty/openmp/runtime/src/libomp.so (0x00007f12e5d5d000)
        libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f12e510e000)

Hi @cjolivier01, may I have your update?

Busy at my day job haven’t had time to mess with it yet. I don’t think static linking is blocked by this since the behavior would probably be the same.

Yes, static linking is not blocked - in fact it was merged just now. I'm pinging just because #16805 is also asking for that. :)

I no longer see it linking gomp with statis mkl:
[chriso@chriso-hades:~/src/mxnet (chriso/gomp)]ldd ./cmake-build-debug/libmxnet.so | grep omp
        libomp.so => /home/chriso/src/mxnet/cmake-build-debug/3rdparty/openmp/runtime/src/libomp.so (0x00007f0ed791b000)
[chriso@chriso-hades:~/src/mxnet (chriso/gomp)]

Will try without mkl...

I no longer see gomp linked without mkl:
[chriso@chriso-hades:~/src/mxnet (chriso/gomp)]ldd ./cmake-build-debug/libmxnet.so | grep omp
        libomp.so => /home/chriso/src/mxnet/cmake-build-debug/3rdparty/openmp/runtime/src/libomp.so (0x00007fd52a1af000)
[chriso@chriso-hades:~/src/mxnet (chriso/gomp)]

@cjolivier01 Could you please share the build command line for each?
@matteosal For your information.

same as before.

It has been discussed again and again, the best solution is to remove additional openmp libraries which break things when mixed up. Use the platform OpenMP implementation, remove the 3dparty one. It causes all kinds of issues:
https://github.com/apache/incubator-mxnet/issues/15690
There's all kinds of bugs that are related to openmp, thankfully we are releasing without this 3rdparty library being compiled in since they wheels are built with Make instead of CMake, so having diverging builds on different build systems is a terrible idea.
please fix this instead of spinning around this issue which is known for more than a year.

Your opinion is noted again.

I don’t see any indication that it’s related to that issue, which is the case for most of the accusations — “any problem? blame OMP library”. there’s literally been not a single thing traced to a bug in openmp or some other problem with the library. they all turn out to be other bugs or are completely unrelated. Default mxnet build with Makefile used libomp5 (via mkl libraries) for years without incident.

In accordance with the ppmc decision, I have cleaned up this conversation.

@cjolivier01 Hi, I also encounter this issue:(
[chenxiny@mlt2-clx093 build]$ ldd libmxnet.so  | grep omp
	libomp.so => /home/chenxiny/incubator-mxnet/build/3rdparty/openmp/runtime/src/libomp.so (0x00007f2f22f21000)
	libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f2f222d2000)
	libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f2f1b34a000)

[chenxiny@mlt2-clx093 build]$ cat CMakeCache.txt | grep gomp
//Install libgomp and libiomp5 library aliases for backwards compatibility
// with libgomp.
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
OpenMP_C_LIB_NAMES:STRING=gomp;pthread
//Path to the gomp library for OpenMP
OpenMP_gomp_LIBRARY:FILEPATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
//ADVANCED property for variable: OpenMP_gomp_LIBRARY
OpenMP_gomp_LIBRARY-ADVANCED:INTERNAL=1

what version of gcc?
On Tue, Nov 19, 2019 at 1:29 AM Xinyu Chen<EMAIL_ADDRESS>wrote:

@cjolivier01 https://github.com/cjolivier01 Hi, I also encounter this
issue:(
[chenxiny@mlt2-clx093 build]$ ldd libmxnet.so  | grep omp
libomp.so => /home/chenxiny/incubator-mxnet/build/3rdparty/openmp/runtime/src/libomp.so (0x00007f2f22f21000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f2f222d2000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f2f1b34a000)
[chenxiny@mlt2-clx093 build]$ cat CMakeCache.txt | grep gomp
//Install libgomp and libiomp5 library aliases for backwards compatibility
// with libgomp.
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
OpenMP_C_LIB_NAMES:STRING=gomp;pthread
//Path to the gomp library for OpenMP
OpenMP_gomp_LIBRARY:FILEPATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
//ADVANCED property for variable: OpenMP_gomp_LIBRARY
OpenMP_gomp_LIBRARY-ADVANCED:INTERNAL=1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-mxnet/issues/11417?email_source=notifications&email_token=ACVWZ7J5EJCK7AVSAA6VLNTQUOWXTA5CNFSM4FHFGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEENO4CQ#issuecomment-555413002,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVWZ7NY3P77ZXLK3VVL2XLQUOWXTANCNFSM4FHFGROQ
.

oh ok 4.8.5
On Tue, Nov 19, 2019 at 8:09 AM Chris Olivier<EMAIL_ADDRESS>wrote:

what version of gcc?
On Tue, Nov 19, 2019 at 1:29 AM Xinyu Chen<EMAIL_ADDRESS>wrote:

@cjolivier01 https://github.com/cjolivier01 Hi, I also encounter this
issue:(
[chenxiny@mlt2-clx093 build]$ ldd libmxnet.so  | grep omp
libomp.so => /home/chenxiny/incubator-mxnet/build/3rdparty/openmp/runtime/src/libomp.so (0x00007f2f22f21000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f2f222d2000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f2f1b34a000)
[chenxiny@mlt2-clx093 build]$ cat CMakeCache.txt | grep gomp
//Install libgomp and libiomp5 library aliases for backwards compatibility
// with libgomp.
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
OpenMP_C_LIB_NAMES:STRING=gomp;pthread
//Path to the gomp library for OpenMP
OpenMP_gomp_LIBRARY:FILEPATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
//ADVANCED property for variable: OpenMP_gomp_LIBRARY
OpenMP_gomp_LIBRARY-ADVANCED:INTERNAL=1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-mxnet/issues/11417?email_source=notifications&email_token=ACVWZ7J5EJCK7AVSAA6VLNTQUOWXTA5CNFSM4FHFGRO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEENO4CQ#issuecomment-555413002,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACVWZ7NY3P77ZXLK3VVL2XLQUOWXTANCNFSM4FHFGROQ
.

@cjolivier01 Hi, I also encounter this issue:(
[chenxiny@mlt2-clx093 build]$ ldd libmxnet.so  | grep omp
	libomp.so => /home/chenxiny/incubator-mxnet/build/3rdparty/openmp/runtime/src/libomp.so (0x00007f2f22f21000)
	libgomp.so.1 => /lib64/libgomp.so.1 (0x00007f2f222d2000)
	libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f2f1b34a000)

[chenxiny@mlt2-clx093 build]$ cat CMakeCache.txt | grep gomp
//Install libgomp and libiomp5 library aliases for backwards compatibility
// with libgomp.
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
OpenMP_C_LIB_NAMES:STRING=gomp;pthread
//Path to the gomp library for OpenMP
OpenMP_gomp_LIBRARY:FILEPATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_C:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
FIND_PACKAGE_MESSAGE_DETAILS_OpenMP_CXX:INTERNAL=[-fopenmp][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][/usr/lib/gcc/x86_64-redhat-linux/4.8.5/libgomp.so][/usr/lib64/libpthread.so][v3.1()]
//ADVANCED property for variable: OpenMP_gomp_LIBRARY
OpenMP_gomp_LIBRARY-ADVANCED:INTERNAL=1

What version of cmake?

cmake2, i'll check cmake3 later:)

cmake2, i'll check cmake3 later:)

what’s actual version? i’ll build on my machine

(base) [chenxiny@mlt2-clx093 ~]$ cmake --version
cmake version <IP_ADDRESS>

@cjolivier01 typo, i actually use yao's command line in this issue:
cmake3 .. -DUSE_CUDA=0 -DUSE_LAPACK=0 -DUSE_MKL_IF_AVAILABLE=0 -DUSE_MKLDNN=0

(base) [chenxiny@mlt2-clx093 build]$ cmake3 --version
cmake3 version 3.13.1

I always see this junk in there as well, but doesn't necesarily mean it'll llnk it:
OpenMP_CXX_LIB_NAMES:STRING=gomp;pthread
OpenMP_C_LIB_NAMES:STRING=gomp;pthread

btw:
[chriso@chriso-dev:/opt/python3.6b]ldd ./lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so | grep omp
        libiomp5.so => /opt/mkl-dnn-0.19/lib64/libiomp5.so (0x00007f418cbe6000)
        libgomp.so.1 => /opt/gcc-6.3.0/lib64/libgomp.so.1 (0x00007f418488d000)

Actually, i don't know what this issue is about. There's no actual report of a problem in the description.

Closing due to it not being an issue.  Also, those other tickets have been fixed.


Functionality of "validate copy runtime" button

Can the purpose of this button please be described? If it's described elsewhere in the documentation, can you point us to the corresponding page?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b8f48c7b-2f52-6fe0-9ea6-358380e0c815
Version Independent ID: 7f448f1e-8d3d-fb5c-6f68-837e46e7b176
Content: Copy and transform data in Azure Synapse Analytics - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/connector-azure-sql-data-warehouse.md
Service: data-factory
Sub-service: data-movement
GitHub Login: @jianleishen
Microsoft Alias: jianleishen

Thank you for your feedback. This has been assigned to the content owner, @jianleishen , and will be updated as appropriate.

@MartinJaffer-MSFT Following up. Is it possible to get a response to this one please?

Hi @VitalyMCT.  Thanks for your question.  I looked into this and confirmed the Validate button checks the configuration of the pipeline itself is valid, but without validating underlying runtime(s) the pipeline might use for its various activities.  The Validate copy runtime button, on the other hand, checks that the runtime environment used for the selected Copy activity specifically is valid/working.
#please-close


Unreadable module directory

This little snippet from the TF registry, with the latest version will fail
% cat main.tf
module "eks-blueprints-teams_example_complete" {
  source  = "aws-ia/eks-blueprints-teams/aws//examples/complete"
  version = "1.1.0"
}

Error:
Initializing the backend...
Initializing modules...
Downloading registry.terraform.io/aws-ia/eks-blueprints-teams/aws 1.1.0 for eks-blueprints-teams_example_complete...
- eks-blueprints-teams_example_complete in .terraform/modules/eks-blueprints-teams_example_complete/examples/complete
╷
│ Error: Unreadable module directory
│
│ The directory .terraform/modules/eks-blueprints-teams_example_complete/examples/complete could not be read. This is a bug in
│ Terraform and should be reported.

@vstthomas where do you see that snippet?
This is the snippet on the registry page which should work...
module "eks-blueprints-teams" {
  source  = "aws-ia/eks-blueprints-teams/aws"
  version = "1.1.0"
}

I found that on the TF registry, as previously stated. Hi the drop-down, select "complete" and copy the "Provision Instructions" block.

I will try it without the "complete" example. But, the complete example should work. Please fix that while I test the suggested one.

I think thats a Terraform registry bug - we don't control the registry, we simply publish modules to it. Also, examples are not modules and not meant to be consumed the same fashion as a module

sorry, it hadn't occurred to me that bug would still be lingering 😬


Fix validate_openai_tool_schema

Description is optional in function call. So it makes sense to remove it from the validation.

One thing I'm not quite sure about: while we can indeed remove the check for the description from validate_openai_tool_schema, it seems to me that the description check is more like a control over the quality of the schema. For example, the function description has a significant impact on the accuracy of tool usage. So should we keep the description check (e.g., by outputting a warning if no description was found)?

That sounds good to me! Thanks @Wendong-Fan!


[BUG] cypress-diff crashes cypress

Thank you soo much for this wonderful project. This should be included in cypress, because it is soo nice!
When implementing this, im getting the following error:

Click to expand

from package.json:
"cypress": "12.17.0"
"cypress-diff": "^0.0.5",
"cypress-fs": "^0.2.4",
"cypress-iframe": "^1.0.1",

node versions tested:
18 & 20

tested on both: chrome & electron:

Any help would be appreciated <3
Thx
Blade (aka YeonV)

Hey @YeonV ,
Thank you! It seems like a preprocessor issue. Do you use any? Would you mind sharing your config file and e2e.js? Moreover, please create a minimal reproducible example/repo.

@elaichenkov Thank you soo much for answering me,
of course i can provide anything you need.
config:
import { defineConfig } from 'cypress'
import yzfs from './node_modules/cypress-fs/plugins/index.js'

export default defineConfig({
    viewportWidth: 1000,
    viewportHeight: 2000,
    projectId: 'XXXXXX',
    video: false,

    e2e: {
        chromeWebSecurity: false,
        testIsolation: false,
        setupNodeEvents(on, config) {
            // implement node event listeners here
            (yzfs as any)(on, config)
        }
    },
    component: {
        devServer: {
            framework: 'next',
            bundler: 'webpack'
        }
    }
})

e2e.ts:
// ***********************************************************
// This example support/e2e.ts is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************

// Import commands.js using ES2015 syntax:
import './commands'

// Alternatively you can use CommonJS syntax:
// require('./commands')

import 'cypress-fs'
import 'cypress-diff'

sadly i cannot create a minimal reproduction example that fast, but i will provide as soon as possible.
(just thought, maybe those 2 files can already help a bit)

No problem. It's really awesome that it works now.


Not Synced

Missing Full node connection.

https://github.com/denisio/seno-blockchain/releases/download/1.1.7/SenoSetup-1.1.835.exe

downloaded


Loki occasionally goes into error state on removal

Bug Description
When destroying the model, loki occasionally goes into error state.
ops.pebble.ChangeError: cannot perform the following tasks:
- Start service "loki" (cannot start service while terminating)

To Reproduce

deploy cos-lite bundle
juju destroy-model --destroy-storage

Environment
Model  Controller  Cloud/Region        Version  SLA          Timestamp       Notes
m7     chdv2934    microk8s/localhost  2.9.34   unsupported  17:36:45-05:00  attempt 13 to destroy model failed (will retry):  model not empty, found 6 applications (model not empty)

App           Version  Status   Scale  Charm             Channel  Rev  Address         Exposed  Message
alertmanager           unknown    0/1  alertmanager-k8s  edge      37  <IP_ADDRESS>   no
catalogue              active     0/1  catalogue-k8s     edge       4  <IP_ADDRESS>  no
grafana       9.2.1    active       1  grafana-k8s                  0  <IP_ADDRESS>  no
loki                   unknown    0/1  loki-k8s          edge      47  <IP_ADDRESS>  no
prometheus             unknown    0/1  prometheus-k8s               0  <IP_ADDRESS>  no
traefik                unknown    0/1  traefik-k8s       edge      93  <IP_ADDRESS>    no

Relevant log output
unit-loki-0: 17:33:51.740 DEBUG unit.loki/0.juju-log alertmanager:11: No alertmanagers available
unit-loki-0: 17:33:51.789 INFO unit.loki/0.juju-log alertmanager:11: Pushed new configuration
unit-loki-0: 17:33:51.982 ERROR unit.loki/0.juju-log alertmanager:11: Uncaught exception while in charm code:
Traceback (most recent call last):
  File "./src/charm.py", line 500, in <module>
    main(LokiOperatorCharm, use_juju_for_storage=True)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/main.py", line 438, in main
    _emit_charm_event(charm, dispatcher.event_name)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/main.py", line 150, in _emit_charm_event
    event_to_emit.emit(*args, **kwargs)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 355, in emit
    framework._emit(event)  # noqa
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 856, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 931, in _reemit
    custom_handler(event)
  File "/var/lib/juju/agents/unit-loki-0/charm/lib/charms/alertmanager_k8s/v0/alertmanager_dispatch.py", line 187, in _on_relation_departed
    self.on.cluster_changed.emit()
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 355, in emit
    framework._emit(event)  # noqa
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 856, in _emit
    self._reemit(event_path)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/framework.py", line 931, in _reemit
    custom_handler(event)
  File "./src/charm.py", line 157, in _on_alertmanager_change
    self._configure()
  File "./src/charm.py", line 269, in _configure
    self._container.restart(self._name)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/model.py", line 1456, in restart
    self._pebble.restart_services(service_names)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/pebble.py", line 1699, in restart_services
    return self._services_action('restart', services, timeout, delay)
  File "/var/lib/juju/agents/unit-loki-0/charm/venv/ops/pebble.py", line 1721, in _services_action
    raise ChangeError(change.err, change)
ops.pebble.ChangeError: cannot perform the following tasks:
- Start service "loki" (cannot start service while terminating)
----- Logs from task 0 -----
2022-11-22T22:33:51Z INFO Service "loki" already stopping.
----- Logs from task 1 -----
2022-11-22T22:33:51Z ERROR cannot start service while terminating
-----
unit-loki-0: 17:33:52.223 ERROR juju.worker.uniter.operation hook "alertmanager-relation-departed" (via hook dispatching script: dispatch) failed: exit status 1

Additional context
No response

can_connect should be sufficient (rather than the not-so-pretty except ChangeError).

@sed-i I was not able to reproduce this issue in a Multipass VM with 3vCPU and 6Gb RAM running juju 2.9.37
Anyway, reading the stack trace and the code, seems like can_connect is not sufficient:

Besides the error says:
ops.pebble.ChangeError: cannot perform the following tasks:
- Start service "loki" (cannot start service while terminating)
----- Logs from task 0 -----
2022-11-22T22:33:51Z INFO Service "loki" already stopping.
----- Logs from task 1 -----
2022-11-22T22:33:51Z ERROR cannot start service while terminating

Loki service is terminating (because we are destroying the model) and we are trying to restart it...

Yep, seems like an artefact of the common exit hook. except ChangeError and blocked status then?

Hello @benhoyt
Sometimes while destroying the model in which loki and other related charms are running we get an:
ops.pebble.ChangeError: cannot perform the following tasks:
- Start service "loki" (cannot start service while terminating)

As far as I understand this is because juju destroy-model fires a lot of events, for instance: *-relation-departed. In our code we observe these events to re-generate loki config and restart the service.
But since loki is being destroyed in that specific moment we get the ChangeError.
Despite of the fact we can solve this in our side by running the self._container.restart(self._name) inside a try...except ChangeError: the code would end up in something no so expressive.
ChangeError is "raised by actions when a change is ready but has an error.".
Is this true in this situation? I mean, is the restart ready?
That's why we were wondering if there is a better way to address this kind of situations. We are using a if not self._container.can_connect(): guard, but it is useless in this situation since we actually can connect to the container that is being destroyed.
Please let us know your thoughts! :-)

A "change" has a very specific meaning in Pebble. It's a record of a user-initiated action, and has 1 or more sub-tasks that perform the actual work (probably only 1 in this case). For a change to be "ready" simply means that it's finished -- but it may be finished in an error state, hence pebble.py raising the ChangeError.
So I think if you want to gracefully handle the model being destroyed, catching the ChangeError sounds like the right thing to do here.


front-matter options

Everyone loves options. Not only TOML. JSON. YAML.

I close the issue due to inactivity


Build Fail

Hello, apologies for not building this on Linux but I currently don't have a proper setup for it. However when building in Windows, and after setting it up in CMake with SFML installed, I cannot build it fully in vs19. It says the "ALL_BUILD" folder does not exist and when trying to just run the application it crashes immediately. After debugging it, I come up with the error code 0xc0000005 which is an access violation even when ran as admin. I cant tell if it just isn't building the full game or if the directory might be messed up. If it were the former I would assume its known already but I just wanted to play around with some ants.

If you need and files just let me know but other than the error code and the pop up that "ALL_BUILD" does not exist there isn't much else.

I get the same pop up. did you know how to solve it?

Hello,
This is because the ALL_BUILD target is not runnable, you have to set AntsSimulator as the startup project in the solution explorer

في ثلاثاء، ٩ نوفمبر، ٢٠٢١ في ٣:٠٩ م، كتب Jean Tampon <
@.***>:

Thank you very much. It worked. Keep up the good work. It is inspiring.

You are receiving this because you commented.

Reply to this email directly, view it on GitHub
https://github.com/johnBuffer/AntSimulator/issues/42#issuecomment-964092866,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWNBRWXQ6KRCZL7JI4TAHZDULEFPNANCNFSM5FIZYZOA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Perfect, I close this :)


Station Spawing and Temporary Map Tweaks

Description
Task: Station Spawning and Functionality clean up
Feature: #276
Work on creating and spawning stations necessary for other functionality and basic gameplay. Throughout this process troubleshoot backend component processing bugs.
Milestones
List of steps that need to be completed for this task.

[ ] Initial Overview and Basic Recipe Interaction (Sept. 17th)
[ ] Backend Component Fixing (Sept. 24th)
[ ] Functions to create all necessary stations with placeholder components where necessary (Sept. 28th)
[ ] Implementation of final station spawning capabilities (Sept. 30th)
[ ] Wiki documentation (Oct 1st)
[ ] Testing updates to match updated components (Oct. 2nd)

Completion Deadline: Oct. 2nd)
Documentation

Main description of feature
JavaDoc
...

Member

Name (GitHub Username) (Slack Handle)
e.g. Richard (@AppleByter) (Richard Thomas)

Unintended close


Admin Generator (Future): Allow setting sortBy in column config

PR Checklist

[ ] Merge parent PR https://github.com/vivid-planet/comet/pull/2512
[x] Verify if the change requires a changeset. See CONTRIBUTING.md
[x] Link to the respective task if one exists: SVK-239

Shouldn't this option be only available for combination columns?

imho it can be for all columns

I could override sortBy for a price column to "title", then the sort buttons of the price column would work very unexpected

If I configure it unexpected, I expect unexpected things to happen :)
...you seem to have a strong opinion here, I don't.

...you seem to have a strong opinion here, I don't.

IMO the generator config should in the best case prevent unexpected/illogical configurations. But if it's not easily possible, I'm fine with allowing it everywhere. However, it's odd that @jamesricky has to handle cases where this never makes any sense, for instance actionsColumnSortBy. 🤷🏼♂

Shouldn't this option be only available for combination columns?

I agree, doesn't make sense for any other columns, especially "actions", I'll change that 👍🏼

Shouldn't this option be only available for combination columns?

Done in 206e645f7b3ff17a90f2c4eeba1e7dce5e7071fd

@jamesricky please rebase (dependent PR)


fs.readFileSync is not a function

I'm using webpack along with react-canvas and the most recent changes have broken my build.  Has anyone been able to build?

Not sure if this is related, but I had to fix this by adding this to my config:
{
              test: /\.js$/,
              include: /linebreak/,
              loader: "transform?brfs"
}

Relates to https://github.com/Flipboard/react-canvas/blob/master/webpack.config.js#L22 and #114


Explore and suggest charting libraries.

This issue is related to finding and suggesting an appropriate charting library. Following a good discussion on the merits and demerits of various charting libraries, we can consider their usage. I guess it would be awesome if the charting library could make the following graphs(These are taken from the search notebook in aima-python):

Xchart and Jfreechart are a simple effective charting library.

By exploration, I meant that we should try out the libraries by making some small demos and comparing amongst them.

@samagra14 can i will present a demo for a problem ?.


[BUG] Fix CI using team3 labels

See title.

I will manually relabel all the existing issues for us though.


Problem Drawing Quads

I am trying to draw quads, but the following code fails:
Draw_Elements (GL.Types.Quads, GL.Types.Size (Vertex_Data.Num_Elements), UInt_Type);
with "raised GL.ERRORS.INTERNAL_ERROR : gl-raise_exception_on_opengl_error.adb:30"
It runs without error when Quads is replaced with Points, Lines, Line_Loop, Line_Strip, Triangles, Triangle_Strip, Triangle_Fan, Lines_Adjacency, Line_Strip_Adjacency, Triangles_Adjacency or Triangle_Strip_Adjacency.
It also fails with Quad_Strip,  Polygon and Patches.
Please advise what additional information is required or if I need to provide a minimal program.
The complete development code is in my wave_example branch.

I'm now wondering if the problem occurs because Quads apparently are deprecated?
In which case I should replace them with pairs of triangles?

OK now.
Quads and others are deprecated, so I'll use triangles.


Where can i find more info on the client.say method?

Hey evreyone, i'm using this gem for a personal project, nothing too fancy.
I'm stuck trying to get the bot send a message to the general channel when a "broadcast" command is invoked. This is my code snippet:
class Broadcast < SlackRubyBot::Commands::Base
  def self.call(client, data, _match)
    subs = Subscription.all()
    subs.each do |sub|
      client.say(channel: "#general", text<EMAIL_ADDRESS>    end
  end
end

But this doesn't seem to work. On the other hand if i simply put the channel id, it works like a charm. Any clues on what I'm doing wrong? Also, what other methods do i have access to with client? I didn't find anything in the readme.

The say method is implemented here and is a wrapper on message which itself calls send_json which itself calls send_data to the slack connected real-time socket.
What you're looking for is slack RTM docs on sending message, which explains the requirements for doing so.
Other methods are documented in RTM parts of slack-ruby-client.
I would greatly appreciate any README contributions that do a good job at linking/explaining this!

Sorry it took me a while to get back to you. I looked at the implementation of the say method prior to making this issue but didnt find the message method, so thank you very much on that clarification.
Just a follow up question, my app was actually created through the steps of the slack-ruby-server gem, because I didn't want to have a legacy app. However if i got you right i'm still using the "old" RTM API with the say method, right?

Just a follow up question, my app was actually created through the steps of the slack-ruby-server gem, because I didn't want to have a legacy app. However if i got you right i'm still using the "old" RTM API with the say method, right?

yes

Hey its been a while. I've started writing something for the readme on my forked repo, and I've taken the liberty to create an index and i was wondering if that's okay or if its outside of the scope of what you're looking for.
Also, this issue made me delve deeper into the code of the gem trying to figure out whats going on. I noticed that SlackRubyBot's client inherits from Slack::Realtime::Client so we have access to some parts of the API namely message, message_id, ping, and typing which is fine. However Slack::Realtime::Client has an attribute named web_client which is basically an instance of Slack::Web::Client  which in turn grants me access to the API::Endpoints. Therefore i can change the above snippet to the following to achieve my desired result:
class Broadcast < SlackRubyBot::Commands::Base
  def self.call(client, data, _match)
    channels = client.web_client.channels_list
    # parse the response and get the 'general' ch id
    subs = Subscription.all()
    subs.each do |sub|
      client.say(channel: general_channel_id, text<EMAIL_ADDRESS>    end
  end
end

Is this intentional? Am i supposed to use the web_client attribute?

Hey its been a while. I've started writing something for the readme on my forked repo, and I've taken the liberty to create an index and i was wondering if that's okay or if its outside of the scope of what you're looking for.

You mean a TOC? You should add https://github.com/dblock/danger-toc and it will auto-generate and enforce one for you.

Also, this issue made me delve deeper into the code of the gem trying to figure out whats going on. I noticed that SlackRubyBot's client inherits from Slack::Realtime::Client so we have access to some parts of the API namely message, message_id, ping, and typing which is fine. However Slack::Realtime::Client has an attribute named web_client which is basically an instance of Slack::Web::Client which in turn grants me access to the API::Endpoints. Therefore i can change the above snippet to the following to achieve my desired result:
class Broadcast < SlackRubyBot::Commands::Base
  def self.call(client, data, _match)
    channels = client.web_client.channels_list
    # parse the response and get the 'general' ch id
    subs = Subscription.all()
    subs.each do |sub|
      client.say(channel: general_channel_id, text<EMAIL_ADDRESS>    end
  end
end

Is this intentional? Am i supposed to use the web_client attribute?

This is intentional. We hold the token that lets you call the Web API, so .web_client makes it easy. However, unlike say, which sends the data over an already open websocket, the web client opens a new connection every time (this is addressed in https://github.com/slack-ruby/slack-ruby-client/pull/322), which is significantly slower.

One more note, channels_list is a paginated API and in the example above you only get page 1 that might not contain #general. If you do paginate, depending on how many channels you have this is very slow.
The web API web_client.chat_postMessage supports '#general' AFAIK, so I would rewrite the code above to do web_client.chat_postMessage(channel: '#general', ...) and I think that's that.

You mean a TOC? You should add https://github.com/dblock/danger-toc and it will auto-generate and enforce one for you.

Yes! That's exactly what i meant.
Thank you so much, everything is clearer now :)


Adds missing calls for OPTIONS screen

@raysan5 This fixes some missing calls in the template, there are some places where the functions for the options screen are called but not all

@HarryDC Thanks! Afair, the OPTIONS screen was not used but depending on the wildcards, it can be compiled and so required.


✨ feat(Layouts): Added Basic BNB Bestiary and BnB Familiar Layouts

This adds the Bunkers and Badasses Bestiary and Familiar Layouts and CSS.
I am showing on my end there might be something off about the .ts files, but in dev I could not formulate any differences in expression of action. A check on this would be nice before submission.
This also includes some slight fixes to the readme documentation for layouts.

Sorry, I totally forgot about this, will review tonight or tomorrow.


Need CI option in ssl-opt.sh and combat.sh

Description

Type: Enhancement\Feature Request
Priority: Minor

Bug
OS
linux|windows|
mbed TLS build:
Version: 2.13.1
Description
The scripts ssl-opt.sh and compat.sh automatically detect the CI machines by user, as you can see here. This should be controlled by a command line parameter, not by detecting the machine the script is running on. Then the CI can be configured to pass that parameter.

ARM Internal Ref: IOTSSL-2632

I think this was fixed in the meantime by https://github.com/ARMmbed/mbedtls/pull/1535, so I'm closing this issue. @sbutcher-arm Please re-open if you disagree.


##[error]The property 'Name' cannot be found on this object. Verify that the property exists.

Hello,
I am trying to use the Validate ADF task and getting the following erro
##[error]The property 'Name' cannot be found on this object. Verify that the property exists.
I cannot proceed further and checked all possible options. I am new to ADF pipeline and so any assistance is helpful

As you can see in the log - there are NO files in a given location D:\a\1\s\AzureDataFactory.

Thanks for the quick response. My folders are at the root level of repo..

I tried using the actual repo name and also tried the system.defaultworkingdirectory like below

If i try the 3 dots and try to navigate, I can select the folders under the repo. Does that mean the entire ADF file need to be under a folder? Thanks in advance for the help

Yes, it always easier if ADF has separate folder.
In your case AzureDataFactory IS NOT a folder - it's a name of repo. Try to remove it from path or create such folder in repo.


config: Make 'process.args' optional

Since #384, it's possible for a container process to never execute user-specified code (e.g. you can call create, kill, delete without calling start).  For folks who expect to do that, theres no reason to define process.args`.
The main point of #489 without the surrounding cleanup, since most of the cleanup has since landed via:

The one-sentence-per-line fixes in #443.
The line calling out process as required from #525.

There was some negative review of this change in #489, although @mrunalp acknowledged support for the “never calling start” workflow.  If there is a maintainer consensus around that workflow being supported, requiring process.args in all cases seems like needless hoop-jumping.  I'm fine with validation tooling warning users “you might have forgotten to put something meaningful in process.args, so start calls will fail”.  But I'd rather not have this spec require dummy process.args from folks who will never call start.

Well, I think if

If process.args was not configured, the runtime MUST generate an error.
Then it should make more sense to keep it REQUIRED.

although @mrunalp acknowledged support for the “never calling start” workflow.
If the user code will never be started, you can specify anything in args such as 'args: ["dummyCode"]', I don't see any benefits from removing the required args field from spec. On the other hand, we should detect missing args and report error earlier to user.

so -1 on this.

On Mon, Nov 14, 2016 at 01:09:22AM -0800, zhangwei_cs wrote:

although @mrunalp acknowledged support for the “never calling
start” workflow.

If the user code will never be started, you can specify anything in
args such as 'args: ["dummyCode"]'…

That's not legal, because we currently require the executable to exist
1.  If you have an empty rootfs, you'd have to use "/" 2.

On the other hand, we should detect missing args and report error
earlier to user.

I'm fine having validation tooling that warns (or errors, as long as
it's not the compliance-testing invocation) on missing process.args.
I just don't see a point to requiring:
{"process": {"args": ["/"], …}, …}
for folks who will never call ‘start’.

Looks good to me.

@opencontainers/runtime-spec-maintainers PTAL

If we want to be pedantic basically all of the process is not needed if you don't specify args or do start.

If we want to be pedantic basically all of the process is not needed if you don't specify args or do start.

But there are affects to not specifying process even if you do not call start.  For example, process.user has no default so it's unclear what user the runtime's pre-start container process would be running as.  I'm fine defining a default user to cover that case, but there has been resistance to that in the past.
However the process.user discussion works out, making process.args optional seems like a non-controversial first step.

Overall, if we want to do this, I would just make process optional and be done with it.  The init is always launched as root or whatever the userns mapping is and we don't change.  It would be a fully privileged process in the container however and there is not a good way around that as we need to retain the caps for the finalizing step of the container.
Its not really a use case that we want to support but it can be done for advanced users that want to fire off many execs without fully creating a container and it up to the runtime and implementer to secure things, we cannot guarantee anything.
What do the other maintainers think?

After a brief chat with maintainers in IRC, we are going to close this specific modification.  Just having args as optional makes no sense at all.  Either the entire process section should be optional for what you want to do or it should be left as is but this change is not ideal for any usecase.


The saving message is not displayed.

The save message is not displayed when user wrote the notes in macOS 14

Fixed it -> https://github.com/3colorr/Mizuame/commit/7ca26481b571fe435daad1026f7b2a933bb0dfd2


Support Gitmojis on Deployments screen

On the Deployment screen it would be awesome to support gitmojis. This is a minor suggestion but would line up with github support

Hmm, how can we support this? Is there a good react lib?

I think this might work https://www.npmjs.com/package/react-emoji but I can validate it