Error if no test files were specified

Previous behaviour is to report a success:
# tests = 0/0 pass
# asserts = 0/0 pass
# time = 3.067152ms

# ok

Behaviour of this PR is to log
Error: No test files were specified

and to exit with 1 status code

Maybe this would be better if any of the files doesn't exist. Otherwise it can lead to you thinking something has been tested
$ brittle file1.js misspelled_filename.js

In this case you might think that all tests has run, but because one of them was misspelled (i.e. doesn't exist) it would run just because file1.js had some test cases in it.

Yeah, but that's assuming people don't get creative with globs. That would be much more aggressive in what it prohibits, although the benefit is that it fails more obviously.
The question is whether we want to fail on something like brittle test/*test.js test/*test.mjs* if test/*test.mjs matches nothing
I'm fine with either approach, but went with the most conservative one because there's 0 controversion there

Personally, I think it's better to be a little annoying (i.e., force a lesser glob) than a test tool that can cause bugs because the user thought something was tested.

Yeah, I agree, but not sure what dmc or mafintosh think. I can update the PR if they agree, it's a trivial change.
Being stricter can always be added in a follow-up PR too, this PR already handles 90% of current non-obvious failures

@HDegroote @freeall let's do both

no files -> exit 1
check that all files exist before starting the run, exit 1 if any file does not exist

Updated following offline discussion. The behaviour is now:

Error if no tests files were specified
Error if any of the specified files does not exist
Error if any of the specified globs does not yield any files

For example
brittle # Print error, exit with 1 status, because no test files were specified
brittle nothingHere.js # Print error, exit with 1 status, because nothingHere.js does not exist
brittle actualtest.js nothingHere.js # Print error, exit with 1 status, because nothingHere.js does not exist
brittle actualTest.js noJsFilesHere/*.js # Print error, exit with 1 status, because the glob does not resolve to any files
brittle actualTest.js otherTestsHere/*.js # Normal run

Note: this could break existing pipelines, if they're relying on globs that might not resolve to any files as a feature rather than a bug

@HDegroote super unlikely at this point, lgtm


Fix logo alignment

Before:

After
Desktop:

Mobile:

Before:
After
Desktop:
Mobile:

The_Forrester_Wave_____DDoS_Mitigation_Solutions__Q1_2021__9_.pdf


matches filter doesn't work when using match deep traversal

OrientDB Version: 2.2.23
(using yet this version because of https://github.com/orientechnologies/spring-data-orientdb/issues/82#issuecomment-440965157 not yet answered and I cannot find a way to complete my porting to more recent versions)
Java Version: 1.8.0_171
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11,
mixed mode)
OS: Windows 10 Home
Expected behavior
I have a database from which I can get this (correct) result :

SQL: match {class:Knowledge, as:knowledge, where: (name like '%Napoleone%')}.out('ISA'){class:Knowledge, as:isa, where: (purePOS = 'RD APs noun')} return knowledge, isa
But this one doesn't (just changed the '=' in the where clause  with 'matches' - this is not my real match, but it's simpler to show the difference in behaviour, matching the same string as when using the '=' operator):

SQL: match {class:Knowledge, as:knowledge, where: (name like '%Napoleone%')}.out('ISA'){class:Knowledge, as:isa, where: (purePOS matches 'RD APs noun')} return knowledge, isa
There is no error in the log.
And the matches clause is not wrong (just matching at the first level, to see if the sintax was uncorrect - but it isn't)

SQL: match {class:Knowledge, as:knowledge, where: (purePOS matches 'RD APs noun')} return knowledge
The expected behaviour was that the same match with '=' and 'matches' in the same match subquery, in the conditions shown above, returned the same result.
Actual behavior
The matches clause seems not to work in a deep (well, 1 level...) traversal match clause, while it works in the first level.
Steps to reproduce
See above

You can reproduce it with this very simple sequence:
create class Prova extends V
create vertex Prova set  id=1
create vertex Prova set  id=2, purePOS='RD APs noun'
create class ISA extends E
create edge ISA from (select from Prova where id=1) to (select from Prova where id=2)
The following works:
match {class:Prova, as:knowledge, where: (id=1)}.out('ISA'){class:Prova, as:isa, where: (purePOS = 'RD APs noun')} return knowledge, isa
The following doesn't work:
match {class:Prova, as:knowledge, where: (id=1)}.out('ISA'){class:Prova, as:isa, where: (purePOS matches 'RD APs noun')} return knowledge, isa
But the following works:
match {class:Prova, as:knowledge, where: (purePOS matches 'RD APs noun')} return knowledge

Hi @adepase
Thank you for reporting.
I'm testing it and I managed to reproduce a different problem in v 3.0, that I'm fixing now.
Then I'll check v 2.2.
In general, if you have a chance, I strongly suggest you to consider migrating to v 3.0, you will have a lot of advantages in terms of stability
Thanks
Luigi

Hi @adepase
I pushed a fix for the problem in v 3.0, now it works fine.
Checking v 2.2 now
Thanks
Luigi

Waiting for your check.
I really would like to migrate to v 3.0, I already tried it at the very first date of GA release. But I could not succeed, until now, since I cannot find a repository to download spring-boot-orientdb-autoconfigure for version 3.X with Gradle (as already stated at the beginning of this thread, with a cross-link in the version part). I know that was another thread, but it would be very kind if you can answer also that one or give me an hint to find the above mentioned repository.
Thank you in advance
Alessandro

Hi @adepase
I just pushed a fix for this problem, the snapshot will be available in a few minutes.
Closing, please feel free to re-open if you see further problems
Thanks
Luigi


DDoS Per IP SKU + Custom Policy Deprecation Swagger PR

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify (Updating Swagger spec - as per multiple NRP PRs below: https://msazure.visualstudio.com/One/_git/Networking-nrp/pullrequest/6027328
https://msazure.visualstudio.com/One/_git/Networking-nrp/pullrequest/6108499
https://msazure.visualstudio.com/One/_git/Networking-nrp/pullrequest/6015646
https://msazure.visualstudio.com/One/_git/Networking-nrp/pullrequest/6127775  )

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.

When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.

If updating an existing version, please select the specific language SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following appy to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[x] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[x] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

Regarding Breaking Change Issues: @amitkumr went to ARM Breaking Change office hours in March to discuss our feature plans and get swagger approval/guidance on removing legacy properties and adding new properties for this feature. We also have email confirmation as attached below. @Srikanth Mantha @JeffreyRichter
Also tagging @tasharm-0412 as he's a feature owner as well.

Is this a new API version? Can you fix the commit or update the change log if it's not

Updated Change Log

Please respond to the comments and remove the "ARMChangesRequested" label when this PR is ready for review again .

Signed off from ARM side. Please consider fixing the comments before submitting.


Add a check for the case when there's no stacktrace at all

Getting this error message when there's no stack-trace. This PR fixes that issue by first checking if frame exists.

Hey @andvla, thanks for the fix. I'll land this with a test and get it published. Cheers!


Any way to use react-native-navbar with this?

I like that your new version makes tabs a lot more useful (once the bugs are worked out), but your previous version used react-native-navbar, which made it fairly easy to create custom navigation bars. It seems like a lot work to try to figure out how to replicate this with ex-navigator.
I need to pass custom components for left button, right button, and title (and also style the navbar), and I don't have a clue how to do this.
You refer to the ex-navigator docs, and they refer to the React Navigator docs, which are horrible. The reason I found your project in the first place was because I couldn't understand the React Navigator docs. Back to square one.

React-native-navbar is ios-only and doesn't look good - i noticed some weird behavior with showing 'Back' button during transition for initial routes, nothing like that with built-in RN navbar.
It is easy to customize built-in RN navbar, i will add proper props to do it soon.

Does navigationBarStyle work for you to style nav bar?

Yes that does seem to work. Thanks.

Closing it now, to customize buttons, refer to #61


Question: trigger an animation in specific zones

Similar to chat heads, let's say we have a PanGestureHandler that's used to drag a circle around the screen. If that circle enters a specific zone, the background should slightly fade out. Implementing that with animated interpolation doesn't allow us to fire Animated.spring at specific intervals. Is this a limitation of react native gesture handler? Is there any example of implementing advanced gestures like the ones react native interactable supports?

Just found out about support for Animated tracking with RN 0.55. This tweet explains it.
This will open up possibilities for all different kinds of gestures. Thanks, @kmagiera for all the effort you put in this awesome library!


feat: add  option for ignore subdirectorie's package.json

Description
Add ignore option for ignore some directory package.json
Linked Issues
#17

ignore sounds a bit ambiguous, maybe ignore-paths?


No Unit Function

LESS has a unit function for swapping units, dotless seems not to.
e.g.
@baseLine: 1em;
@lineHeight: ((@baseLine * 1.5) - (1/16));

.rule {
  line-height: unit(@lineHeight, rem);
}

should result in:
.rule {
  line-height: 1.4375rem;
}

but instead results in
.rule {
  line-height: unit(1.4375em, rem);
}

Unit is implemented in the 1.4.2 release.


[mail] missing >from< headers

headers appear to be incomplete for both the validation and the confirmation email.

fixed via configuration.

@cambid: Please add code that prohibit starting without MAIL_FROM.


Regression: Latest az cli version 2.0.8 deployment fails with stack trace

Description
Outline the issue here:
Latest az cli version 2.0.8 fails with the following stack trace:
az group deployment create --name "anhowe0621b" --resource-group "anhowe0621b" --template-file "_output/anhowe0621b/azuredeploy.json" --parameters "_output/anhowe0621b/azuredeploy.parameters.json"
'status value'
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/azure/cli/main.py", line 36, in main
cmd_result = APPLICATION.execute(args)
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/application.py", line 211, in execute
result = expanded_arg.func(params)
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/commands/init.py", line 352, in call
return self.handler(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/commands/init.py", line 551, in _execute_command
reraise(*sys.exc_info())
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/commands/init.py", line 538, in _execute_command
return LongRunningOperation('Starting {}'.format(name))(result)
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/commands/init.py", line 220, in call
self._template_progress(correlation_id)
File "/usr/local/lib/python2.7/dist-packages/azure/cli/core/commands/init.py", line 198, in _template_progress
if deploy_values['status value'] != 'Started':
KeyError: 'status value'

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: pip install
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here: We tried to specify 2.0.7, but that version disappeared 15 hours ago, and it installed 2.0.8.  Since then we have seen stack trace
OS Version: What OS and version are you using?
Answer here: working in Docker image "buildpack-deps:xenial"
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: bash
Can you restore the old 2.0.7 version while you fix this?

@yugangw-msft @johanste FYI

Thank for you for the report. This has been fixed by PR #3744 and will be available in the next release.


Compass-generated CSS files don't trigger reload

I'm using
guard (2.6.0)
guard-compass (1.1.0)
guard-livereload (2.1.2)

When I make a change to a sass file (.scss), guard detects the change, runs compass via the guard-compass plugin-in, and updates the.css files. However, those CSS files aren't causing Chrome to actually reload the page. If I manually touch the .css file, the reload does happen.
After some digging around, I think I know what's going on. Commit e20657 changed guard-livereload so that it uses run_on_modifications rather than run_on_changes. When compass is run, the original .css file is apparently deleted and then regenerated. I can tell this is so because ls -i shows the .css file has a new inode. You can also see it in the guard debugging output -- note that guard is trying to call the run_on_changes hook:
13:18:17 - DEBUG - Stop interactor
13:18:17 - DEBUG - Trying to run Guard::Compass#run_on_modifications with ["sass/variables/_colors.scss", "sass/variables/_colors.scss"]
13:18:17 - DEBUG - Trying to run Guard::Compass#run_on_changes with ["sass/variables/_colors.scss", "sass/variables/_colors.scss"]
13:18:17 - DEBUG - Hook :run_on_change_begin executed for Guard::Compass
overwrite css/calce-omega.styles.css
identical css/calce-omega.normalize.css
unchanged sass/calce-omega.hacks.scss
overwrite css/calce-omega.no-query.css
13:18:19 - DEBUG - Hook :run_on_change_end executed for Guard::Compass
13:18:19 - DEBUG - Start interactor
13:18:19 - DEBUG - Stop interactor
13:18:19 - DEBUG - Trying to run Guard::LiveReload#run_on_additions with ["css/calce-omega.no-query.css", "css/calce-omega.styles.css"]
13:18:19 - DEBUG - Trying to run Guard::LiveReload#run_on_changes with ["css/calce-omega.no-query.css", "css/calce-omega.styles.css"]
13:18:19 - DEBUG - Trying to run Guard::LiveReload#run_on_change with ["css/calce-omega.no-query.css", "css/calce-omega.styles.css"]
13:18:19 - DEBUG - Start interactor

When I touch the .css file (i.e. $ touch css/calce-omega.styles.css), the mtime is updated and then guard-livereload runs (via the run_on_modifications hook) and Chrome reloads the page. Here's the guard debugging output:
13:37:19 - DEBUG - Stop interactor
13:37:19 - DEBUG - Hook :run_on_modifications_begin executed for Guard::LiveReload
13:37:19 - INFO - Reloading browser: css/calce-omega.styles.css
13:37:19 - DEBUG - {:command=>"reload", :path=>"/path_to/calce_omega/css/calce-omega.styles.css", :liveCSS=>true}
13:37:19 - DEBUG - Hook :run_on_modifications_end executed for Guard::LiveReload
13:37:19 - DEBUG - Start interactor

I'm not entirely sure why the change was made, but I think this is not the expected behavior. I'm kind of new to this, though, so I may be missing something.

Both Guard and Listen gems have been updated since.
I believe this is fixed. It's best to use Listen 3.x to make sure.
If there are still problems - please open a new issue, thanks!


toml-node don't accept single quoted key

'key2' = "value"

produce error
Error at line 1 column 1:
Expected "#", "[", "\"", "\n", "\r", [ \t], [A-Za-z0-9_\-] or end of input but "'" found.

which is valid input according TOML Spec
(https://github.com/toml-lang/toml#user-content-keyvalue-pair).

Thanks for the report! This is fixed in v2.3.2.


Feature/dsl

Pull request was close because of merge conflict. Will create a new pull request once merge conflict is resolved.


Front Admin - if a user is both customer and captain he must have access to both tabs

if a user is both customer and captain he must have access to both tabs

done, with #1109 ticket


Infinite preemption loop is possible when PrioritySortingWithingCohort=false is used with borrowWithinCohort

What happened:
An infinite preemption loop is possible when PrioritySortingWithingCohort=false is used together with
borrowWithinCohort. This is possible when a high-priority workload from CQ running above quota needs
to borrow and preempts a lower priority workload. Then, the lower priority workload may take spot
in front of the high-priority workload (because PrioritySortingWithingCohort=false) and get re-admitted.
The cycle (preempt - admit - preempt) will repeat for the lower-priority workload.
What you expected to happen:
No infinite cycles of preempt - admit - preempt.
How to reproduce it (as minimally and precisely as possible):

Set up the cluster as follows:

apiVersion: kueue.x-k8s.io/v1beta1
kind: ResourceFlavor
metadata:
  name: "default-flavor"
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "cluster-queue-a"
spec:
  cohort: "all"
  preemption:
    withinClusterQueue: LowerPriority
    reclaimWithinCohort: Any
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu"]
    flavors:
    - name: "default-flavor"
      resources:
      - name: "cpu"
        nominalQuota: 0
        borrowingLimit: 10
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "cluster-queue-b"
spec:
  cohort: "all"
  preemption:
    withinClusterQueue: LowerPriority
    reclaimWithinCohort: Any
    borrowWithinCohort:
      maxPriorityThreshold: 80000
      policy: LowerPriority
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu"]
    flavors:
    - name: "default-flavor"
      resources:
      - name: "cpu"
        nominalQuota: 5
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
  name: "cluster-queue-c"
spec:
  cohort: "all"
  preemption:
    withinClusterQueue: LowerPriority
    reclaimWithinCohort: Any
  namespaceSelector: {} # match all.
  resourceGroups:
  - coveredResources: ["cpu"]
    flavors:
    - name: "default-flavor"
      resources:
      - name: "cpu"
        nominalQuota: 5
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: LocalQueue
metadata:
  namespace: "default"
  name: "user-queue-a"
spec:
  clusterQueue: "cluster-queue-a"
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: LocalQueue
metadata:
  namespace: "default"
  name: "user-queue-b"
spec:
  clusterQueue: "cluster-queue-b"
---
apiVersion: kueue.x-k8s.io/v1beta1
kind: LocalQueue
metadata:
  namespace: "default"
  name: "user-queue-c"
spec:
  clusterQueue: "cluster-queue-c"
---
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: low-priority
value: 1
globalDefault: false
description: "This priority class should be used for XYZ service pods only."
---
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: mid-priority
value: 2
globalDefault: false
description: "This priority class should be used for XYZ service pods only."
---
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
  name: high-priority
value: 3
globalDefault: false
description: "This priority class should be used for XYZ service pods only."

create the lower-priority workload in CQa:

apiVersion: batch/v1
kind: Job
metadata:
  generateName: sample-job-a-
  namespace: default
  labels:
    kueue.x-k8s.io/queue-name: user-queue-a
spec:
  parallelism: 1
  completions: 1
  suspend: true
  template:
    spec:
      priorityClassName: mid-priority
      containers:
      - name: dummy-job
        image: gcr.io/k8s-staging-perf-tests/sleep:v0.1.0
        args: ["300s"]
        resources:
          requests:
            cpu: "4"
      restartPolicy: Never

Create 2 workloads in CQb:

apiVersion: batch/v1
kind: Job
metadata:
  generateName: sample-job-b-
  namespace: default
  labels:
    kueue.x-k8s.io/queue-name: user-queue-b
spec:
  parallelism: 1
  completions: 1
  suspend: true
  template:
    spec:
      priorityClassName: high-priority
      containers:
      - name: dummy-job
        image: gcr.io/k8s-staging-perf-tests/sleep:v0.1.0
        args: ["300s"]
        resources:
          requests:
            cpu: "4"
      restartPolicy: Never

Issue: workload-a will go through infinite cycle of preemptions and admissions.

/assign


Additional option for window/showTextDocument

We already have a very similar command that we send to the client to display a particular document:
https://github.com/scalameta/metals/blob/9e2a418b210518567fe51483167658466c9e256c/metals/src/main/scala/scala/meta/internal/metals/ClientCommands.scala#L108
we also added an additional boolean option otherWindow which we use to specify that the document should not be opened in the focused currently window/tab.
I wonder if it would make sense to add that property to window/showTextDocument
This is especially useful for us when navigating over a stacktrace, which makes it possible to quickly jump around different classes without the need to go back to the stacktrace.

otherWindow sounds too specific to me. Why? because editors can provide means to open something in a way that doesn't affect the current view and it doesn't need to be a separate window specifically.
For example, in Sublime Text, you can trigger the opening of a separate view in a side-by-side manner. I suppose that in VScode you could also do something similar or use a panel.
So I think the naming should be more generic. Not sure what exactly. keepCurrent? I guess the current is always "kept` so maybe not ideal? Is the idea that the current view stays in focus or not necessarily?

@rchl you're right,  otherWindow might be too specific. It's just what we come up with and naming is hard :sweat_smile:

Is the idea that the current view stays in focus or not necessarily?

Yes, the idea would be to keep the current view in focus and show the new document outside it if possible. If an editor does not support side by side presentation they should just ignore it I guess.
So maybe something like: keepFocus or showOnSide ?

I kinda also see problems with implementing the "keep focus" part of that as I think it wouldn't be possible to open a new file without changing focus in some editors.

I kinda also see problems with implementing the "keep focus" part of that as I think it wouldn't be possible to open a new file without changing focus in some editors.

Focus might not be that necessary, the important thing would be to keep the current document visible. I understand if that might be too niche to include in the protocol.

OK, but I don't see how you can guarantee that while opening a new window either. It will likely cover the current window.

OK, but I don't see how you can guarantee that while opening a new window either. It will likely cover the current window.

Not sure I understand. If the server did send the additional option keepCurrentDocumentVisible then it would be client's responsibility to guarantee that if it's possible for that client.

Just wondering how was your original solution that uses otherWindow been able to achieve the goal of keeping the current view in focus and in view if it's opening a new window.

For example for Visual studio Code extension we did it like this:
https://github.com/scalameta/metals-vscode/blob/master/src/extension.ts#L828

I am not a fan of such a feature since it depends on the capabilities of the client (e.g. multiple editor columns, ...).

I am not a fan of such a feature since it depends on the capabilities of the client (e.g. multiple editor columns, ...).

One could argue that most features really depend on capabilities of the client, but I do understand what you mean here. We can always go around it with custom commands.

Yes, but these capabilities are usually not UI capabilities

Yes, but these capabilities are usually not UI capabilities

I wonder if it would make sense to have some officially supported extensions to LSP that are not a part of base spec, which would differ in the UI capabilities. This could make supporting multiple clients easier, but just throwing it out there.

I think that would be a better direction than having it in the base spec.


proposal: container: add more container

What version of Go are you using (go version)?
go 1.20
What operating system and processor architecture are you using?
linux, amd64
What did you do?
I found that the GO standard library supports few containers
What did you expect to see?
I think more containers need to be provided(e.g.: stack, dequeue, sortedmap...)

Cf. #27935.
I thought I had proposed deque at some point, but I can't find it. So: let's add deque!

no clear proposal to evaluate.
and it probably should wait for #61405


support external redis sentinel cluster

Signed-off-by: Jeremy Xu<EMAIL_ADDRESS>Support external redis sentinel cluster. #2885

@caervs

@caervs I tred many times to improve code coverage, but still failed. Can you review the PR and tell me how to improve code coverage in this scenario?

Let's reassess this once we have a better way to make this plugable without adding new library dependencies


Automate the updating of e2e data

The e2e command uses data that we gather from k8s releases; we need to automate that. Currently its a multistep process and manual (but documented)

Mostly resolved by https://github.com/vmware-tanzu/sonobuoy/pull/1803
Improvements to be made, but considering this base issue, done.


ChunkMeta Code Review - Persist & Persist All Semantics

Code Location:
https://github.com/CivMC/CivModCore/blob/cab0ef422d9dffc081b271cc35b7a1b6f3dab68a/paper/src/main/java/vg/civcraft/mc/civmodcore/world/locations/chunkmeta/ChunkCoord.java#L59

Issue:
https://github.com/CivMC/CivModCore/blob/cab0ef422d9dffc081b271cc35b7a1b6f3dab68a/paper/src/main/java/vg/civcraft/mc/civmodcore/world/locations/chunkmeta/ChunkCoord.java#L69

	void persistPlugin(short id) {
		ChunkMeta<?> chunkMeta = chunkMetas.get(id);
		if (chunkMeta != null) {
			persistChunkMeta(chunkMeta);
		}
	}

This delegates exception handling and trouble shooting to the caller.
https://github.com/CivMC/CivModCore/blob/cab0ef422d9dffc081b271cc35b7a1b6f3dab68a/paper/src/main/java/vg/civcraft/mc/civmodcore/world/locations/chunkmeta/ChunkCoord.java#L59
	void fullyPersist() {
		for (ChunkMeta<?> chunkMeta : chunkMetas.values()) {
			persistChunkMeta(chunkMeta);
		}
	}

This delegates exception handling and trouble shooting to the caller, while being opaque about the actual safe-state of the chunkMeta values.

Solution(s):
Either have this method fully fail for all data on error, or provide a specific list of failed issues to the caller, or have a callback for each successful / unsuccessful persist. In all cases, storage should be clear to the caller requesting the storage what when and how many of the chunkMetas have been saved.

I'm closing this out as something that we won't fix. It could be revisited in the future, but it's not within our capacity to work on right now.


fix(build): update base image tag to alpine:3.12

Signed-off-by: Roland.Ma<EMAIL_ADDRESS>Pull Request template
Why is this PR required? What issue does it fix?:
Some vulnerabilities reported by trivy when scanning openebs/provisioner-localpv:2.10.0, which was base on alpine 3.12.0.
What this PR does?:
In this PR I have changed the tag to a more general format as "3.12", so the base image will be up to date to avoid vulnerabilities issues.
Does this PR require any upgrade changes?:
No
If the changes in this PR are manually verified, list down the scenarios covered::
Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[ ] Fixes #
[ ] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Has the change log section been updated?
[ ] Commit has unit tests
[ ] Commit has integration tests
[ ] (Optional) Are upgrade changes included in this PR? If not, mention the issue/PR to track:
[ ] (Optional) If documentation changes are required, which issue on https://github.com/openebs/openebs-docs is used to track them:

PLEASE REMOVE BELOW INFORMATION BEFORE SUBMITTING
The PR title message must follow convention:
<type>(<scope>): <subject>.
Where:
Most common types are:
* feat        - for new features, not a new feature for build script
* fix         - for bug fixes or improvements, not a fix for build script
* chore       - changes not related to production code
* docs        - changes related to documentation
* style       - formatting, missing semi colons, linting fix etc; no significant production code changes
* test        - adding missing tests, refactoring tests; no production code change
* refactor    - refactoring production code, eg. renaming a variable or function name, there should not be any significant production code changes
* cherry-pick - if PR is merged in master branch and raised to release branch(like v0.4.x)
IMPORTANT: Please review the CONTRIBUTING.md file for detailed contributing guidelines.

Codecov Report

Merging #63 (5edf4c3) into develop (ac7ed6a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #63   +/-   ##
========================================
  Coverage    34.60%   34.60%
========================================
  Files           27       27
  Lines         2124     2124
========================================
  Hits           735      735
  Misses        1352     1352
  Partials        37       37

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 ac7ed6a...5edf4c3. Read the comment docs.

@akhilerm, Correct. 3.12 will always point to the latest 3.12.x release.

@RolandMa1986 raised a cherry-pick PR to v2.10.x branch

Have created a new release v2.10.1 with this vulnerability fix.


orderBy method DESC/ ASC

Hi,
I couldn't find it in the documentation. Is there a method to do this? Or should we use the Raw Query ?
Thanks,
Bagus

You can pass the direction (ASC or DESC) as the second argument:
$query->orderBy('field', 'DESC');
Default is ASC

ha! :D thanks Fishy49


Add ecverify and  xvmAddressFromPubkey

Codecov Report

Merging #252 (64648e3) into release-v5.1 (29ed46a) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release-v5.1     #252      +/-   ##
================================================
- Coverage         47.90%   47.77%   -0.13%
================================================
  Files               133      133
  Lines             11334    11355      +21
================================================
- Hits               5429     5425       -4
- Misses             4785     4809      +24
- Partials           1120     1121       +1

Impacted Files
Coverage Δ

bcs/contract/xvm/builtin_resolver.go
0.00% <0.00%> (ø)

bcs/consensus/pow/pow.go
39.54% <0.00%> (-3.43%)
:arrow_down:

kernel/consensus/base/driver/chained-bft/smr.go
51.44% <0.00%> (-0.97%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
53.36% <0.00%> (+0.96%)
:arrow_up:

bcs/network/p2pv1/conn.go
61.29% <0.00%> (+6.45%)
:arrow_up:

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 29ed46a...64648e3. Read the comment docs.

Codecov Report

Merging #252 (64648e3) into release-v5.1 (29ed46a) will decrease coverage by 0.00%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release-v5.1     #252      +/-   ##
================================================
- Coverage         47.90%   47.89%   -0.01%
================================================
  Files               133      133
  Lines             11334    11355      +21
================================================
+ Hits               5429     5439      +10
- Misses             4785     4796      +11
  Partials           1120     1120

Impacted Files
Coverage Δ

bcs/contract/xvm/builtin_resolver.go
0.00% <0.00%> (ø)

bcs/consensus/xpoa/xpoa.go
53.36% <0.00%> (+0.96%)
:arrow_up:

bcs/network/p2pv2/server.go
52.40% <0.00%> (+1.06%)
:arrow_up:

bcs/network/p2pv1/conn.go
61.29% <0.00%> (+6.45%)
:arrow_up:

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 29ed46a...64648e3. Read the comment docs.


enableBodyScroll doesn't enable scroll

enableBodyScroll doesn't enable scroll in situation disableBodyScroll was required (n+1)-times and enableBodyScroll n-times.
enableBodyScroll and disableBodyScroll was required without arguments.
To reproduce the issue try the next sequence of function requiring:
disableBodyScroll()
disableBodyScroll()
enableBodyScroll()
as result overflow: hidden styles in <body> still  persist.
I already have prepared commit to fix this issue

@willmcpo anything I can do to help get the PR merged? You can replicate the issue by clicking twice disableBodyScroll and then enableBodyScroll on your demo link.

The same with me. I have modal inside modal. And this line evaluated too false because  locks length is > 1.

@SeanSilke if you close one modal and still have one open, the body should still be locked, right?

@diachedelic  Yes. My problem is with unlocking body scroll.

another situation that causes the overflow:hidden from body is if the target element is not longer exits. eg. unmounted

i started reviewing this one

Why would you ever call disableScroll on the same target element?

I have similar problem but when the targetElement doesn't exist anymore, eg. it unmounted or something the body's overflow would never be removed.

Can you describe more of your use case?
On Mon, Jun 17, 2019, 6:02 AM Kossel<EMAIL_ADDRESS>wrote:

I have similar problem but when the targetElement doesn't exist anymore,
eg. it unmounted or something the body's overflow would never be removed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/willmcpo/body-scroll-lock/issues/90?email_source=notifications&email_token=ADJPCOSNSWSXVSQZLW357DLP22L4NA5CNFSM4GSWKLE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXZUD2I#issuecomment-502481385,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADJPCOWOMO7UVFLXD52ZBPLP22L4NANCNFSM4GSWKLEQ
.

yes, please see this codesandbox  I created to reproduce it.
it's a very very slim down version of what I'm doing, basically for modal, we offer the option of "unmount  content when close" so when the isOpen become false, the scroll target element is not longer exits,
and this line returns false
https://github.com/willmcpo/body-scroll-lock/blob/master/src/bodyScrollLock.js#L232
since targetElement is null.

@willmcpo  wrote Why would you ever call disableScroll on the same target element?
In our case we call for popup from popup.
The disableScroll mast be Idempotent, number of calls should not affect result.

@seansilke
Sure. The pull request to fix this needs to make an amendment then we can merge.

Merged fix


dyld: Library not loaded: @rpath/App.framework/App

I'm trying to follow Option B in this article to add flutter to my app:

run cd some_path1
run flutter create --template module my_flutter_module
run cd my_flutter_module
run flutter build ios-framework --xcframework --no-universal --output=some_path2(No need to change anything in my_flutter_module folder)
create an empty app using XCode, set app's minimum deployment target to iOS 11.0
embed Debug/App.xcframework & Debug/Flutter.xcframework to project

Then I tested the app on my real devices. It worked fine on iPhone12 Pro (iOS 15.2) and iPhone 11 (iOS 14.3).
But it crashed on iPhone 6 Plus(iOS 12) & iPhone 6s(iOS 12)
Here is the crash snapshot:

flutter doctor -v:

By the way, if i embedded Release/App.xcframework & Release/Flutter.xcframework to project instead, it worked fine on all my devices.
I don't know why it's not working on iOS 12 if i use Debug/App.xcframework & Debug/Flutter.xcframework☹

Hi @ChannelYu, you appear to be on an older version of flutter.
Can you upgrade to the latest version of stable to see whether or not you still experience this issue? If you do, please provide the updated flutter doctor -v and possibly a small sample repo we can use to reproduce this.
Thank you

Hi @ChannelYu, you appear to be on an older version of flutter.
Can you upgrade to the latest version of stable to see whether or not you still experience this issue? If you do, please provide the updated flutter doctor -v and possibly a small sample repo we can use to reproduce this.
Thank you

It works fine on my sample while I'm using 2.5.3 version.
But in a real project I can't update flutter arbitrarily, it's not my call.
Although this problem doesn't bother me too much and I don't know much about compilation, I try to figure it out. Could you give me some help?

It works fine on my sample while I'm using 2.5.3 version.

Then the issue has likely been fixed

Could you give me some help?

Unfortunately, this is not my domain of expertise so I cannot offer any help there.
Given that the issue does not reproduce on a more recent version of flutter, I'm going to have to close this issue.
If you run into this issue in a more recent version of flutter, don't hesitate to file a new issue.
Thank you


Asyncio: Imports from autobahn.asyncio.component require twisted.

Minimal working example:
from autobahn.asyncio.component import Component

Output:
Traceback (most recent call last):
  File "pouet.py", line 1, in <module>
    from autobahn.asyncio.component import Component
  File "/home/rdebroiz/.virtualenvs/****/lib/python3.6/site-packages/autobahn/asyncio/component.py", line 49, in <module>
    from autobahn.wamp import component
  File "/home/rdebroiz/.virtualenvs/****/lib/python3.6/site-packages/autobahn/wamp/component.py", line 34, in <module>
    from twisted.python.failure import Failure
ModuleNotFoundError: No module named 'twisted.python'

Okay it has been fixed already, sorry about that.


Add $package_ensure parameter to main gogs class

This will allow users to specify the Gogs version to be installed.

I see there's an issue with the spec tests right now. I'll try and fix that.
Thanx @rauchrob !


xyaml: fix import error

this is also breaking tilegrid

Your running this without env?

The line https://github.com/SymbiFlow/prjxray/blob/master/utils/environment.sh#L19 should mean you can import xjson / xyaml. Can you check what your $PYTHONPATH is?

Not a bug. Caused by my local screen command dropping PYTHONPATH


mesh_com: mtu size fixed for 11s

without this mtu size fix larger ip packages not delivered through.  e.g. iperf tests failing.


Confusing error when Tranco lists are down

Looks like the lists are down at this time (I get "502 Bad Gateway" from the download button on https://tranco-list.eu/).
One then gets a pretty confusing stack trace from the Tranco package:
>>> from tranco import Tranco
>>> t = Tranco(cache=False)
>>> list = t.list()
Traceback (most recent call last):
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 685, in _update_chunk_length
    self.chunk_left = int(line, 16)
ValueError: invalid literal for int() with base 16: b''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 425, in _error_catcher
    yield
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 752, in read_chunked
    self._update_chunk_length()
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 689, in _update_chunk_length
    raise httplib.IncompleteRead(line)
http.client.IncompleteRead: IncompleteRead(0 bytes read)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/models.py", line 750, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 560, in stream
    for line in self.read_chunked(amt, decode_content=decode_content):
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 781, in read_chunked
    self._original_response.close()
  File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/urllib3/response.py", line 443, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/tranco/tranco.py", line 56, in list
    top_list_text = self._download_zip_file(list_id)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/tranco/tranco.py", line 81, in _download_zip_file
    r2 = requests.get(download_url)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/sessions.py", line 686, in send
    r.content
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/models.py", line 828, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/home/USER/.virtualenvs/VENV/lib/python3.5/site-packages/requests/models.py", line 753, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

Clarification, not all lists are down, just the latest:
>>> list = t.list(date='2020-02-18')
>>> len(list.top())
1000000
>>> list = t.list(date='2020-02-19')
Traceback (most recent call last):
...

Thanks for the report!
The list was not correctly generated today due to a full disk. I've cleared some space, put the database back in a correct state, and today's list is currently being regenerated. In any case, the issue should be resolved tomorrow.
I'll look into the confusing errors separately, at a later date.
Victor

Confirming that the list was properly generated today.


Using pathogen breaks detecting git commits

Once I add call pathogen#infect() git commits get detected with the wrong filetype. Previously syntax and filetype were set to gitcommit but with pathogen enabled to they set to conf. My vim information
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug  8 2011 01:43:21)
Included patches: 1-266
Modified by Gentoo-7.3.266
Compiled by portage@pena
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con_gui +diff
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi
+file_in_path +find_in_path +float +folding -footer +fork() -gettext
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall
+linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname
+mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm
-mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg
+path_extra -perl +persistent_undo +postscript +printer +profile +python
-python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim
+xsmp_interact +xterm_clipboard -xterm_save
   system vimrc file: "/etc/vim/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/vim/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: i686-pc-linux-gnu-gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libdrm     -O2 -march=native -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=1
Linking: i686-pc-linux-gnu-gcc   -L. -Wl,--as-needed -Wl,-O1 -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -L/usr/local/lib -Wl,--as-needed -o gvim   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng14 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -lelf   -lcurses -lacl -lattr -ldl     -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby18 -lpthread -lrt -ldl -lcrypt -lm  -L/usr/lib

I'm also on Gentoo, I can confirm that Python filetype detection is broken too.
And I can confirm that using runtime_append_all_bundles() instead of infect() is a workaround that solves this issue for me.
If you need, this is the Gentoo's /etc/vim/vimrc:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-editors/vim-core/files/vimrc-r4?view=markup

I don't know if this is helpful or not, but I was not experiencing this issue until I installed the following script (proto.vim):
augroup filetype
    au! BufRead,BufNewFile *.proto setfiletype proto
augroup end

So, performing either of the following actions clears the issue for me:

Delete the aforementioned proto.vim script.
Remove call pathogen#infect() from my ~/.vimrc.

I'm using Funtoo, a Gentoo derivative.

Good day.
I have same issue on a gentoo (vim 7.3.409). I've tried to find what makes most of files to detect as a conf and minimized my .vimrc just to two lines:
runtime bundle/vim-pathogen/autoload/pathogen.vim
call pathogen#infect()

.vim/ contains just pathogen and nothing else.

Hi,
I also experienced the issue. I investigated it, described it and provided a patch for the stock $VIMRUNTIME/filetype.vim: http://code.google.com/p/vim/issues/detail?id=52
Hope it gets upstream soon.

The patch by @llorens was accepted upstream and it seems to fix this so I think we can close here as pathogen does not need modifications.


Backtraces stop at thread boundaries

When an action is performed that miri cannot handle (or UB is hit), the backtrace shown ends at the start of the thread in which the failure happened. As an example
extern {
    fn unknown();
}

fn bad() { unsafe { unknown() } }

fn main() {
    std::thread::spawn(bad);
}

fails with
error: unsupported operation: can't call foreign function `unknown` on OS `linux`
 --> src/main.rs:5:21
  |
5 | fn bad() { unsafe { unknown() } }
  |                     ^^^^^^^^^ can't call foreign function `unknown` on OS `linux`
  |
  = help: if this is a basic API commonly used on this target, please report an issue with Miri
  = help: however, note that Miri does not aim to support every FFI function out there; for instance, we will not support APIs for things such as GUIs, scripting languages, or databases
  = note: BACKTRACE on thread `unnamed-1`:
  = note: inside `bad` at src/main.rs:5:21: 5:30

pointing solely to the function bad.
In this simple example that is not an issue, but if a crate spawns a thread somewhere in its internals, it may not be clear why the thread is even running. I don't think it would be expensive to collect a backtrace at every thread spawn and store this information in the thread data structure itself (as we're not going through the backtrace crate, but just iterating over miri's stack).

This looks interesting, could I give this a go as a first issue?

Yes, definitely. :)  Please ask on Zulip if there are any questions.


zeta zeros inconsistency

>>> import mpmath
>>> mpmath.__version__
'1.0.0'
>>> from mpmath import *
>>> mp.dps = 100
>>> x = mpf("14.1347251417346937905")
>>> nzeros(x)
0
>>> im(zetazero(1)) < x
True

The first line in the function has an upper bound that should be changed to a lower bound. However, even with that fixed, this looks even worse:
>>> nzeros(mpf("14.134725141734"))
0
>>> nzeros(mpf("14.1347251417346"))
2

Nope, I think the algorithm is just wrong. Try this:
mp.dps = 100
d = 1e-20
for n in range(1,100):
    t = im(zetazero(n))
    na = nzeros(t-d)
    nb = nzeros(t+d)
    print(n, na == (n-1), nb == n)

It works with d = 1e-20 (except for the n = 1 case), but not with d = 1e-30.
Looking at the code for nzeros (by the way, I did not write this code -- Juan did), changing
wpz, fp_tolerance = comp_fp_tolerance(ctx, k)

to
wpz = ctx.prec, fp_tolerance = ctx.eps * 1000

seemingly fixes the bug -- if the user sets the precision high enough. So the question is just how to set the correct precision automatically and detect when it needs to be increased near a zero.


fio: 3.17 -> 3.18

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/fio/versions.
meta.description for fio is: '"Flexible IO Tester - an IO benchmark tool"'.
meta.homepage for fio is: '"https://git.kernel.dk/cgit/fio/"
Compare changes on GitHub

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 3.18 with grep in /nix/store/h9vy550xsalrs4i4mvb5gccjjrzc6mcc-fio-3.18

directory tree listing: https://gist.github.com/be89d4113f557158004aeb394754f08b

du listing: https://gist.github.com/f27484885ca5bba21eff464827f33a28

Rebuild report (if merged into master) (click to expand)

7 total rebuild path(s)
2 package rebuild(s)
2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
fio
xfstests

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h9vy550xsalrs4i4mvb5gccjjrzc6mcc-fio-3.18 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A fio https://github.com/r-ryantm/nixpkgs/archive/e01145e5eccc94738ee69112064ea498241d1599.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h9vy550xsalrs4i4mvb5gccjjrzc6mcc-fio-3.18
ls -la /nix/store/h9vy550xsalrs4i4mvb5gccjjrzc6mcc-fio-3.18/bin

Builds ok, binary works fine.


Windows cells do not necessarily require a separate subnet

They only require IPs that will not collide with other BOSH deployed VMs
[#110777594]
@sbenario

Thank you, aemengo


initializersRegExp updated to handle instance initializers

fixes #13

Ignore test failure, there aren't tests for this.

Would need call app.instanceInitializer for the instance initializers (not initializer as it is now).
Tests in Ember showing this:  https://github.com/emberjs/ember.js/blob/06e41ad7ccd28558dd4e651aa070bc06f7757821/packages/ember-application/tests/system/instance_initializers_test.js#L45-L50

@rwjblue sorry about that.  Fixed.

LGTM

Tagged as v0.1.0.
@jasonmit - Can you update Ember CLI itself to use the newer version?

:+1: will do, thanks

thanks @jasonmit

What about a generator for instance initializers?

@rwjblue @stefanpenner  Does this patch exist in ember-cli 0.2.7? I've tried putting my initializer into /app/instance-initializers but it still seems to think that I have a regular (i.e. I can't call lookup() on the first argument).

@atomkirk https://github.com/ember-cli/ember-cli/issues/4198


Add compatibility for change of datetime base class name in cftime

cftime is planning on renaming the base class for its datetime objects from cftime.datetime to cftime.datetime_base.  See discussion in https://github.com/Unidata/cftime/issues/198 and https://github.com/Unidata/cftime/pull/199.  This PR adds the appropriate logic in nc-time-axis to handle this in a backwards-compatible way.

Coverage increased (+0.2%) to 91.429% when pulling c6b0a73872ba72a38ebc4fcae7f1b4a3b6fd8666 on spencerkclark:cftime-datetime-base into 531dd0da83f2ea6b351f129559ccd4e8b0ccbb5f on SciTools:master.

Many thanks for the review @trexfeathers.  Since posting this PR, discussion has shifted in cftime against making this change, so I am closing it.  My apologies for the noise, though I'm pleased to see that folks at the Met Office are still interested in maintaining this nice package.


Tweaks to policy that excludes files from being uploaded

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@kaarins PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


try goimports and gofumpt

Just ran goimports -w . && gofumpt -w .. Should help with consistency in code style and import layout.

Hmm, TBH, I don't care about this level of formats...


Update README.md

Fixed a few inconsistent line breaks. The format
 was used consistantly until the very last paragraph; where it then switched to
.

[x] I have read and followed the contribution guidelines

Thank you, but this is fine as-is.


[IMPROVEMENT] Multiple Sign-In options

It would be really helpful if there are more options of sign-in such as Google, Phone Number, so that it would be less typing for users to sign-up.

Thank you and will be waiting for that. I'll also try to contribute to this wonderful project once I get some time to go through code.


RuntimeError: one of the variables needed for gradient computation has been modified

Hi,
I am writing to seek your advice on an issue I am experiencing during backpropagation of my model. Specifically, I am encountering an error in the loss function after the warmup stage and am unsure how to proceed. Maybe enter if config.model.train_discriminator and epoch > config.lr_scheduler.warmup_epoch:
I would greatly appreciate any guidance or suggestions you may have to help me address this problem.
log：
Error executing job with overrides: ['distributed.torch_distributed_debug=False', 'distributed.find_unused_parameters=True', 'distributed.world_size=2', 'common.max_epoch=15', 'datasets.tensor_cut=8000', 'datasets.batch_size=40', 'datasets.train_csv_path=/home/anna.peng/PycharmProjects/encodec-pytorch-main/librispeech_train100h_anna.csv', 'lr_scheduler.warmup_epoch=2', 'optimization.lr=1e-4', 'optimization.disc_lr=1e-4']
Traceback (most recent call last):
File "train_multi_gpu.py", line 258, in main
join=True
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 240, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 198, in start_processes
while not context.join():
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 160, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 0 terminated with the following error:
Traceback (most recent call last):
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap
fn(i, *args)
File "/home/anna.peng/PycharmProjects/encodec-pytorch-main/train_multi_gpu.py", line 209, in train
scheduler,disc_scheduler)
File "/home/anna.peng/PycharmProjects/encodec-pytorch-main/train_multi_gpu.py", line 59, in train_one_step
loss.backward()
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/_tensor.py", line 489, in backward
self, gradient, retain_graph, create_graph, inputs=inputs
File "/home/anna.peng/.local/lib/python3.7/site-packages/torch/autograd/init.py", line 199, in backward
allow_unreachable=True, accumulate_grad=True)  # Calls into the C++ engine to run the backward pass
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [1, 32, 3, 3]] is at version 2; expected version 1 instead. Hint: the backtrace further above shows the operation that failed to compute its gradient. The variable in question was changed in there or anywhere later. Good luck!

emmm, I also have encountered this problem. Maybe you can check the code is lastest? besides, I will check the problem tomorrow.  you can also use old version by check the commit history. The problem maybe caused by my recent changes about scheduler.

can you share your environment？

I think you can debug step by step to understand the specific problem

I have used latest code in two RTX 3090 to test the multi GPU training and one RTX 3090 to test the single GPU training. And I'm not encounter this bug. Here are my code setup.

Multi GPU training
3090 *2 , torch= 2.0.0 , the changed config parameters is listed as follows: distributed.torch_distributed_debug=False
 distributed.find_unused_parameters=True
 distributed.world_size=2
 common.save_interval=5
 common.test_interval=2
 common.max_epoch=100
 datasets.fixed_length=1000
 datasets.train_csv_path=/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/libritts_train100h.csv
 datasets.tensor_cut=100000
 datasets.batch_size=6
 lr_scheduler.warmup_epoch=2
 optimization.lr=1e-5
 optimization.disc_lr=1e-5

the log :
2023-06-02 12:48:15,326: INFO: [train_multi_gpu.py: 119]: {'common': {'save_interval': 5, 'test_interval': 2, 'max_epoch': 100, 'seed': 3401, 'amp': False}, 'datasets': {'train_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/libritts_train100h.csv', 'test_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/LibriTTS_dev-other.csv', 'batch_size': 6, 'tensor_cut': 100000, 'num_workers': 0, 'fixed_length': 1000, 'pin_memory': True}, 'checkpoint': {'resume': False, 'checkpoint_path': '', 'disc_checkpoint_path': '', 'save_folder': './checkpoints/', 'save_location': '${checkpoint.save_folder}batch${datasets.batch_size}_cut${datasets.tensor_cut}_length${datasets.fixed_length}_'}, 'optimization': {'lr': 1e-05, 'disc_lr': 1e-05}, 'lr_scheduler': {'warmup_epoch': 2}, 'model': {'target_bandwidths': [1.5, 3.0, 6.0, 12.0, 24.0], 'sample_rate': 24000, 'channels': 1, 'train_discriminator': True, 'audio_normalize': True, 'filters': 32}, 'distributed': {'data_parallel': True, 'world_size': 2, 'find_unused_parameters': True, 'torch_distributed_debug': False}}
2023-06-02 12:48:15,331: INFO: [train_multi_gpu.py: 120]: Encodec Model Parameters: 14855843
2023-06-02 12:48:15,331: INFO: [train_multi_gpu.py: 121]: Disc Model Parameters: 283398
2023-06-02 12:48:15,331: INFO: [train_multi_gpu.py: 122]: model train mode :True | quantizer train mode :True
2023-06-02 12:48:15,593: INFO: [train_multi_gpu.py: 119]: {'common': {'save_interval': 5, 'test_interval': 2, 'max_epoch': 100, 'seed': 3401, 'amp': False}, 'datasets': {'train_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/libritts_train100h.csv', 'test_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/LibriTTS_dev-other.csv', 'batch_size': 6, 'tensor_cut': 100000, 'num_workers': 0, 'fixed_length': 1000, 'pin_memory': True}, 'checkpoint': {'resume': False, 'checkpoint_path': '', 'disc_checkpoint_path': '', 'save_folder': './checkpoints/', 'save_location': '${checkpoint.save_folder}batch${datasets.batch_size}_cut${datasets.tensor_cut}_length${datasets.fixed_length}_'}, 'optimization': {'lr': 1e-05, 'disc_lr': 1e-05}, 'lr_scheduler': {'warmup_epoch': 2}, 'model': {'target_bandwidths': [1.5, 3.0, 6.0, 12.0, 24.0], 'sample_rate': 24000, 'channels': 1, 'train_discriminator': True, 'audio_normalize': True, 'filters': 32}, 'distributed': {'data_parallel': True, 'world_size': 2, 'find_unused_parameters': True, 'torch_distributed_debug': False}}
2023-06-02 12:48:15,594: INFO: [train_multi_gpu.py: 120]: Encodec Model Parameters: 14855843
2023-06-02 12:48:15,595: INFO: [train_multi_gpu.py: 121]: Disc Model Parameters: 283398
2023-06-02 12:48:15,595: INFO: [train_multi_gpu.py: 122]: model train mode :True | quantizer train mode :True
2023-06-02 12:48:15,708: INFO: [distributed_c10d.py: 432]: Added key: store_based_barrier_key:1 to store for rank: 1
2023-06-02 12:48:15,716: INFO: [distributed_c10d.py: 432]: Added key: store_based_barrier_key:1 to store for rank: 0
2023-06-02 12:48:15,717: INFO: [distributed_c10d.py: 466]: Rank 0: Completed store-based barrier for key:store_based_barrier_key:1 with 2 nodes.
2023-06-02 12:48:15,733: INFO: [distributed_c10d.py: 466]: Rank 1: Completed store-based barrier for key:store_based_barrier_key:1 with 2 nodes.
2023-06-02 12:49:27,759: INFO: [train_multi_gpu.py: 65]: | epoch: 1 | loss: 33.31180191040039 | loss_g: 31.2178897857666 | loss_w: 2.093912363052368 | lr: 1.0000000000000001e-07 | disc_lr: 1.0000000000000001e-07
2023-06-02 12:50:30,795: INFO: [train_multi_gpu.py: 65]: | epoch: 2 | loss: 18.22700309753418 | loss_g: 17.53032684326172 | loss_w: 0.6966761350631714 | lr: 9.990754267376514e-06 | disc_lr: 9.990754267376514e-06
2023-06-02 12:51:12,410: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 2 | loss_g: 16.217060089111328 | loss_disc: 1.999979853630066
2023-06-02 12:52:35,755: INFO: [train_multi_gpu.py: 65]: | epoch: 3 | loss: 11.52556324005127 | loss_g: 11.375588417053223 | loss_w: 0.1499750018119812 | lr: 9.979206008271393e-06 | disc_lr: 9.979206008271393e-06
2023-06-02 12:52:35,756: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9994720220565796
2023-06-02 12:53:58,440: INFO: [train_multi_gpu.py: 65]: | epoch: 4 | loss: 12.130687713623047 | loss_g: 12.015471458435059 | loss_w: 0.11521672457456589 | lr: 9.963055062204609e-06 | disc_lr: 9.963055062204609e-06
2023-06-02 12:53:58,440: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9973113536834717
2023-06-02 12:54:26,933: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 4 | loss_g: 10.545166969299316 | loss_disc: 1.9967026710510254
2023-06-02 12:55:49,203: INFO: [train_multi_gpu.py: 65]: | epoch: 5 | loss: 10.983535766601562 | loss_g: 10.894118309020996 | loss_w: 0.08941741287708282 | lr: 9.942318025365027e-06 | disc_lr: 9.942318025365027e-06
2023-06-02 12:55:49,204: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9918556213378906
2023-06-02 12:57:13,010: INFO: [train_multi_gpu.py: 65]: | epoch: 6 | loss: 10.523397445678711 | loss_g: 10.419259071350098 | loss_w: 0.10413823276758194 | lr: 9.917016206459796e-06 | disc_lr: 9.917016206459796e-06
2023-06-02 12:57:13,011: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9791228771209717
2023-06-02 12:57:40,469: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 6 | loss_g: 9.559894561767578 | loss_disc: 1.9766931533813477
2023-06-02 12:59:04,421: INFO: [train_multi_gpu.py: 65]: | epoch: 7 | loss: 9.345637321472168 | loss_g: 9.30517292022705 | loss_w: 0.040464136749506 | lr: 9.887175604818207e-06 | disc_lr: 9.887175604818207e-06
2023-06-02 12:59:04,422: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9636516571044922
2023-06-02 13:00:27,272: INFO: [train_multi_gpu.py: 65]: | epoch: 8 | loss: 9.28451919555664 | loss_g: 9.215991973876953 | loss_w: 0.06852763891220093 | lr: 9.852826883675634e-06 | disc_lr: 9.852826883675634e-06
2023-06-02 13:00:27,273: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9527044296264648
2023-06-02 13:00:54,698: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 8 | loss_g: 8.622124671936035 | loss_disc: 1.9357608556747437
2023-06-02 13:02:17,948: INFO: [train_multi_gpu.py: 65]: | epoch: 9 | loss: 6.146459579467773 | loss_g: 6.11637544631958 | loss_w: 0.03008396551012993 | lr: 9.814005338664973e-06 | disc_lr: 9.814005338664973e-06
2023-06-02 13:02:17,949: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9932515621185303
2023-06-02 13:03:42,270: INFO: [train_multi_gpu.py: 65]: | epoch: 10 | loss: 6.795133113861084 | loss_g: 6.749742031097412 | loss_w: 0.04539122059941292 | lr: 9.77075086154801e-06 | disc_lr: 9.77075086154801e-06
2023-06-02 13:03:42,271: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9943803548812866
2023-06-02 13:04:09,624: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 10 | loss_g: 6.215439796447754 | loss_disc: 1.9836242198944092

Single GPU training
one RTX 3090, torch= 2.0.0 distributed.data_parallel=False
 common.save_interval=5
 common.test_interval=2
 common.max_epoch=100
 datasets.fixed_length=1000
 datasets.train_csv_path=/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/libritts_train100h.csv
 datasets.tensor_cut=100000
 datasets.batch_size=6
 lr_scheduler.warmup_epoch=2
 optimization.lr=1e-5
 optimization.disc_lr=1e-5

the log:
2023-06-02 13:08:02,786: INFO: [train_multi_gpu.py: 119]: {'common': {'save_interval': 5, 'test_interval': 2, 'max_epoch': 100, 'seed': 3401, 'amp': False}, 'datasets': {'train_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/libritts_train100h.csv', 'test_csv_path': '/mnt/lustre/sjtu/home/zkn02/train_encodec/datasets/LibriTTS_dev-other.csv', 'batch_size': 6, 'tensor_cut': 100000, 'num_workers': 0, 'fixed_length': 1000, 'pin_memory': True}, 'checkpoint': {'resume': False, 'checkpoint_path': '', 'disc_checkpoint_path': '', 'save_folder': './checkpoints/', 'save_location': '${checkpoint.save_folder}batch${datasets.batch_size}_cut${datasets.tensor_cut}_length${datasets.fixed_length}_'}, 'optimization': {'lr': 1e-05, 'disc_lr': 1e-05}, 'lr_scheduler': {'warmup_epoch': 2}, 'model': {'target_bandwidths': [1.5, 3.0, 6.0, 12.0, 24.0], 'sample_rate': 24000, 'channels': 1, 'train_discriminator': True, 'audio_normalize': True, 'filters': 32}, 'distributed': {'data_parallel': False, 'world_size': 4, 'find_unused_parameters': True, 'torch_distributed_debug': False}}
2023-06-02 13:08:02,791: INFO: [train_multi_gpu.py: 120]: Encodec Model Parameters: 14855843
2023-06-02 13:08:02,792: INFO: [train_multi_gpu.py: 121]: Disc Model Parameters: 283398
2023-06-02 13:08:02,792: INFO: [train_multi_gpu.py: 122]: model train mode :True | quantizer train mode :True
2023-06-02 13:10:11,058: INFO: [train_multi_gpu.py: 65]: | epoch: 1 | loss: 35.07368850708008 | loss_g: 33.48434066772461 | loss_w: 1.5893492698669434 | lr: 1.0000000000000001e-07 | disc_lr: 1.0000000000000001e-07
2023-06-02 13:12:14,356: INFO: [train_multi_gpu.py: 65]: | epoch: 2 | loss: 8.310249328613281 | loss_g: 8.114068984985352 | loss_w: 0.1961808204650879 | lr: 9.990754267376514e-06 | disc_lr: 9.990754267376514e-06
2023-06-02 13:13:08,171: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 2 | loss_g: 12.444842338562012 | loss_disc: 1.999990463256836
2023-06-02 13:15:45,271: INFO: [train_multi_gpu.py: 65]: | epoch: 3 | loss: 13.03136157989502 | loss_g: 12.901001930236816 | loss_w: 0.13035933673381805 | lr: 9.979206008271393e-06 | disc_lr: 9.979206008271393e-06
2023-06-02 13:15:45,272: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9959542751312256
2023-06-02 13:18:24,182: INFO: [train_multi_gpu.py: 65]: | epoch: 4 | loss: 10.319283485412598 | loss_g: 10.254348754882812 | loss_w: 0.06493447721004486 | lr: 9.963055062204609e-06 | disc_lr: 9.963055062204609e-06
2023-06-02 13:18:24,182: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9799656867980957
2023-06-02 13:19:17,341: INFO: [train_multi_gpu.py: 83]: | TEST | epoch: 4 | loss_g: 8.972946166992188 | loss_disc: 1.9816977977752686
2023-06-02 13:21:53,971: INFO: [train_multi_gpu.py: 65]: | epoch: 5 | loss: 7.428076267242432 | loss_g: 7.343043804168701 | loss_w: 0.08503223955631256 | lr: 9.942318025365027e-06 | disc_lr: 9.942318025365027e-06
2023-06-02 13:21:53,973: INFO: [train_multi_gpu.py: 67]: | loss_disc: 1.9636757373809814

My Best suggestion is make sure your torch version is samed as my torch version and use the lateset code or older code which I have not add more WarmupScheduler , Maybe there are some change in torch1.x and torch 2.x. Good luck to you. I hope this can help you @sjjbsj

if you have another question, please contact me and I will close this issue

Thank you for your reply. I tried not to use the newest WarmupScheduler optimizer, but still have this error.
Sadlly,  my cuda version is 11.2 and torch2.0.0 can not be installed. Can you guide me to some directions? For example, the stft function you mentioned

Thank you for your reply. I tried not to use the newest WarmupScheduler optimizer, but still have this error. Sadlly, my cuda version is 11.2 and torch2.0.0 can not be installed. Can you guide me to some directions? For example, the stft function you mentioned

maybe you can add more info about your environment, it can helps me to test the code.

tool:
python3.7, torch1.13, two T4 GPUs
command:
CUDA_VISIBLE_DEVICES=0,1 python3 train_multi_gpu.py
distributed.torch_distributed_debug=True
distributed.find_unused_parameters=True
distributed.world_size=2
common.max_epoch=10
datasets.tensor_cut=8000
datasets.batch_size=32
datasets.train_csv_path=/home/anna.peng/PycharmProjects/encodec-pytorch-main/librispeech_train100h.csv
lr_scheduler.warmup_epoch=2
optimization.lr=1e-4
optimization.disc_lr=1e-4
some DDP info:
[I logger.cpp:213] [Rank 0]: DDP Initialized with:
broadcast_buffers: 0
bucket_cap_bytes: 26214400
find_unused_parameters: 1
gradient_as_bucket_view: 0
has_sync_bn: 0
is_multi_device_module: 0
iteration: 0
num_parameter_tensors: 160
output_device: 0
rank: 0
total_parameter_size_bytes: 59423372
world_size: 2
backend_name: nccl
bucket_sizes: 2671180, 27041280, 27836928, 1873984
cuda_visible_devices: 0,1
device_ids: 0
dtypes: float
master_addr: localhost
master_port: 12455
module_name: EncodecModel
nccl_async_error_handling: N/A
nccl_blocking_wait: N/A
nccl_debug: N/A
nccl_ib_timeout: N/A
nccl_nthreads: N/A
nccl_socket_ifname: N/A
torch_distributed_debug: DETAIL
[I logger.cpp:213] [Rank 1]: DDP Initialized with:
broadcast_buffers: 0
bucket_cap_bytes: 26214400
find_unused_parameters: 1
gradient_as_bucket_view: 0
has_sync_bn: 0
is_multi_device_module: 0
iteration: 0
num_parameter_tensors: 160
output_device: 1
rank: 1
total_parameter_size_bytes: 59423372
world_size: 2
backend_name: nccl
bucket_sizes: 2671180, 27041280, 27836928, 1873984
cuda_visible_devices: 0,1
device_ids: 1
dtypes: float
master_addr: localhost
master_port: 12455
module_name: EncodecModel
nccl_async_error_handling: N/A
nccl_blocking_wait: N/A
nccl_debug: N/A
nccl_ib_timeout: N/A
nccl_nthreads: N/A
nccl_socket_ifname: N/A
torch_distributed_debug: DETAIL
[I reducer.cpp:126] Reducer initialized with bucket_bytes_cap: 26214400 first_bucket_bytes_cap: 1048576
[I reducer.cpp:126] Reducer initialized with bucket_bytes_cap: 26214400 first_bucket_bytes_cap: 1048576
[I logger.cpp:213] [Rank 1]: DDP Initialized with:
broadcast_buffers: 0
bucket_cap_bytes: 26214400
find_unused_parameters: 1
gradient_as_bucket_view: 0
has_sync_bn: 0
is_multi_device_module: 0
iteration: 0
num_parameter_tensors: 51
output_device: 1
rank: 1
total_parameter_size_bytes: 1133592
world_size: 2
backend_name: nccl
bucket_sizes: 38280, 1095312
cuda_visible_devices: 0,1
device_ids: 1
dtypes: float
master_addr: localhost
master_port: 12455
module_name: MultiScaleSTFTDiscriminator
nccl_async_error_handling: N/A
nccl_blocking_wait: N/A
nccl_debug: N/A
nccl_ib_timeout: N/A
nccl_nthreads: N/A
nccl_socket_ifname: N/A
torch_distributed_debug: DETAIL
[I logger.cpp:213] [Rank 0]: DDP Initialized with:
broadcast_buffers: 0
bucket_cap_bytes: 26214400
find_unused_parameters: 1
gradient_as_bucket_view: 0
has_sync_bn: 0
is_multi_device_module: 0
iteration: 0
num_parameter_tensors: 51
output_device: 0
rank: 0
total_parameter_size_bytes: 1133592
world_size: 2
backend_name: nccl
bucket_sizes: 38280, 1095312
cuda_visible_devices: 0,1
device_ids: 0
dtypes: float
master_addr: localhost
master_port: 12455
module_name: MultiScaleSTFTDiscriminator
nccl_async_error_handling: N/A
nccl_blocking_wait: N/A
nccl_debug: N/A
nccl_ib_timeout: N/A
nccl_nthreads: N/A
nccl_socket_ifname: N/A
torch_distributed_debug: DETAIL
When the epoch is greater than lr_scheduler.warmup_epoch, the above error will be thrown. Please let me know if I am missing any information.

emmm, I will constract a same environment with you to test the code. Maybe you can use the commit 56de473b9e1981b36e7a9276034af70e9036b4fb to test the code? At that commit, I use two scheduler to train the model seperately.

Besides, I think you can debug step by step to understand the specific problem. It can helps us to solve the problem @sjjbsj

hello! I test the code in torch 1.13.0, I found there are the bugs samed as you. I guess you can change the code as follows:
    model.train()
    disc_model.train()
    for input_wav in tqdm(trainloader):
        # warmup learning rate, warmup_epoch is defined in config file,default is 5
        input_wav = input_wav.cuda() #[B, 1, T]: eg. [2, 1, 203760]
        optimizer.zero_grad()
        optimizer_disc.zero_grad()
        output, loss_w, _ = model(input_wav) #output: [B, 1, T]: eg. [2, 1, 203760] | loss_w: [1]
        logits_real, fmap_real = disc_model(input_wav)
        logits_fake, fmap_fake = disc_model(output)
        loss_g = total_loss(fmap_real, logits_fake, fmap_fake, input_wav, output)
        loss = loss_g + loss_w
        loss.backward()
        optimizer.step()
        scheduler.step()
        # train discriminator when epoch > warmup_epoch and train_discriminator is True
        if config.model.train_discriminator and epoch > config.lr_scheduler.warmup_epoch:
            logits_fake, _ = disc_model(output.detach()) # detach to avoid backpropagation to model
            loss_disc = disc_loss([logit_real.detach() for logit_real in logits_real], logits_fake) # compute discriminator loss
            loss_disc.backward()
            optimizer_disc.step()
            disc_scheduler.step()

also you can find the problems in https://github.com/NVlabs/FUNIT/issues/23

I will test the code's results, if perform well, I will merge the issue6 branch to main

Thanks , the problem has been successfully resolved！


Add find and list for person

Codecov Report

Merging #65 (0a4f218) into master (90d8580) will decrease coverage by 13.92%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             master      #65       +/-   ##
=============================================
- Coverage     72.15%   58.23%   -13.93%
- Complexity      399      421       +22
=============================================
  Files            70       83       +13
  Lines          1232     1676      +444
  Branches        125      194       +69
=============================================
+ Hits            889      976       +87
- Misses          311      646      +335
- Partials         32       54       +22

Impacted Files
Coverage Δ

.../seedu/address/logic/parser/AddressBookParser.java
88.88% <ø> (-11.12%)
:arrow_down:

...eedu/address/logic/commands/FindPersonCommand.java
100.00% <100.00%> (ø)

...eedu/address/logic/commands/ListPersonCommand.java
100.00% <100.00%> (ø)

.../address/logic/parser/FindPersonCommandParser.java
100.00% <100.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
52.94% <0.00%> (-44.29%)
:arrow_down:

src/main/java/seedu/address/model/AddressBook.java
64.81% <0.00%> (-26.86%)
:arrow_down:

...rc/main/java/seedu/address/model/ModelManager.java
74.62% <0.00%> (-25.38%)
:arrow_down:

...u/address/storage/JsonSerializableAddressBook.java
77.77% <0.00%> (-22.23%)
:arrow_down:

.../java/seedu/address/storage/JsonAdaptedPerson.java
89.09% <0.00%> (-10.91%)
:arrow_down:

...a/seedu/address/model/person/UniquePersonList.java
82.60% <0.00%> (-10.08%)
:arrow_down:

... and 23 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Migration to Javalin 5 and update SLF4J version to 2

Fixes #4
Proposed Changes

Migration from Javalin 4.6 to 5.1
Migration from SLF4 1.7 to 2.0

Wrong branch


Links to a few resources from Google

R: @TalAter
There are a few libraries, articles, and videos that have come out of Google's Open Web Platform team that might be of interest.

👍

Thanks @jeffposnick , @addyosmani 👍


Add missing tket2.quantum operations to quantum module

          see Tk2ops, we should add missing (I can see at least Ry, CRz, Toffoli missing)

Originally posted by @ss2165 in https://github.com/CQCL/guppylang/pull/483#discussion_r1754795839

Any chance of rushing this in on Monday? Could do with it for the notebooks (specifically crz, possibly others)

I'll give it a go now


[3023] Send Trainee#ebacc to DTTP

Context
https://trello.com/c/i0payMBU/3023-s-send-ebacc-to-dttp
Changes proposed in this pull request

Add dfe_ebacc to Dttp::Params::PlacementAssignment

 [S] Send EBacc to DTTP


Create requirements.txt

add

Relates to:

Risks

Background
What does this PR do?
What kind of change is this?

Documentation changes needed?

Testing
Where should a reviewer start?
Detailed testing steps

A requirements.txt file is not needed since this is a TypeScript project.


TLAPM fails to run with error code -1073741515

Using tlaps 1.4.5 with toolbox 1.7.1 on Windows 10, and cygwin 3.2.0-1
I installed TLAPS according to the instructions at https://tla.msr-inria.inria.fr/tlaps/content/Download/Binaries/Windows.html
tlapm.exe runs fine in the cygwin window.
I added the tlapm.exe path in the toolbox at File > Preferences > TLAPS, but when I run it with CTRL+G+G the following error occurs:
Error running tlapm. Report a bug with the error code to the developers at https://github.com/tlaplus/tlapm/issues.

 Error code: -1073741515

I'm running it on the following simple file:
------------------------------- MODULE Proofs -------------------------------
EXTENDS Naturals

THEOREM OnePlusOne == 1 + 1 = 2
PROOF
  OBVIOUS

=============================================================================

Thank you for reporting this issue. Based on discussions on the website Stack Overflow about the error code -1073741515 in Windows, when interpreted as an unsigned decimal integer, the last 8 digits of its hexadecimal representation are c0000135, which when interpreted as an NTSTATUS code according to the Windows documentation means STATUS_DLL_NOT_FOUND with description "{Unable To Locate Component} This application has failed to start because %hs was not found. Reinstalling the application might fix this problem." (the string %hs would be replaced by text at runtime) (another mention of this exit code in Windows documentation).
The message "Error running tlapm ... tlapm/issues." is returned by the TLA+ Toolbox: https://github.com/tlaplus/tlaplus/blob/8dccb409a437ff7a9c556150ee147fad5c44526a/toolbox/org.lamport.tla.toolbox.tool.prover/src/org/lamport/tla/toolbox/tool/prover/job/ProverJob.java#L500-L501, and the integer value printed is returned in Java code by proverProcess.getExitValue().
Since tlapm.exe runs without issues within Cygwin's environment, it appears that comparing the environment paths within and outside of Cygwin could indicate what the differences are. A simple experiment would then be to add to the Windows path environment variable value those directories that are absent from it and present in the Cygwin path environment variable. The command echo %PATH% will show the value of the environment variable PATH in a Windows command line, and the command echo $PATH will show the value of the environment variable PATH in a Cygwin command line. (Perhaps another possibility would be to launch the TLA+ Toolbox from a Cygwin command line, so that it will probably use Cygwin's environment variables.) Relevant information about setting the path can be found in Cygwin's documentaton (which prepends the paths /usr/local/bin, /usr/bin, and /bin to the Windows system path (also relevant is Cygwin's documentation about environment variables).
About finding which DLL is not found during invocation of tlapm, two possibilities could be to attempt launching tlapm within a Windows environment (i.e., not Cygwin), and try to use Process Monitor or the command gflags /i tlapm +sls to find information about DLLs. Another possibility is suggested by Cygwin's documentation: objdump -p or cygcheck.
Other comments:

The given TLA+ module Proofs is proved by (a development version of) tlapm on my machine, using the SMT backend.
Trailing whitespace exists after the keyword PROOF.
GitHub's linguist includes TLA+ in the languages recognized for syntax highlighting in fenced code blocks. TLA+ highlighting can be activated in Markdown as follows:```tla
A == x = 1 /\ x' = 2
```

Thanks, @johnyf! Adding /usr/bin and /bin to my Windows path in addition to /usr/local/bin fixed the issue.

@johnyf Running TLAPS in WSL/WSL2 has been reliable for Leslie and me. With yesterday's WSL2 announcement of support for GUI apps, you could consider deprecating the Cygwin installer in favor of easy-to-install TLAPS and Toolbox Debian/Ubuntu packages  (latter already exists).

Thank you @ahelwer for suggesting documenting this information in the installer's messages. Thank you @lemmy for noting that TLAPS is known to reliably work on WSL/WSL2, suggesting transitioning to WSL2, and deprecating support for Cygwin.
I think that deprecating the Cygwin installer will make the packaging of tlapm easier, because building in Cygwin all the dependencies of tlapm that are packaged in the installer is nontrivial:
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/tools/installer/tlaps-release.sh.in#L129
A Debian package of tlapm or the Linux installer of tlapm can be used instead of the Cygwin installer.
For now, the Cygwin-related parts of the script tools/installer/tlaps-release.sh.in (which builds the installer) can remain, and not be unused. When the branch isabelle2020 is merged, those parts will become outdated, and if not updated would need to be removed.
For posterity, a message could be added to the installer after:
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/tools/installer/tlaps-release.sh.in#L619-L620
(which prints the installer message about adding /usr/local/bin to the environment's path--where the prefix/usr/local might differ depending on what the user selected when installing tlapm) that gets printed when the installer runs in Cygwin, and informs that for running tlapm from outside Cygwin, the Cygwin paths /usr/bin and /bin may also need to be added to the (non-Cygwin) path. Including links to the Cygwin documentation seems relevant here, specifically:

https://cygwin.com/cygwin-ug-net/setup-env.html
https://cygwin.com/faq.html#faq.using.path

because these Cygwin paths will need to be translated to whatever path representation is used outside Cygwin, in order to add them to that environment. So linking also to the tool cygpath:
https://cygwin.com/cygwin-ug-net/cygpath.html
will probably be helpful.
Also, the webpage that describes installation on Windows (the TLAPS website is part of the tlapm repository) could be updated with the information about updating the environment's path outside of Cygwin. Namely, the pages:

https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/doc/web/content/Download/Source.html
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/doc/web/content/Download/Binaries/Windows.html

When Cygwin installers are no longer distributed for the latest version of tlapm, the webpage about installation from binaries on Windows could be updated to describe how to install in WSL2, and keep the old Cygwin instructions for anyone interested to run the Cygwin installer for an older version of tlapm:
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/doc/web/content/Download/Binaries/Windows.html
After Cygwin support has been removed from the packaging script, the webpage about building from source could be updated to leave unspecified whether tlapm is known to build and work on Cygwin:
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/doc/web/content/Download/Source.html#L28-L29
Mention of Cygwin may need to be removed also from:
https://github.com/tlaplus/tlapm/blob/0402a4ccd331ddea0acfd6949a7faf6d3e42d861/INSTALL#L9-L13
when it will no longer be known whether building tlapm on Cygwin works.

@ahelwer, is this still relevant?


Is it possible to append data when downloading video data

WebTorrent version: 0.95.2
Node.js version: v6.2.2
Browser name/version (if using WebTorrent in the browser): chrome 51/ Firefox

Hi, I am making up a p2p video service. Normally, Ｉsplit big video data into serveal pieces. Webtorrent works well on single video, but I wonder if there is a way I can directly add data to the end  of downloaded video instead reload video player. I have tried mediasource API, but I don't know how to merge it into webtorrent. Can I deal with downloaded data directly(add or read to that stream)? Or can I choose where to download if the speed of peer is too low?
Thanks a lot!

You might want to take a look at #826.

Torrents are immutable. You can build a mutable data store on top of torrents, but that's out of scope for webtorrent.


IDataType generic restriction

Partial implement #247
What changes in this PR?

move classes out of the package jdbc except JDBC relevant
Refactor IDataType with Generic Type constraint
Split DataTypeIntX into DataTypeUIntX and DataTypeIntX
Now ClickHouse type mapping IDataType 1:1
Move type cast logic out from IDataType
Distinguish javaType and jdbcJavaType in IDataType
Misc code refactor

retest this please

retest this please

retest this please

Oops, it doesn't work.

retest this please

Oops, it doesn't work.

LGTM， nice pr.

LGTM， nice pr.


Implemented greater/less than or equal too as a single condition

What is the context of this PR?
Author needs to be able to support writing inclusive comparators as part of the routing based on a number type answer. This PR implements these new conditions.
How to review
Tests pass and routing is now possible using inclusive comparator signs.

@SamGodwin2 Travis should pass now that the validator change has gone in. Happy to approve once the two comments are addressed.


Checkpoints for non-expert policies for MetaWorld

Hi Nicklas,
Thank you for release the checkpoints and datasets! This is super useful for the community. I noticed that the released checkpoints for MW are different seeds of the expert policy. I was wondering if you also plan to release the intermediate checkpoints (for random / medium-expert policies). Thank you!

Hi @aliang8, I'm glad that you find it useful! We did not retain intermediate checkpoints and have no plans to release any at this time. However, it should be fairly straightforward to generate them yourself using our tdmpc2 online RL training script. One thing to keep in mind though would be that rate of convergence can differ quite substantially between tasks in Meta-World, so you would probably have to keep track of the success rate and save checkpoints when you are at your target performance level :-)

Thanks for the reply!


[AIRFLOW-966] Make celery broker_transport_options configurable

Make sure you have checked all steps below.
JIRA

[X] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-966

Description

[X] Here are some details about my PR, including screenshots of any UI changes:

Required for changing visibility timeout and other options required
for Redis/SQS.
Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Covered by existing.
Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

[X] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

LGTM

@bolkedebruin I am testing this patch as part of testing v1-10-test branch, but I running into problems overriding the celery_broker_transport_options.  See my post here<EMAIL_ADDRESS>


[BEAM-13710][Playground] Update the Apache Beam privacy policy with Playground note

This PR contains the following changes:

Updated the Apache Beam website privacy policy with "Apache Beam Playground website may temporarily store and process data submitted by users through the Playground website."
Replaced the current Playground privacy policy to point to the Apache Beam website one – https://beam.apache.org/privacy_policy/

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @ElessarST @ilya-kozyrev

Retest this please

R: @aijamalnk @pabloem @damondouglas

LGTM. @damondouglas thoughts?

LGTM on my side.


Fix .Net "dotnet/standard repository" link on .Net Standard

Maybe there is an error on "https://docs.microsoft.com/en-us/dotnet/standard/net-standard" on paragraph https://github.com/dotnet/docs/blob/master/docs/standard/net-standard.md#official-artifacts the link "dotnet/standard repository" should be "https://github.com/dotnet/standard" instead of "https://github.com/dotnet/corefx/tree/master/src" if you agree i can fix and PR.

Yes, I agree @MarcoRossignoli! This was an overlook on my part when updating the content a few months ago. Thanks for reporting and volunteering to fix the issue.


Total time in The Hub differs between the stats page and the personal page

At the moment of writing, Tejp has 149:18:45 on the stats page on https://hubbit.chalmers.it/stats, but on his personal page his total sum is 101:18:45. See pictures below. The same bug also seems to affect Horv's stats.

Resolved in #5


Provide region when creating Public IP Address

This avoids the prompt for region and follows the precedent set by the subnet creation

I think we should ask users to set the region up front to avoid that flag on every command. Thoughts?

I agree. Same issue with the region-zone. It tripped me up, not knowing I had previously set a default zone.  Setting those explicitly at the beginning would be helpful. Would you like me to do that?

This should be fixed on master.


[PLUGIN REQUEST] gitignore.nvim

Field
Description

Plugin
gitignore.nvim

Homepage
https://github.com/wintermute-cell/gitignore.nvim

Nixpkgs
false

Extra Information
From the README:

A neovim plugin for generating .gitignore files in seconds, by allowing you to select from a huge number of different technologies.

PR created upstream: https://github.com/NixOS/nixpkgs/pull/304191

Hi @GaetanLepage https://github.com/NixOS/nixpkgs/pull/304191 jusy made it to unstable :smile:
Tracker
Search


Milestone 4: Full Website | features/fullWebsite - >>branch

🚩: Milestone 4: Full Website | features/fullWebsite - >>branch
Here is a summary of what has been done
In this new Branch, I have ADDED the succeeding *📂 folders and **📄 files.

📂* root/src/

📂* components/

**📄 TodoApp.jsx

New component to the Todo Project

**📄 MenuData.js

**📄 Menu.js

Created the Navigation Menu for the Math Magician Project and an array of objects to store the data for the menu.

**📄 HomePage.js

Created the HomePage component for the Math Magician Project.

📂* styles/

**📄 Menu.css

Styles for the component Menu.js.

In this Branch, I have MODIFIED the succeeding 📂* folders and 📄** files

📂* root/src/

**📄 package.json

**📄 package-lock.json

Modified by the installation of react-route-dom version 6.

**📄 index.js

Modified the import order.

**📄 App.js

Added the HomePage component and the Menu component.
Added the Routes to render all the main components.

📂* components/

**📄 Quotes.js

Added a loading animation and p tags for the error message.

**📄 Calculator.js

Modified the main container to add the "Let's do math" text.

📂* styles/

**📄 index.css

Added new selector and properties and the body background animation.

**📄 ButtonPanel.css

Modified the font-size variable.

**📄 App.css

Added new selector and properties and the loading animation.

Thank you for taking the time to review this PR ⭐!

Thank you very much @Kamba56 for your time in this review and for your feedback ✨
Have a nice day 😄


cleaner and faster map_boxes()

This PR implements a more elegant and yet substantially faster map_boxes function.  I have been going back to the drawing board for this since I spent a lot of time on extending the old approach (via the ParallelBoxIterator) in the adaptive_boxmap branch and yet have been unable to do so.  The current function is almost trivial (and yet easily multi-threaded) and can be trivially extended for adaptive_boxmap.  This is meant to be a proof of concept and would need to be extended to mapping to a different target and also for the TransferOperator.  Would this approach have any serious drawbacks?

Would this approach have any serious drawbacks?
I'll write a longer comment on this later today or sometime tomorrow.

However, I am surprised that this is substantially faster... Sure, the ParallelBoxIterator has some overhead due to the work queue management... but it shouldn't be that much slower. What's the result of the Henon @btime?

On my quad core i5 MacBook from 2018 with 8 threads:
184.056 ms (26579 allocations: 7.37 MiB)
  30.387 ms (289 allocations: 7.90 MiB)

Can you try a workload (increase depth) that takes multiple seconds? Just curious :)

With depth=34:
32.101 s (847814 allocations: 189.71 MiB)
  1.248 s (454 allocations: 353.79 MiB)

Ok, this is definitely surprising. I'll look into the reason for this difference in speed before writing the longer comment.