BENCH: is the SciPy's benchmark website still up to date?

Recently, I went on Scipy's benchmark website, but I didn't see any change from v1.6.1. For example, the last bencharmk for fisher_exact is from the 12th of March. I looked to other benchmark, and it seems to be around the same date.
Is this normal? If not, would there be a way to continue benchmarking commits throughout history to have some comparisons?

Not sure, last I heard @pv was graciously allowing the benchmarks to run on a machine they set up (I believe), but we probably can't expect that to be the case forever.

I thought I should mention that AWS credits may still be available through NumFOCUS if someone wants to set up a system there.

I would be very happy to do it, if there is not issue with it :-)
On Tue 1 Jun 2021 at 23:55, Matt Haberland @.***> wrote:

I thought I should mention that AWS credits may still be available through
NumFOCUS if someone wants to set up a system there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/scipy/scipy/issues/14157#issuecomment-852474492, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AI7LNNXV67HDLQWTVPYPZSLTQVJL5ANCNFSM453HDI2A
.

Sounds good, but before you spend time on it, let's see what @rgommers and @pv have to say. I had suggested an AWS server before to run xslow benchmarks (and maybe give developers the ability to run benchmarks on commits on demand), but at the time we had talked about just doing that on the existing server.

I hope Pauli will be able to comment on the status of his server. As Tyler said, Pauli has kept this running this for years, which is awesome - but https://pv.github.io/scipy-bench/ is not an official SciPy thing, and we can't necessarily expect it to run forever.
Regarding setting up a new server, there's two things that could be useful to prepare/investigate:

With different hardware, the benchmark results of the old server are no longer valid. So one needs to re-run a lot of old builds + benchmark suite runs. Coming up with a good strategy here would be great. Running every commit would take forever, and every release is clearly a bit too sparse - so how many commits should be used?
Write up a short summary of how to ensure we get stable hardware. An AWS server doesn't live forever, and virtualized hardware typically isn't as reproducible as a real physical box. How do we ensure/verify that results are reproducible over time?

Thank you @rgommers for your answer.
Ill try to come up with some ideas by the end of the week

Ok, so here is what I have came up with, so far :

With different hardware, the benchmark results of the old server are no longer valid. So one needs to re-run a lot of old builds + benchmark suite runs. Coming up with a good strategy here would be great. Running every commit would take forever, and every release is clearly a bit too sparse - so how many commits should be used?

I wanted first to run benchmark only with the benchmarking function which have been modified. For example, if a commit have modified scipy.stats.fisher_exact function, we would only run the benchmark of fisher_exact. But then, I realized that some functions depend on other functions, and it would be too complicated to trace back all functions.
I think the best solutions would be to run benchmark only on merged PR. There are at the time of writing this comment 25,893 commits in the scipy repository, but 6,606 PR closed. I don't know if each closed PR are merged PR, so we might have little bit less benchmarks' run at the end. Also, we could consider only the last two years of benchmarks.

Write up a short summary of how to ensure we get stable hardware. An AWS server doesn't live forever, and virtualized hardware typically isn't as reproducible as a real physical box. How do we ensure/verify that results are reproducible over time?

I think, here you are referring to virtually cores as opposed to physical cores. I had met this issue previously in one of my PR, not understanding why the performance of one of my algorithm wasn't linear correlated to the numbers of processus, on AWS EC2 instances. Following this, I have done some research, and there are two types of instances where vCPU == physical CPUs (Here the documentation) :

Each vCPU is a thread of a CPU core, except for T2 instances and instances powered by AWS Graviton2 processors.

I don't know how CPU's core we truly need. I tried on a c6g with 8 cores, but I don't think we need that much.
Also, we might think of implementing some queues which trigger the execution of the benchmarks only when a PR is merged to master, in order to not pay unused instances.
It is a bit of work, so I want to know first what you think of all this :-)

I don't know if each closed PR are merged PR, so we might have little bit less benchmarks' run at the end. Also, we could consider only the last two years of benchmarks.

No, some PRs are squashed. Doing only the last 2 years sounds like a good idea. And probably not every PR needs to be done - just sampling commits at equidistant intervals and doing only as many as is practical should be fine.

I think, here you are referring to virtually cores as opposed to physical cores.

Not just that, also that if you stop a VM and spin it up you can get physically different hardware. And the workloads of other jobs running on that same hardware can also affect the results.
Measuring the variation over runs may be useful, checking if the variance in the results is larger than if you do the same locally. There may also be ways of "normalizing" the results (not sure).

Also, we might think of implementing some queues which trigger the execution of the benchmarks only when a PR is merged to master, in order to not pay unused instances.

Yes, that sounds like a good idea.

On Jun 13, 2021, at 6:04 PM, Ralf Gommers @.***> wrote:

I don't know if each closed PR are merged PR, so we might have little bit less benchmarks' run at the end. Also, we could consider only the last two years of benchmarks.
No, some PRs are squashed. Doing only the last 2 years sounds like a good idea. And probably not every PR needs to be done - just sampling commits at equidistant intervals and doing only as many as is practical should be fine.
I think, here you are referring to virtually cores as opposed to physical cores.
Not just that, also that if you stop a VM and spin it up you can get physically different hardware. And the workloads of other jobs running on that same hardware can also affect the results.

You could look at reserved instances (RI) if this is a concern. RI usually works with a yearly bill, is at a discount from on demand prices and could be used for other things than benchmarking-if needed. The alternative could be to provision from an AMI if you didn’t want to use/pay for a dedicated box.

Measuring the variation over runs may be useful, checking if the variance in the results is larger than if you do the same locally. There may also be ways of "normalizing" the results (not sure).
Also, we might think of implementing some queues which trigger the execution of the benchmarks only when a PR is merged to master, in order to not pay unused instances.
Yes, that sounds like a good idea.

There are open source options like celery with a redis backing. If you plan to use AWS, SQS is the queuing service. You could setup a we hook against an api gateway that triggers an aws lambda which puts a message into sqs-that’s how I would do it on aws services, unless you have a simpler way.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

You could look at reserved instances (RI) if this is a concern. RI usually works with a yearly bill, is at a discount from on demand prices and could be used for other things than benchmarking-if needed.

I think NumFOCUS can help us with this if we can demonstrate the need. And I think we can demonstrate the need: SciPy is an important project that needs to be benchmarked, and until now a volunteer has been managing a server. We can't continue that way forever, so I think it's reasonable to ask for a donation of one of these things (or the equivalent amount of credits).

The key thing to address Ralf’s concern is to choose the correct tenancy on the RI. The RI is a billing thing but would save a large cost over on demand instances provided they machine(s) is used at least the percentage of time for the discount off the on demand price. You keep the RI running the entire time and choosing a dedicated host mitigates Ralf’s concern about other things running on the same host.

On Jun 14, 2021, at 8:17 PM, Matt Haberland @.***> wrote:

You could look at reserved instances (RI) if this is a concern. RI usually works with a yearly bill, is at a discount from on demand prices and could be used for other things than benchmarking-if needed.
I think NumFOCUS can help us with this if we can demonstrate the need. And I think we can demonstrate the need: SciPy is an important project that needs to be benchmarked, and until now a volunteer has been managing a server. We can't continue that way forever, so I think it's reasonable to ask for a donation of one of these things (or the equivalent amount of credits).
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Re: the current benchmark machine --- it's still set up, but occasionally there are changes in how Scipy build works (in this case pythran) that need some manual looking after. There's currently no alert that pings when build fails.
The cheapest setup definitely is to lease a dedicated server, but then it needs a volunteer to look after it. This is not a big job (I haven't touched the configs for a long time) but sometimes things break.

Re: the current benchmark machine --- it's still set up, but occasionally there are changes in how Scipy build works (in this case pythran) that need some manual looking after. There's currently no alert that pings when build fails.

The cheapest setup definitely is to lease a dedicated server (or just run on someone's machine at home or work), but then it needs a volunteer to look after it, and we have experience how sustainable that is. This is not a big job (I haven't touched the configs for a long time) and can run for months/years without much supervision but sometimes things break.

Thank you @pv for your feedbacks. Does it mean that the bugs have been fixed, and the benchmarks are up again? Or should we bother to reimplement the entire setup on an AWS server?

I can also try to get a VM on Azure with jumping through some hoops or if this is a well defined app through some function apps or lambda.

Re: the current benchmark machine --- it's still set up, but occasionally there are changes in how Scipy build works (in this case pythran) that need some manual looking after. There's currently no alert that pings when build fails.

The cheapest setup definitely is to lease a dedicated server (or just run on someone's machine at home or work), but then it needs a volunteer to look after it, and we have experience how sustainable that is. This is not a big job (I haven't touched the configs for a long time) and can run for months/years without much supervision but sometimes things break.

Thank you @pv for your feedbacks. Does it mean that the bugs have been fixed, and the benchmarks are up again? Or should we bother to reimplement the entire setup on an AWS server?

IIUC we still would like to implement a setup on a server (from somewhere). I'm familiar w/AWS (I work at amazon) but if we want to use a different cloud provider I have no issue with that either. My understanding is the point is to increase the bus factor while also making this (more) maintainable than current setup.

If I resume :
We want to create a maintainable setup on a stable machine which will works 24/24.
To have some backwards information and comparison data, we would like to run the benchmarks for a while back (e.g. All PRs starting 2 years ago). If the server is up 24/24, I don't think we need to restrained ourselves on particular PR, since we have at maximum 3 or 4 PRs a day. The server would be able to handle this.
But first, we should decide :

How long we want to go back for having comparisons data
How many PRs we want to benchmarks
who would be responsible for it, and where would the server's codes lay ?
what setup do we want and need ?

Also, thanks to @pv, the Scipy's benchmark website is up again.

How long we want to go back for having comparisons data

How about using some log spacing? Dense sampling for the last year, and then gradually sparser. I do think it is helpful to go quite far back in time, because performance changes for any given function that is being benchmarked is like to change rarely (significant improvements could be once every few years).

How many PRs we want to benchmarks

I'd take the amount of time you want it to take to generate all the results, and work it out from there. If it takes 15 minutes to build SciPy, and 15 minutes to run the benchmarks, then you can take one PR every two weeks to go back in time 1 year in 1 day of server time.

who would be responsible for it, and where would the server's codes lay ?

That's always the question with servers .... The code is the easy part, it seems fine to add it to the main repo under benchmarks/.  Who is responsible: let's say we empower whoever sticks their hand up, and they can share the credentials with 1-3 other people to reduce the bus factor.

what setup do we want and need ?

Not really sure.

Also, thanks to @pv, the Scipy's benchmark website is up again.

Awesome!


Feat/workflow list enhancement

This PR will enhance the workflow list by adding checkboxes to control workflows and changing the UI for this new feature.

[ ] Implement #298
[x] Add action buttons for batch operations.
[ ] Add a control for the disabled state of the action buttons.
[x] Update the alignment and density of rows.
[ ] Add REST endpoints for batch operations.

[x] batch delete
[ ] batch run
[ ] batch stop

[x] Add the last run status of tasks to the workflow list.
[ ] Add a dynamic action button for single workflow actions.
[ ] Update the toast notifications for batch operations.
[ ] Add unit tests for the new REST endpoints.

Current UI (WIP):

@tdari this is looking neat, I like compact!
we are missing the "visualize workflow" action, though. Or, in your proposed design, how does the user navigate to the specific workflow visualization page?

hi, @luiztauffer. Individual list items are still redirecting to the details page. It's working as it was before.

@vinicvaz why do we have this restriction here in workflow_service.py? Is it something with Airflow? I think we should allow this to enable users to test their workflows. What do you think?
def run_workflow(self, workflow_id: int):
        .
        .

        # Check if start date is in the past
        if workflow.start_date and workflow.start_date > datetime.now(tz=timezone.utc):
            raise ForbiddenException('Workflow start date is in the future. Can not run it now.')

        if workflow.end_date and workflow.end_date < datetime.now(tz=timezone.utc):
            raise ForbiddenException('You cannot run workflows that have ended.')

        .
        .

I see thanks @vinicvaz

I've finished most of this PR. Can you test it before I start writing tests? There may be some mistakes I haven't noticed, and I've had to decide on naming conventions, endpoints, etc. Let me know if you have a better proposal. I couldn't separate commits as I expected. Sorry for such a big change list.


Support for other resource file extensions such as .stencil and .png

How to include .stencil and .png resources in bundle?
Target resources are defined as resources: [.process("Resources")], and when building with SPM natively, all files are copied to bundle. I could be wrong, but I believe that .process() includes all files, regardless of file type/extension, while performing optimizations for specific types/extensions.
FWIW, resources: [.copy("Resources/Image.png")] is also not working.
In both cases, the following error is reported when running the executable target:
Generator/Generator.rspm_resource_bundle_accessor_ResourceBundleAccessor.swift:42: Fatal error: unable to find bundle

Any help or suggestions is welcome. Thank you!

I just noticed Unable to find dependency labels for s in the log, is it related?
bazelisk run //:update_build_files
INFO: Analyzed target //:update_build_files (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //:update_build_files up-to-date:
  bazel-bin/update_build_files-runner.bash
  bazel-bin/update_build_files
INFO: Elapsed time: 0.226s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Running command line: bazel-bin/update_build_files
gazelle: Unable to find dependency labels for s

I just noticed Unable to find dependency labels for s in the log, is it related?

Not sure.

resources: [.process("Resources")]

Is this in the Package.swift for one of your dependencies or is it in the Package.swift for your repository?

@cgrindel Thank you for taking time to reply. Very much appreciated 👍
The resources are in one of the dependencies.

By any chance is this dependency publicly available, it would be great to add a repro to one of the examples in this repository.

Hi @cgrindel 👋
I published an example dependency to use to attempt to repro my issue.
https://github.com/tinder-cfuller/rspm-example
Since rules_swift_package_manager has been updated since I originally submitted my issue, I am attempting to repro with the latest version that has new instructions.
After following the latest instructions in the README, I am receiving the following error:
$ bazel run //:update_build_files
ERROR: no such package '@@[unknown repo 'swift_deps_info' requested from @@]//': The repository '@@[unknown repo 'swift_deps_info' requested from @@]' could not be resolved: No repository visible as '@swift_deps_info' from main repository
ERROR: /Users/christopherfuller/Downloads/rules_swift_package_manager_debugging/Executable/BUILD.bazel:25:8: no such package '@@[unknown repo 'swift_deps_info' requested from @@]//': The repository '@@[unknown repo 'swift_deps_info' requested from @@]' could not be resolved: No repository visible as '@swift_deps_info' from main repository and referenced by '//:update_build_files'
ERROR: Analysis of target '//:update_build_files' failed; build aborted: Analysis failed
INFO: Elapsed time: 0.150s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

If I manually add swift_deps_info to MODULE.bazel, the error of course is:
$ bazel run //:update_build_files
WARNING: /Users/christopherfuller/Downloads/rules_swift_package_manager_debugging/Executable/MODULE.bazel:5:27: The module extension swift_deps defined in @rules_swift_package_manager//:extensions.bzl reported incorrect imports of repositories via use_repo():

Imported, but not created by the extension (will cause the build to fail):
    swift_deps_info

Fix the use_repo calls by running 'bazel mod tidy'.
ERROR: Analysis of target '//:update_build_files' failed; build aborted: module extension "swift_deps" from "@@rules_swift_package_manager~//:extensions.bzl" does not generate repository "swift_deps_info", yet it is imported as "swift_deps_info" in the usage at /Users/christopherfuller/Downloads/rules_swift_package_manager_debugging/Executable/MODULE.bazel:5:27
INFO: Elapsed time: 0.190s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

I have attached my sample executable project:
Executable.zip
This can be executed via SPM directly with:
swift run example

Which will output:
Hello World

For reference, I ultimately expect to validate by executing:
bazel run //:example

May you please help me to fix the error I am receiving so I am then able to continue to repo my original issue. Thank you!

@cgrindel Looking through the source code, I found usage of declare_swift_deps_info, which is not currently in the README instructions. Adding this has helped:
swift_deps.from_package(
    declare_swift_deps_info = True, // <- here
    resolved = "//:Package.resolved",
    swift = "//:Package.swift",
)

With this in place, I am able to execute bazel run //Sources/ExampleExecutable (not bazel run //:example as I wrote previously).
And this errors with the same bundle error I reported:
ExampleLibrary/ExampleLibrary.rspm_resource_bundle_accessor_ResourceBundleAccessor.swift:42: Fatal error: unable to find bundle

Here is the up-to-date sample executable project:
Executable.zip
Now that we have a repro example in place, may you please help diagnose the resources issue? Thank you!

[!NOTE]
The repro example is only setup for a .stencil file resource, but the reported issue affects other resource types including, but not limited to, png images.

Looking through the source code, I found usage of declare_swift_deps_info, which is not currently in the README instructions. Adding this has helped:

I just put up #1185 to clarify when one needs to specify that attribute. Can you review and let me know if that helps?
Regarding the resource issue, I will take a look now that we have a repro. Thanks!

@cgrindel Thank you!

Hi @cgrindel 👋
I am kindly checking in to see whether you can please look into this issue?

Sorry for the delay, @tinder-cfuller. I am a bit behind on my open-source work. I'll try to look at it this weekend.

There are a couple of issues.
First, to use resources with Bazel-built Apple applications, you must use a rules_apple rule that supports resources (e.g. macos_application, ios_application). This means that you need to change the example so that ExampleExecutable is a  macos_application instead of a swift_binary.
Second: However, as @tinder-cfuller rightly points out, SPM allows you to create a command-line application that can access resources. Unfortunately, macos_command_line_application does not.  In theory, I think that we need to update rules_apple to support resources. Then, the example could be defined as
load("@build_bazel_rules_swift//swift:swift.bzl", "swift_library")
load("@rules_apple//apple:macos.bzl", "macos_command_line_application")
load(
    "@rules_apple//apple:versioning.bzl",
    "apple_bundle_version",
)

swift_library(
    name = "ExampleExecutableLib",
    srcs = ["ExampleExecutable.swift"],
    module_name = "ExampleExecutable",
    visibility = ["//visibility:public"],
    deps = ["@swiftpkg_rspm_example//:ExampleLibrary"],
)

apple_bundle_version(
    name = "CommandLineSwiftVersion",
    build_version = "1.0",
)

macos_command_line_application(
    name = "ExampleExecutable",
    bundle_id = "com.example.command-line-swift",
    infoplists = [":Info.plist"],
    minimum_os_version = "10.13",
    version = ":CommandLineSwiftVersion",
    deps = [":ExampleExecutableLib"],
)

@brentleyjones @luispadron Do you have thoughts on adding resource bundle support to macos_command_line_application?

Thank you @cgrindel 👍 Very much appreciated!
And just for my own Bazel learning, may you please clarify, would the example Bazel config you provided ultimately be code generated just like the swift_binary one is today? Asking since I was considering adopting rules_swift_package_manager as a way to avoid manually creating and maintaining BUILD files.
Also, are we sure that macos_command_line_application would be required? I would very much like to see a Bazel solution that matches how SPM works as apposed to xcodebuild for example. This would result in the same bundle format and without the property list, etc. And I am not familiar enough the resulting binary formats, but I would guess that the SPM format is different. Ultimately, if I have some consumers that consume this executable via SPM and some via Bazel, I would expect that the executable and bundle formats are the same.

would the example Bazel config you provided ultimately be code generated just like the swift_binary one is today?

Yes and no. It will generate the swift_binary as you saw. However, if you change it to a swift_library, it should respect that and apply any future changes to the swift_library. The gazelle plugin does not support any of the rules_apple targets, at this time.

Asking since I was considering adopting rules_swift_package_manager as a way to avoid manually creating and maintaining BUILD files.

Great. FYI. Per a request from the community, I am working to separate the Gazelle plugin from the rules_swift_package_manager. In the coming months, they will be two separate projects.

are we sure that macos_command_line_application would be required?

Well, all of the Apple bundle support is implemented in rules_apple rules. The Bazel rules try to separate Swift from the Apple-specific functionality. Swift Package Manager does not.

I would expect that the executable and bundle formats are the same.

By any change, did you try your example on Linux? Did it work? If so, that could be a good argument for adding the resource bundling to the Swift Bazel rules. 🤷♂ @brentleyjones @luispadron Do you have any thoughts on this?


Local conformance tests

Questions for discussion:

Do we run all tests locally by default, including those we do not yet support?
Are conformance tests versioned? How do we stay up to date?


SEP-38 Tests

resolves #71
Adds tests to the test suite library for SEP-38.
One major assumption made by these tests is that the anchor supports clients looking to sell Stellar assets in exchange for off-chain assets, which are the types of quotes used to facilitate SEP-6/24 withdrawals and SEP-31 sends. If the anchor doesn't support these types of quotes the suite will not be very useful to them. Ideally we would check which type of exchange is supported and use those types of quotes in the rest of the tests.

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/

I forgot that we need to create branches on the upstream, opening a new PR now

Preview is available here:http://stellar-anchor-tests-pr72.previews.kube001.services.stellar-ops.com/


Cloudfalre Astro

Hello, do you have plans to support astro framework hosted on cloudflare? I can see you already support remix on cloudflare, which is great.

We do but even for the Remix one we aren't ready to release it just yet.


Unspecific Error Message

I submitted a new build to TestFlight yesterday and everything seemed to be fine. At the end, Fastlane told me that it finished with errors. Scrolling up I could not find what it meant. Reading the log file did not help either. Can you tell me what I did wrong?
Thanks so much!
Crash report number: 644f6bf4e885aff907d66b8cbeb180d4

Can you share the complete output when running it?

Sure. Here you go. output.txt

You don't have an external build approved yet, please check out pilot --help on how to distribute it for internal builds.

Thanks for your reply, Felix. Unfortunately, I wasn't able to find anything regarding the approval of external builds or the distribution of internal ones in there. Unless you're talking about the PILOT_SKIP_SUBMISSION?

@flohei are you using the latest version of pilot?

Yes, I am. So you have an example of what that would look like in my Fastfile?
And is there a way to verify/test your Fastfile configuration without actually running and, in probably most cases, uploading the app to iTunes Connect?

pilot --help

    --distribute_external  Should the build be distributed to external testers? (PILOT_DISTRIBUTE_EXTERNAL)

So you should add this to your Fastfile
pilot(distribute_external: false)

Make sure to have the latest version of pilot installed

I'm going to close this issue since it has been open for a while without follow up.


panic when running commands via ssh

When I try to run a command I get the following error
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
github.com/guelfey/go%2edbus.sessionBusPlatform(0x80f61e, 0x18, 0x0)
	/home/dn/git/go-jira/src/github.com/guelfey/go.dbus/conn_other.go:26 +0x1fd
github.com/guelfey/go%2edbus.SessionBusPrivate(0x8, 0x820470, 0xc42004be10)
	/home/dn/git/go-jira/src/github.com/guelfey/go.dbus/conn.go:99 +0xc0
github.com/guelfey/go%2edbus.SessionBus(0x0, 0x0, 0x0)
	/home/dn/git/go-jira/src/github.com/guelfey/go.dbus/conn.go:76 +0xc0
github.com/tmc/keyring.init.1()
	/home/dn/git/go-jira/src/github.com/tmc/keyring/keyring_linux.go:144 +0x34
github.com/tmc/keyring.init()
	/home/dn/git/go-jira/src/github.com/tmc/keyring/keyring_linux.go:162 +0xcb
gopkg.in/Netflix-Skunkworks/go-jira%2ev0.init()
	/home/dn/git/go-jira/src/gopkg.in/Netflix-Skunkworks/go-jira.v0/util.go:386 +0xb4
main.init()
	/home/dn/git/go-jira/main/main.go:612 +0x6e

Using current master (git commit e80d17d21ee67851ce2dc026f3181637dd7ad196).
When issuing the same command not via ssh it works.
uname -a - Linux dn-VirtualBox 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

What version of go-jira are you using?  I looked forutil.go:386 but that file is only 385 lines long now, so looks like some changes were made after your version.  I recommend trying the latest version and see if that fixes your problem:
https://github.com/Netflix-Skunkworks/go-jira/releases/tag/v0.1.11
-Cory

Not sure if this is still an issue and have changed how jira does authentication and upgraded tmc/keyring to latest.  It looks like dbus related. With the latest auth mechanism perhaps you dont need password-source set any more.  If still an issue please reopen.


Conflict between Text and UiImage components when a ui node has both

Bevy version
Bevy 0.9
What you did
Noticed while implementing #6825
What went wrong
If you add both the image and text components to a UI node you get a mess:

It's not clear what the desired behaviour should be.

The BackgroundColor component also controls the color of images,  maybe there should be a separate image color component as well?

A node can't be both text and an image at the same time, but we can't prevent someone from adding both components without #5121


Scrobbles always all YouTube videos on new experimental design

Even though I restricted scrobbling on YouTube only for the music category, every video is attempted to be scrobbled with the new experimental design (with night mode).
Expected Behavior
Attempted scrobbling only of music videos, independent from the design.
Current Behavior
Even though YouTube scrobbling is only allowed for music videos, it tries to scrobble all videos with the new YouTube design enabled.
Possible Solution
Workaround: disable scrobbling or new design
Steps to Reproduce (for bugs)

enable new YouTube design:
1.1. go to youtube.com and open Chrome console (F12 and change to console tab)
1.2. enter following code, hit enter and reload:
var cookieDate = new Date(); cookieDate.setFullYear(cookieDate.getFullYear( ) + 1); document.cookie="VISITOR_INFO1_LIVE=fPQ4jCL6EiE; expires=" + cookieDate.toGMTString( ) + "; path=/";
you can also change to night mode in the top right menu
set Last.fm Scrobbler settings:
x Use desktop notifications
x Unrecognized song notifications
x Use autocorrect (global)
x Force song recognition
x Disable Google Analytics

x Scrobble only Music category
Context
Using the new YouTube design, which will probably be rolled out over the next months.
Environment

Version used: 1.63.0
Browser Name and version: Chrome stable x64

Unfortunately, a category name is localized to several languages, and there's no metadata in the page source (like in current version of Youtube). That's why it's hard to implement support for this option in new design.

I see, so basically we would have to include all localizations then?
Maybe some meta data will still be added back until the design goes live for all.

I'll try to look into that.

The category name is not accessible to connectors until the video description is expanded.

Damn. :-/
Alright, I think we should not go ahead of ourselves. I suggest we wait until the design has an official release and check again. I think there will be several things that mjght change and maybe this gives a better opportunity to check for music.
Maybe we could utilize some Google Music indicators in the page or the like.

We could get video category ID with YT api(the Music category is 10).

I thought about that. To use Youtube API we should implement custom state change function and check for track change to reduce Youtube API calls. This makes the connector more complex.

Somewhat easier solution is to use cache(that can be even page-local)

Nice idea, but should we really expose the API key? Every guideline expresses it's concerns about this.
However, the only option I see is to ask the user to put in a custom API key... :-/

@Vankog providing custom API keys is too hard for an usual user.
The previous v1 connector also was based on Youtube API. I think it's nothing wrong if we will keep the API key visible to all.


Bumped the branch alias for 1.0

Coverage remained the same at 74.32% when pulling 31781ab71d88b6009f50ab61104353e53b9d51bc on GrahamCampbell:patch-1 into dbe3cfe736bb1d3e319c4cd0c310c140737028a0 on padraic:master.

:+1: from me, @padraic?

It's fine by me here, Dave.

Thanks @GrahamCampbell

Grand. I updated the README reference to the alias also just now.

:rocket:


manifest-db: make all UUIDs unique

We get regular failures in the manifest-db run. With the extra
visibility from osbuild#123
it seems the errors we get (sometimes) are related to an xfs mount
mount/- (org.osbuild.xfs): mounting /dev/98302bc3-1aa3-4eab-96e9-9f1c6eb539ce/rootlv -> /var/lib/osbuild/store/tmp/buildroot-tmp-3y2wyhos/mounts/
mount/- (org.osbuild.xfs): already unmounted: /var/lib/osbuild/store/tmp/buildroot-tmp-3y2wyhos/mounts/

which looks similar the UUID clashes we observed in
osbuild/osbuild#1641
Upon inspecting the manifests it seems we have quite a few UUIDs in
our manifests. Those might explain the issues that we sometimes
see because the UUIDs is global to the host so running multiple tests
in parallel can lead to clashes when xfs/btrfs assume that the
mount is already done when in fact it was a different loopdevice
that just happend to clash with the UUID.
This commit creates a new UUID for each file where a duplicated
UUID is found (but keeps that UUID inside the same file stable).
We could make this smaller by limiting this to only xfs/btfs which
(AFAIK) are the only systems affected by UUID clashes but my
script is not smart enough for this.
Fwiw, the script found the following duplicated uuids:
0194fdc2-fa2f-4cc0-81d3-ff12045b73c8
6e4ff95f-f662-45ee-a82a-bdf44a2d0b75
D209C89E-EA5E-4FBD-B161-B461CCE297E0
68B2905B-DF3E-4FB3-80FA-49D1E773AA33
6264D520-3FB9-423F-8AB8-7A0A8E3D3562
FAC7F1FB-3E8D-4137-A512-961DE09A5549
CB07C243-BC44-4717-853E-28852021225B
2fe99653-f7ff-44fd-bea8-fa70107524fb
fb180daf-48a7-4ee0-b10d-394651850fd4
4a3096bf-521c-4921-96ab-b0dd0092d180
308f6813-e223-438d-a043-a32c3a016c05
0bd700f8-090f-4556-b797-b340297ea1bd
a178892e-e285-4ce1-9114-55780875d64e
4f3cefaf-79f9-474f-b12d-bf318d217e4d
4f4f13ec-0417-482b-8a83-6ae8b485fbc1
425fc6b7-c636-4b22-8480-6a96b309a958
f0e6d9c9-dd23-4648-953d-2d7d1c0fa5d4
8ce5fc9e-f74f-4a75-b0f2-033f837f6e86
4584c0d1-532e-42b4-b5f5-e9e306f746a0
fe42c456-dc6e-405a-9188-ccf39cb5d9b1
8bd74b2a-132d-4079-9bb9-60da30456fe2
0d635191-50b7-4ae7-a0ca-a76fbdeda539
4a2a5335-262e-4497-8e00-3eafa934098d
4A2A5335-262E-4497-8E00-3EAFA934098D
e2d3d0d0-de6b-48f9-b44c-e85ff044c6b1
f83b8e88-3bbf-457a-ab99-c5b252c7429c
A178892E-E285-4CE1-9114-55780875D64E
8DFDFF87-C96E-EA48-A3A6-9408F1F6B1EF

[edit: draft because this would also need a regression test to ensure we do not add clashing uuids again]

Closing for now as I'm not sure if the next manifest-db generation wouldn't just override it again and also it seems the producer side of this should get fixed (i.e. images and osbuild-composer(?))


Credential Script - detect unauthorized logins

Is your feature request related to a problem? Please describe.
My company is using CyberArk for automatic password management. It rotates the password for my harvest user automatically every few days. I use the credential script feature to get the password from the CyberArk "Central Credential Provider" REST API, which works well. But when the password is rotated, Harvest will wait for the time set as schedule, before picking up the new password. Meanwhile collection fails.
Describe the solution you'd like
Harvest should detect when login fails and instantly pull the new credentials.
Describe alternatives you've considered
Lowering the schedule value to narrow the gap is feasible of course. But considering possible availability issues of the CyberArk API, I would like to have 24h of cached credentials.

Add retry logic for:

[ ] Zapi
[ ] Rest
[ ] StorageGRID

Fixed in #2180
@mamoep if you want to try these out before the next release, you can grab the latest nightly build and let us know if it covers your usecase.

I tested now. It doesn't work when credential_script is configured in the defaults section. (similar to #2127)
Unrelated: I found Harvest is assuming ZAPI is EOA and switching to REST when the remote system is not reachable at all. Don't know if this is intended, but I think it could have unintended consequences in case of temporary network connectivity issues. Example log output:
{"level":"warn","Poller":"cluster","error":"connection error => Post \"https://cluster:443/servlets/netapp.servlets.admin.XMLrequest_filer\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)","collector":"Zapi","caller":"./poller.go:1150","time":"2023-07-07T09:09:13+02:00","message":"ZAPI EOA. Use REST"}
{"level":"warn","Poller":"cluster","error":"connection error => Post \"https://cluster:443/servlets/netapp.servlets.admin.XMLrequest_filer\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)","collector":"ZapiPerf","caller":"./poller.go:1150","time":"2023-07-07T09:10:13+02:00","message":"ZAPI EOA. Use REST"}
{"level":"warn","Poller":"cluster","error":"connection error Get \"https://cluster/api/cluster?fields=%2A&return_records=true\": dial tcp <IP_ADDRESS>:443: i/o timeout","collector":"RestPerf","object":"VscanSVM","caller":"./poller.go:695","time":"2023-07-07T09:11:03+02:00","message":"init collector-object"}

Thanks for the reporting the Defaults and REST upgrade problem @mamoep. We'll check it out. We added a unit test for credentials_script in Defaults after your earlier issue but maybe something else changed. We'll get back to you.

hi @mamoep this has been fixed and published to the latest nightly build. Please let us know if that works for you. Thanks!

Thanks for reporting both issues and the confirmation @mamoep
We've also addressed the ZAPI to REST upgrade issue by changing the automatic upgrade logic to only happen when ONTAP responds with an error saying ZAPIs are disabled or removed.


[Bug] [ml] Incorrect behavior of Topic Retention Policy

Search before asking

[X] I searched in the issues and found nothing similar.

Read release policy

[X] I understand that unsupported versions don't get bug fixes. I will attempt to reproduce the issue on a supported version of Pulsar client and Pulsar broker.

Version
master branch
Minimal reproduce step
    public void testRetentionInMB() throws Exception {
        @Cleanup("shutdown")
        ManagedLedgerFactory factory = new ManagedLedgerFactoryImpl(metadataStore, bkc);
        ManagedLedgerConfig config = new ManagedLedgerConfig();
        config.setRetentionSizeInMB(2);
        config.setRetentionTime(-1, TimeUnit.SECONDS);
        config.setMaxEntriesPerLedger(2);
        config.setMinimumRolloverTime(0, TimeUnit.SECONDS);

        @Cleanup
        ManagedLedgerImpl ml = (ManagedLedgerImpl) factory.open("retention_test_ledger", config);
        @Cleanup
        ManagedCursor c1 = ml.openCursor("c1");

        // 512K per entry, 2 entries per ledger, 1 ledger has 1MB data.
        byte[] content = new byte[1024 * 512];
        for (int i = 0; i < 21; i++) {
            ml.addEntry(content);
        }

        // should be 11 ledgers.
        assertEquals(ml.ledgers.size(), (21 / 2) + 1);
        long firstKey = ml.ledgers.firstKey();

        // ack 5 ledgers.
        c1.markDelete(new PositionImpl(firstKey + 5, 0));

        // trigger trim ledgers manually
        CompletableFuture<Void> f = new CompletableFuture<>();
        ml.trimConsumedLedgersInBackground(false, f);
        f.get();
    }

For the test, we set the retention policy by size(2MB); 2 entries per ledger and each entry 512KB, each ledger is 1MB.
Add 21 entries to the ManagedLedger, it will open 11 ledgers(I assume these ledger ID are [1, 11]).
Set markDeletePosition to 6:0, which means [1, 5] ledgers are consumed
Trigger trim ledger task manually
Wait until trim task finish

What did you expect to see?
Ledgers [1, 3] deleted.
What did you see instead?
Ledgers [1, 5] deleted
Anything else?
No response
Are you willing to submit a PR?

[X] I'm willing to submit a PR!

@lhotari PTAL

Good description @dao-jun . This makes sense.
We need to ask the original developer of the solution for clarification whether this is a bug or not. I guess
it depends a lot on how the "retention" settings are defined.

@lhotari According to https://pulsar.apache.org/docs/3.2.x/cookbooks-retention-expiry/#retention-policies and ManagedLedgerImpl#internalTrimLedgers, delete a ledger or not should be based on Total size of consumed ledgers, base on Total size of all the ledgers will lead to ManagedLedgerImpl#isLedgerRetentionOverSizeQuota always true(in some cases).

/cc @merlimat @hangc0276 @codelipenghui @poorbarcode @mattisonchao @BewareMyPower @Technoboy-

@lhotari According to https://pulsar.apache.org/docs/3.2.x/cookbooks-retention-expiry/#retention-policies and ManagedLedgerImpl#internalTrimLedgers, delete a ledger or not should be based on Total size of consumed ledgers, base on Total size of all the ledgers will lead to ManagedLedgerImpl#isLedgerRetentionOverSizeQuota always true(in some cases).  This is not in line with its intended meaning

+1 @dao-jun the reported issue seems to be a bug based on this information.

See: https://github.com/apache/pulsar/pull/2206/files#diff-63f327b2f634d152b3ab8528d0d4ba49eb39276482ae60eff3f182ea2e1037d6
https://github.com/apache/pulsar/pull/14546

At the first version doc, it says: messages in all topics in the namespace, even acknowledged messages, will be retained.

This is a doc issue......

So, is this a representation of the current code implementation?


[FLINK-1544] [streaming] POJO types added to AggregationFunctionTest

Testing aggragation functions with POJO types.
The AggregationFunctionTest covered min, max, sum, minBy and maxBy aggregations for tuples. I added the same tests for POJOs.

LGTM, will merge in the evening.

Pushed it to my master, merging as soon as travis comes  in green.


{Keyvault} Bump azure-mgmt-keyvault to 10.2.3 to fix API version mistmatch issue

Related command

az keyvault show
Description

Fix #26950 #27109
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Keyvault


When will the code be made public?

Hello, I am very interested in your research. Can you make your code public?

Thanks for your interest for our research. The code will be public available in one week.

Hello, I am very interested in your research. Can you make your code public?

Thanks for your interest for our research. The code will be public available in one week.

I am deeply grateful.


(1951) Select multiple nations and industries when adding a profession

Allows users to select multiple nations & industries when adding a profession via checkboxes, replacing the original Option Select.
Updates the wording a bit on some of the screens for more detail.
Screenshots

Flagging that this'll need a change to the professional details page, where we now have multiple industries - shout if you need an hand

Also, was this flagged with/coming from Ming? I think a lot of the designs right now are assuming a single industry

Also, was this flagged with/coming from Ming? I think a lot of the designs right now are assuming a single industry

Have run this past Ming and got the thumbs up!

Flagging that this'll need a change to the professional details page, where we now have multiple industries - shout if you need a hand

This was tricky, but I think I've rebased correctly.

/rebase


"Schitu Golești", "Burnești" are listed in the drop-down menu

Description:
When user writes "Schitu Golești", "Burnești" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Burnești"

Expected results
The location appears in the drop-down menu as "Burnești, Argeș (Schitu Golești)"


Add an ability to display page's categories

Add an ability to the user to display categories for the specific page.

Done in https://github.com/pokatomnik/mrakopedia-reader/pull/26


Remove extra symbols

Signed-off-by: yuxiaobo<EMAIL_ADDRESS>

/assign @beorn7

/assign @brian-brazil

Thanks!


Proper title, added album and artist for Squeezebox

Description:
Title previously concatenated artist - title. Cleaned that to only include title. Added support for artist and album_name fields.
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#

I'm not 100% sure about how to make sure there's no whitespace included in the media tags. I added rstrip() to the album because I was seeing a newline in testing. But the original didn't have any stripping that I saw.

I've been using this on my system since I submitted the update. It's been stable and functioning correctly. Since the title formatting is now in line with how media_player typically works, it has the nice side effect of improving display in the media_player card in the GUI, too.

Looks great 🐬


Fails while running bold_wf:bold_get_bold_file_in_bids and anat_wf:anat_get_t1w_file_in_bids

Running the latest version of DeepPrep fails while running bold_wf:bold_get_bold_file_in_bids and anat_wf:anat_get_t1w_file_in_bids. I have a cluster (Singularity) with 1 core, 24 nodes, and 364 GB of memory.
ERROR ~ Error executing process > 'anat_wf:anat_get_t1w_file_in_bids'

Caused by:
  Process `anat_wf:anat_get_t1w_file_in_bids` terminated with an error exit status (137)

Command executed:

  anat_get_t1w_file_in_bids.py --bids-dir /scratch/groups/redacted/data/redacted2 --subject-ids sub-01

Command exit status:
  137

Command output:
  (empty)

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/derivatives/WorkDir/tmp]
  .command.sh: line 2: 133621 Killed                  anat_get_t1w_file_in_bids.py --bids-dir /scratch/groups/redacted/data/redacted2 --subject-ids sub-01

Work dir:
  /scratch/groups/redacted/data/derivatives/WorkDir/nextflow/0d/422e43a432e91a7e38c4e6078ff467

Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`

 -- Check '.nextflow.log' file for details

Here's my config file:
//deepprep.slurm.cpu.config

singularity.enabled = true
singularity.autoMounts = false
singularity.runOptions = '-e \
--home ${output_dir}/WorkDir/home \
--env TEMP=${output_dir}/WorkDir/tmp \
--env TMP=${output_dir}/WorkDir/tmp \
--env TMPDIR=${output_dir}/WorkDir/tmp \
-B ${bids_dir} \
-B ${output_dir} \
-B ${fs_license_file}:/opt/freesurfer/license.txt \
'

process {
//errorStrategy = 'ignore'

    executor = 'slurm'

    queue = 'redacted'

    clusterOptions = { "" }

    container = "${container}"
}

Here's my run file:
#!/bin/bash

module load python/3.9.0
module load java/18.0.2
module load redis/4.0.1

export TEST_DIR=/scratch/groups/redacted/data
bids_root_dir=/scratch/groups/redacted/data/redacted2

cd ${TEST_DIR}
git clone https://github.com/IndiLab/DeepPrep.git

export FS_LICENSE=$bids_root_dir/derivatives/freesurfer_license.txt
export BIDS_PATH=$bids_root_dir
export OUTPUT_PATH=${TEST_DIR}/derivatives

${TEST_DIR}/DeepPrep/deepprep/deepprep.sh \
${BIDS_PATH} \
${OUTPUT_PATH} \
participant \
--participant_label sub-01 \
--bold_task_type rest \
--bold_volume_space MNI152NLin2009cAsym \
--deepprep_home ${TEST_DIR}/DeepPrep \
--fs_license_file ${FS_LICENSE} \
--executor cluster \
--container ${TEST_DIR}/deepprep_23.1.0.sif \
--config_file ${TEST_DIR}/deepprep.slurm.cpu.config \
--skip_bids_validation \
--device cpu \
--debug \
--resume

Hi @favour-nerrise,
It looks like there's an Out-Of-Memory Error with exit stats 137.
You need to adjust the memory allocation for the process in the DeepPrep/deepprep/nextflow/deepprep.nf file.
You can try changing the memory allocation from '100 MB' to '500 MB** on line 19 and line 1404.
Looking forward to your feedback.

Now it's failing with the error after I cleaned my /derivatives output folder:
ERROR ~ Error executing process > 'deepprep_init'

Caused by:
  Process `deepprep_init` terminated with an error exit status (135)

Command executed:

  df -h

  gpu_schedule_lock.py executor

  input_bids_validator.py     --bids_dir /scratch/groups/redacted/data/redacted2     --exec_env docker     --participant_label sub-01     --skip_bids_validation true

  deepprep_init.py     --freesurfer_home /opt/freesurfer     --bids_dir /scratch/groups/redacted/data/redacted2     --output_dir /scratch/groups/redacted/data/redacted3     --subjects_dir /scratch/groups/redacted/data/redacted3/Recon     --bold_spaces fsaverage6     --bold_only False

Command exit status:
  135

Command output:
  sherlock.isilon:/ifs/home.users/jdoe         14G  4.3G  9.8G  31% /home/users/jdoe
  sherlock.isilon:/ifs/sherlock/software/modules  1.5P  544T  918T  38% /share/software/modules
  /dev/nvme0n1p2                                   24G  6.1G   18G  26% /etc/hosts
  tmpfs                                           126G     0  126G   0% /sys/fs/cgroup
  set gpu lock
  connect to StrictRedis DB
  Cant connect to StrictRedis DB Error 111 connecting to localhost:6379. Connection refused.
  sending incremental file list
  surf/
  surf/lh.sphere
  surf/lh.sphere.reg
  surf/lh.sphere.reg.avg
  surf/lh.sulc
  surf/lh.thickness
  surf/lh.white
  surf/lh.white.avg.area.mgh
  surf/lh.white_avg
  surf/lh.white_avg.H
  surf/lh.white_avg.K
  surf/mris_preproc.surface.lh.log
  surf/mris_preproc.surface.lh.log.bak
  surf/mris_preproc.surface.rh.log
  surf/mris_preproc.surface.rh.log.bak
  surf/rh.area
  surf/rh.avg_curv
  surf/rh.avg_sulc
  surf/rh.avg_thickness
  surf/rh.curv
  surf/rh.inflated
  surf/rh.inflated_avg
  surf/rh.orig
  surf/rh.orig.avg.area.mgh
  surf/rh.orig_avg
  surf/rh.pial
  surf/rh.pial.avg.area.mgh
  surf/rh.pial_avg
  surf/rh.smoothwm
  surf/rh.sphere
  surf/rh.sphere.reg
  surf/rh.sphere.reg.avg
  surf/rh.sulc
  surf/rh.thickness
  surf/rh.white
  surf/rh.white.avg.area.mgh
  surf/rh.white_avg
  surf/rh.white_avg.H
  surf/rh.white_avg.K

  sent 28,134,786 bytes  received 748 bytes  18,757,022.67 bytes/sec
  total size is 116,825,961  speedup is 4.15

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/redacted3/WorkDir/tmp]
  cp: error reading '/opt/freesurfer/subjects/fsaverage/mri/orig.mgz': Transport endpoint is not connected
  .command.run: line 38: 248355 Bus error               ps -e -o pid= -o ppid=
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/p.aseg.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/rh.ribbon.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/ribbon.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.mask.1mm.README': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.mask.1mm.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.prob.log': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.prob.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/transforms': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri.2mm': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/scripts': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/surf': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/xhemi': Transport endpoint is not connected
  .command.sh: line 8: 248177 Bus error               deepprep_init.py --freesurfer_home /opt/freesurfer --bids_dir /scratch/groups/redacted/data/redacted2 --output_dir /scratch/groups/redacted/data/redacted3 --subjects_dir /scratch/groups/redacted/data/redacted3/Recon --bold_spaces fsaverage6 --bold_only False
  .command.run: line 165: 247983 Bus error               /bin/bash -ue .command.sh
  /var/spool/slurmd/job43813305/slurm_script: line 294: 247914 Bus error               env - PATH="$PATH" ${TMP:+SINGULARITYENV_TMP="$TMP"} ${TMPDIR:+SINGULARITYENV_TMPDIR="$TMPDIR"} ${NXF_TASK_WORKDIR:+SINGULARITYENV_NXF_TASK_WORKDIR="$NXF_TASK_WORKDIR"} SINGULARITYENV_NXF_DEBUG="${NXF_DEBUG:=0}" singularity exec --no-home --pid -e --home /scratch/groups/redacted/data/redacted3/WorkDir/home --env TEMP=/scratch/groups/redacted/data/redacted3/WorkDir/tmp --env TMP=/scratch/groups/redacted/data/redacted3/WorkDir/tmp --env TMPDIR=/scratch/groups/redacted/data/redacted3/WorkDir/tmp -B /scratch/groups/redacted/data/redacted2 -B /scratch/groups/redacted/data/redacted3 -B /scratch/groups/redacted/data/redacted2/derivatives/freesurfer_license.txt:/opt/freesurfer/license.txt /scratch/groups/redacted/data/deepprep_23.1.0.sif /bin/bash -c "cd $PWD; eval $(nxf_container_env); /bin/bash .command.run nxf_trace"

Work dir:
  /scratch/groups/redacted/data/redacted3/WorkDir/nextflow/90/f02fd7698e0abdb2ddec20a06acf62

Tip: view the complete command output by changing to the process work dir and entering the command `cat .command.out`

 -- Check '.nextflow.log' file for details

Update: it now randomly worked passed the gpu_schedule_lock error in deepprep_init.
However, it's failing for my subject with multiple runs per session:
ERROR ~ Error executing process > 'anat_wf:anat_motioncor (sub-01)'

Caused by:
  Process `anat_wf:anat_motioncor (sub-01)` terminated with an error exit status (1)

Command executed:

  recon-all -sd /scratch/groups/redacted/data/derivatives/Recon -subject sub-01 -motioncor -threads 1 -itkthreads 1 -no-isrunning

Command exit status:
  1

Command output:
  --lta: Will output LTA transforms
  Setting iscale ...
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/001.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/001.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/002.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/002.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/003.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/003.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/004.mgz'...
  converting source '/scratch/groups/kpohl/data/derivatives/Recon/sub-01/mri/orig/004.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/005.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/005.mgz' to bspline ...
  MRItoBSpline degree 3

  MultiRegistration::initializing Xforms (init 1 , maxres 0 , iterate 5 , epsit 0.01 ) :

  [init] ========================= TP 2 to TP 1 ==============================
           Register TP 2 ( /scratch/groups/kpohl/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig/002.mgz )
            to      TP 1 ( /scratch/groups/kpohl/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig/001.mgz )

         -- Original : (0.5, 0.5, 1.5)mm and (448, 448, 16) voxels.
         -- Resampled: (0.5, 0.5, 0.5)mm and (448, 448, 48) voxels.
         -- Reslicing using cubic bspline
  MRItoBSpline degree 3
         -- Original : (0.5, 0.5, 1.5)mm and (448, 448, 16) voxels.
         -- Resampled: (0.5, 0.5, 0.5)mm and (448, 448, 48) voxels.
         -- Reslicing using cubic bspline
  MRItoBSpline degree 3

   ========================================================================
   WARNING: image might be too small (or ill shaped) for --satit to work.
            Try to manually specify --sat # if not satisfied with result!
   ========================================================================

     - Max Resolution used: 1
       -- gpS ( 224 , 224 , 24 )
       -- gpT ( 224 , 224 , 24 )
  Killed
  Linux sh03-13n05.int 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

  recon-all -s sub-01 exited with ERRORS at Wed Mar 27 11:22:17 PDT 2024

  For more details, see the log file /scratch/groups/redacted/data/derivatives/Recon/sub-01/scripts/recon-all.log
  To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/derivatives/WorkDir/tmp]

Work dir:
  /scratch/groups/redacted/data/derivatives/WorkDir/nextflow/6d/1273f911382c76b6fc13cebeba8803

Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line

 -- Check '.nextflow.log' file for details

Is there something else I have to modify for running MultiRegistration?

@NingAnMe Now it's failing with the error after I cleaned my /derivatives output folder:
ERROR ~ Error executing process > 'deepprep_init'

Caused by:
  Process `deepprep_init` terminated with an error exit status (135)

Command executed:

  df -h

  gpu_schedule_lock.py executor

  input_bids_validator.py     --bids_dir /scratch/groups/redacted/data/redacted2     --exec_env docker     --participant_label sub-01     --skip_bids_validation true

  deepprep_init.py     --freesurfer_home /opt/freesurfer     --bids_dir /scratch/groups/redacted/data/redacted2     --output_dir /scratch/groups/redacted/data/redacted3     --subjects_dir /scratch/groups/redacted/data/redacted3/Recon     --bold_spaces fsaverage6     --bold_only False

Command exit status:
  135

Command output:
  sherlock.isilon:/ifs/home.users/jdoe         14G  4.3G  9.8G  31% /home/users/jdoe
  sherlock.isilon:/ifs/sherlock/software/modules  1.5P  544T  918T  38% /share/software/modules
  /dev/nvme0n1p2                                   24G  6.1G   18G  26% /etc/hosts
  tmpfs                                           126G     0  126G   0% /sys/fs/cgroup
  set gpu lock
  connect to StrictRedis DB
  Cant connect to StrictRedis DB Error 111 connecting to localhost:6379. Connection refused.
  sending incremental file list
  surf/
  surf/lh.sphere
  surf/lh.sphere.reg
  surf/lh.sphere.reg.avg
  surf/lh.sulc
  surf/lh.thickness
  surf/lh.white
  surf/lh.white.avg.area.mgh
  surf/lh.white_avg
  surf/lh.white_avg.H
  surf/lh.white_avg.K
  surf/mris_preproc.surface.lh.log
  surf/mris_preproc.surface.lh.log.bak
  surf/mris_preproc.surface.rh.log
  surf/mris_preproc.surface.rh.log.bak
  surf/rh.area
  surf/rh.avg_curv
  surf/rh.avg_sulc
  surf/rh.avg_thickness
  surf/rh.curv
  surf/rh.inflated
  surf/rh.inflated_avg
  surf/rh.orig
  surf/rh.orig.avg.area.mgh
  surf/rh.orig_avg
  surf/rh.pial
  surf/rh.pial.avg.area.mgh
  surf/rh.pial_avg
  surf/rh.smoothwm
  surf/rh.sphere
  surf/rh.sphere.reg
  surf/rh.sphere.reg.avg
  surf/rh.sulc
  surf/rh.thickness
  surf/rh.white
  surf/rh.white.avg.area.mgh
  surf/rh.white_avg
  surf/rh.white_avg.H
  surf/rh.white_avg.K

  sent 28,134,786 bytes  received 748 bytes  18,757,022.67 bytes/sec
  total size is 116,825,961  speedup is 4.15

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/redacted3/WorkDir/tmp]
  cp: error reading '/opt/freesurfer/subjects/fsaverage/mri/orig.mgz': Transport endpoint is not connected
  .command.run: line 38: 248355 Bus error               ps -e -o pid= -o ppid=
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/p.aseg.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/rh.ribbon.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/ribbon.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.mask.1mm.README': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.mask.1mm.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.prob.log': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/subcort.prob.mgz': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri/transforms': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/mri.2mm': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/scripts': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/surf': Transport endpoint is not connected
  cp: cannot stat '/opt/freesurfer/subjects/fsaverage/xhemi': Transport endpoint is not connected
  .command.sh: line 8: 248177 Bus error               deepprep_init.py --freesurfer_home /opt/freesurfer --bids_dir /scratch/groups/redacted/data/redacted2 --output_dir /scratch/groups/redacted/data/redacted3 --subjects_dir /scratch/groups/redacted/data/redacted3/Recon --bold_spaces fsaverage6 --bold_only False
  .command.run: line 165: 247983 Bus error               /bin/bash -ue .command.sh
  /var/spool/slurmd/job43813305/slurm_script: line 294: 247914 Bus error               env - PATH="$PATH" ${TMP:+SINGULARITYENV_TMP="$TMP"} ${TMPDIR:+SINGULARITYENV_TMPDIR="$TMPDIR"} ${NXF_TASK_WORKDIR:+SINGULARITYENV_NXF_TASK_WORKDIR="$NXF_TASK_WORKDIR"} SINGULARITYENV_NXF_DEBUG="${NXF_DEBUG:=0}" singularity exec --no-home --pid -e --home /scratch/groups/redacted/data/redacted3/WorkDir/home --env TEMP=/scratch/groups/redacted/data/redacted3/WorkDir/tmp --env TMP=/scratch/groups/redacted/data/redacted3/WorkDir/tmp --env TMPDIR=/scratch/groups/redacted/data/redacted3/WorkDir/tmp -B /scratch/groups/redacted/data/redacted2 -B /scratch/groups/redacted/data/redacted3 -B /scratch/groups/redacted/data/redacted2/derivatives/freesurfer_license.txt:/opt/freesurfer/license.txt /scratch/groups/redacted/data/deepprep_23.1.0.sif /bin/bash -c "cd $PWD; eval $(nxf_container_env); /bin/bash .command.run nxf_trace"

Work dir:
  /scratch/groups/redacted/data/redacted3/WorkDir/nextflow/90/f02fd7698e0abdb2ddec20a06acf62

Tip: view the complete command output by changing to the process work dir and entering the command `cat .command.out`

 -- Check '.nextflow.log' file for details

Hi, @favour-nerrise ,
I think this is a connectivity problem between two store nodes. I've added a retry feature to the "deepprep_init" process. If Nextflow runs into this issue, it will retry three times.
    errorStrategy { task.exitStatus == 135 ? 'retry' : 'terminate' }
    maxRetries 3

Update: it now randomly worked passed the gpu_schedule_lock error in deepprep_init.
However, it's failing for my subject with multiple runs per session:
ERROR ~ Error executing process > 'anat_wf:anat_motioncor (sub-01)'

Caused by:
  Process `anat_wf:anat_motioncor (sub-01)` terminated with an error exit status (1)

Command executed:

  recon-all -sd /scratch/groups/redacted/data/derivatives/Recon -subject sub-01 -motioncor -threads 1 -itkthreads 1 -no-isrunning

Command exit status:
  1

Command output:
  --lta: Will output LTA transforms
  Setting iscale ...
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/001.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/001.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/002.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/002.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/003.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/003.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/004.mgz'...
  converting source '/scratch/groups/kpohl/data/derivatives/Recon/sub-01/mri/orig/004.mgz' to bspline ...
  MRItoBSpline degree 3
  reading source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/005.mgz'...
  converting source '/scratch/groups/redacted/data/derivatives/Recon/sub-01/mri/orig/005.mgz' to bspline ...
  MRItoBSpline degree 3

  MultiRegistration::initializing Xforms (init 1 , maxres 0 , iterate 5 , epsit 0.01 ) :

  [init] ========================= TP 2 to TP 1 ==============================
           Register TP 2 ( /scratch/groups/kpohl/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig/002.mgz )
            to      TP 1 ( /scratch/groups/kpohl/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig/001.mgz )

         -- Original : (0.5, 0.5, 1.5)mm and (448, 448, 16) voxels.
         -- Resampled: (0.5, 0.5, 0.5)mm and (448, 448, 48) voxels.
         -- Reslicing using cubic bspline
  MRItoBSpline degree 3
         -- Original : (0.5, 0.5, 1.5)mm and (448, 448, 16) voxels.
         -- Resampled: (0.5, 0.5, 0.5)mm and (448, 448, 48) voxels.
         -- Reslicing using cubic bspline
  MRItoBSpline degree 3

   ========================================================================
   WARNING: image might be too small (or ill shaped) for --satit to work.
            Try to manually specify --sat # if not satisfied with result!
   ========================================================================

     - Max Resolution used: 1
       -- gpS ( 224 , 224 , 24 )
       -- gpT ( 224 , 224 , 24 )
  Killed
  Linux sh03-13n05.int 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

  recon-all -s sub-01 exited with ERRORS at Wed Mar 27 11:22:17 PDT 2024

  For more details, see the log file /scratch/groups/redacted/data/derivatives/Recon/sub-01/scripts/recon-all.log
  To report a problem, see http://surfer.nmr.mgh.harvard.edu/fswiki/BugReporting

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/derivatives/WorkDir/tmp]

Work dir:
  /scratch/groups/redacted/data/derivatives/WorkDir/nextflow/6d/1273f911382c76b6fc13cebeba8803

Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line

 -- Check '.nextflow.log' file for details

Is there something else I have to modify for running MultiRegistration?

I think this is a memory problem like "anat_get_t1w_file_in_bids". I've added a retry feature to this
process. If Nextflow runs into this issue, it will retry twice.
I processed a dataset for one subject with ten T1w files and discovered that it will require 2 GB of memory. We had previously set it to '1 GB'.
    memory { 1.GB * task.attempt }

    errorStrategy { task.exitStatus == 1 ? 'retry' : 'terminate' }
    maxRetries 2

Hi, @favour-nerrise,
Sorry for the long wait.
I've addressed these issues by merging #108. You can pull the code and give it another try.
Thanks for trying out DeepPrep.

Thank you for the fixes! @NingAnMe
Unfortunately, I'm running into a new issue on anat_segment with connecting to the Redis database. When I ran with cpu.config I thought it was due to not have gpu since it showed an error output of failing on gpu_schedule_run. I re-ran with gpu.config instead and am still getting a similar error:
ERROR ~ Error executing process > 'anat_wf:anat_segment (sub-01)'

Caused by:
  Process `anat_wf:anat_segment (sub-01)` terminated with an error exit status (1)

Command executed:

  gpu_schedule_run.py gpu double executor /opt/DeepPrep/deepprep/FastSurfer/FastSurferCNN/eval.py     --in_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig.mgz     --out_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/aparc.DKTatlas+aseg.deep.mgz     --conformed_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/conformed.mgz     --order 1     --network_sagittal_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Sagittal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --network_coronal_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Coronal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --network_axial_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Axial_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --batch_size 1 --simple_run --run_viewagg_on check

Command exit status:
  1

Command output:
  Auto select GPU by ： gpu
  GPU INFO:
  ['0, Tesla P40, 22905 MiB, 23040 MiB, 9.59 W, 250.00 W\n']
  GPU INFO:
  ['0, Tesla P40, 22905 MiB, 23040 MiB, 9.59 W, 250.00 W\n']
  Choosing the GPU device has largest free memory...
  Sorted by free memory size
  Using GPU 0:
  index:0
  gpu_name:Tesla P40
  memory.free:22905
  memory.total:23040
  power.draw:9
  power.limit:250
  specified:False
  INFO: GPU: 0
  INFO: sys.argv : ['/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py', 'gpu', 'double', 'executor', '/opt/DeepPrep/deepprep/FastSurfer/FastSurferCNN/eval.py', '--in_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig.mgz', '--out_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/aparc.DKTatlas+aseg.deep.mgz', '--conformed_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/conformed.mgz', '--order', '1', '--network_sagittal_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Sagittal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--network_coronal_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Coronal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--network_axial_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Axial_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--batch_size', '1', '--simple_run', '--run_viewagg_on', 'check']
  connect to StrictRedis DB
  INFO: run_count : two

Command error:
  INFO:    Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  INFO:    underlay of /usr/bin/nvidia-smi required more than 50 (455) bind mounts
  Traceback (most recent call last):
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 276, in connect
      sock = self.retry.call_with_retry(
    File "/usr/local/lib/python3.10/dist-packages/redis/retry.py", line 46, in call_with_retry
      return do()
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 277, in <lambda>
      lambda: self._connect(), lambda error: self.disconnect(error)
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 639, in _connect
      raise err
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 627, in _connect
      sock.connect(socket_address)
  ConnectionRefusedError: [Errno 111] Connection refused

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py", line 49, in <module>
      lock_i = int(conn.lpop('lock_index'))
    File "/usr/local/lib/python3.10/dist-packages/redis/commands/core.py", line 2727, in lpop
      return self.execute_command("LPOP", name)
    File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 540, in execute_command
      conn = self.connection or pool.get_connection(command_name, **options)

ERROR ~ Error executing process > 'anat_wf:anat_segment (sub-01)'

Caused by:
  Process `anat_wf:anat_segment (sub-01)` terminated with an error exit status (1)

Command executed:

  gpu_schedule_run.py gpu double executor /opt/DeepPrep/deepprep/FastSurfer/FastSurferCNN/eval.py     --in_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig.mgz     --out_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/aparc.DKTatlas+aseg.deep.mgz     --conformed_name /scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/conformed.mgz     --order 1     --network_sagittal_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Sagittal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --network_coronal_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Coronal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --network_axial_path /opt/DeepPrep/deepprep/FastSurfer/checkpoints/Axial_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl     --batch_size 1 --simple_run --run_viewagg_on check

Command exit status:
  1

Command output:
  Auto select GPU by ： gpu
  GPU INFO:
  ['0, Tesla P40, 22905 MiB, 23040 MiB, 9.59 W, 250.00 W\n']
  GPU INFO:
  ['0, Tesla P40, 22905 MiB, 23040 MiB, 9.59 W, 250.00 W\n']
  Choosing the GPU device has largest free memory...
  Sorted by free memory size
  Using GPU 0:
  index:0
  gpu_name:Tesla P40
  memory.free:22905
  memory.total:23040
  power.draw:9
  power.limit:250
  specified:False
  INFO: GPU: 0
  INFO: sys.argv : ['/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py', 'gpu', 'double', 'executor', '/opt/DeepPrep/deepprep/FastSurfer/FastSurferCNN/eval.py', '--in_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/orig.mgz', '--out_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/aparc.DKTatlas+aseg.deep.mgz', '--conformed_name', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/Recon/sub-01/mri/conformed.mgz', '--order', '1', '--network_sagittal_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Sagittal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--network_coronal_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Coronal_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--network_axial_path', '/opt/DeepPrep/deepprep/FastSurfer/checkpoints/Axial_Weights_FastSurferCNN/ckpts/Epoch_30_training_state.pkl', '--batch_size', '1', '--simple_run', '--run_viewagg_on', 'check']
  connect to StrictRedis DB
  INFO: run_count : two

Command error:
  INFO:    Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_TASK_WORKDIR is set, but APPTAINERENV_NXF_TASK_WORKDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  INFO:    underlay of /usr/bin/nvidia-smi required more than 50 (455) bind mounts
  Traceback (most recent call last):
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 276, in connect
      sock = self.retry.call_with_retry(
    File "/usr/local/lib/python3.10/dist-packages/redis/retry.py", line 46, in call_with_retry
      return do()
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 277, in <lambda>
      lambda: self._connect(), lambda error: self.disconnect(error)
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 639, in _connect
      raise err
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 627, in _connect
      sock.connect(socket_address)
  ConnectionRefusedError: [Errno 111] Connection refused

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py", line 49, in <module>
      lock_i = int(conn.lpop('lock_index'))
    File "/usr/local/lib/python3.10/dist-packages/redis/commands/core.py", line 2727, in lpop
      return self.execute_command("LPOP", name)
    File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 540, in execute_command
      conn = self.connection or pool.get_connection(command_name, **options)
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 1104, in get_connection
      connection.connect()
    File "/usr/local/lib/python3.10/dist-packages/redis/connection.py", line 282, in connect
      raise ConnectionError(self._error_message(e))
  redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.

Work dir:
  /scratch/groups/redacted/data/ppmi_fmri_derivatives/WorkDir/nextflow/f2/39010ae3b30097cb5caf21b900720e

Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named `.command.sh`

 -- Check '.nextflow.log' file for details

I'm sorry for making you wait so long. @favour-nerrise .
I have fixed the bug related to the Redis server. You can download the updated Sif image from Google Drive to run it again.  https://drive.google.com/drive/folders/13txuhCNW_nHG4NX3cl7HehlBJ1ZVB5CV?usp=drive_link
But I can't promise that DeepPrep will work properly with a P40 GPU. Looking forward to your feedback.

Thank you! I switched GPUs and pulled the latest image. Made some progress and then got stuck here. I tried increasing maxRetries to 3 but it still failed.
ERROR ~ Error executing process > 'bold_wf:bold_synthmorph_affine (sub-03)'

Caused by:
  Process `bold_wf:bold_synthmorph_affine (sub-03)` terminated with an error exit status (1)

Command executed:

  gpu_schedule_run.py gpu double executor /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py     --bold_preprocess_dir /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD     --subject_id sub-03     --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py     --t1_native2mm /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz     --template_space MNI152NLin2009cAsym     --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models

Command exit status:
  1

Command output:
  INFO: Device: gpu
  Auto select GPU by ： gpu
  GPU INFO:
  ['0, NVIDIA GeForce RTX 2080 Ti, 11010 MiB, 11264 MiB, 23.85 W, 224.00 W\n']
  GPU INFO:
  ['0, NVIDIA GeForce RTX 2080 Ti, 11010 MiB, 11264 MiB, 23.85 W, 224.00 W\n']
  Choosing the GPU device has largest free memory...
  Sorted by free memory size
  Using GPU 0:
  index:0
  gpu_name:NVIDIA GeForce RTX 2080 Ti
  memory.free:11010
  memory.total:11264
  power.draw:23
  power.limit:224
  specified:False
  INFO: GPU: 0
  INFO: sys.argv : ['/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py', 'gpu', 'double', 'executor', '/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py', '--bold_preprocess_dir', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD', '--subject_id', 'sub-03', '--synth_script', '/opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py', '--t1_native2mm', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz', '--template_space', 'MNI152NLin2009cAsym', '--synth_model_path', '/opt/DeepPrep/deepprep/model/SynthMorph/models']
  Cant connect to StrictRedis DB: Error 111 connecting to localhost:6379. Connection refused.
  INFO: GPU: python3 /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py --bold_preprocess_dir /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD --subject_id sub-03 --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py --t1_native2mm /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz --template_space MNI152NLin2009cAsym --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models
  Downloading https://templateflow.s3.amazonaws.com/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py", line 40, in <module>
      template = tflow.get(args.template_space, desc=None, resolution=2, suffix='T1w', extension='nii.gz')
    File "/usr/local/lib/python3.10/dist-packages/templateflow/conf/__init__.py", line 69, in wrapper
      return func(*args, **kwargs)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 145, in get
      _s3_get(filepath)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 308, in _s3_get
      with filepath.open("wb") as f:
    File "/usr/lib/python3.10/pathlib.py", line 1119, in open
      return self._accessor.open(self, mode, buffering, encoding, errors,
  OSError: [Errno 30] Read-only file system: '/opt/TemplateFlow/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz'

Command error:
  INFO:    Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  INFO:    underlay of /usr/bin/nvidia-smi required more than 50 (455) bind mounts
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py", line 76, in <module>
      assert status == 0
  AssertionError

Work dir:
  /scratch/groups/redacted/data/ppmi_fmri_derivatives/WorkDir/nextflow/b3/16d50da9e528299e6c44eb4872b51a

Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named `.command.sh`

 -- Check '.nextflow.log' file for details

@favour-nerrise Sorry for the problem. It looks like there is a directory permission error.  Unfortunately still getting the same error when running with cpu:
ERROR ~ Error executing process > 'bold_wf:bold_synthmorph_affine (sub-03)'

Caused by:
  Process `bold_wf:bold_synthmorph_affine (sub-03)` terminated with an error exit status (1)

Command executed:

  gpu_schedule_run.py cpu double executor /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py     --bold_preprocess_dir /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD     --subject_id sub-03     --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py     --t1_native2mm /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz     --template_space MNI152NLin2009cAsym     --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models

Command exit status:
  1

Command output:
  INFO: Device: cpu
  INFO: GPU:
  INFO: sys.argv : ['/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py', 'cpu', 'double', 'executor', '/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py', '--bold_preprocess_dir', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD', '--subject_id', 'sub-03', '--synth_script', '/opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py', '--t1_native2mm', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz', '--template_space', 'MNI152NLin2009cAsym', '--synth_model_path', '/opt/DeepPrep/deepprep/model/SynthMorph/models']
  Cant connect to StrictRedis DB: Error 111 connecting to localhost:6379. Connection refused.
  INFO: GPU: python3 /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py --bold_preprocess_dir /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD --subject_id sub-03 --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py --t1_native2mm /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz --template_space MNI152NLin2009cAsym --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models
  Downloading https://templateflow.s3.amazonaws.com/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py", line 40, in <module>
      template = tflow.get(args.template_space, desc=None, resolution=2, suffix='T1w', extension='nii.gz')
    File "/usr/local/lib/python3.10/dist-packages/templateflow/conf/__init__.py", line 69, in wrapper
      return func(*args, **kwargs)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 145, in get
      _s3_get(filepath)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 308, in _s3_get
      with filepath.open("wb") as f:
    File "/usr/lib/python3.10/pathlib.py", line 1119, in open
      return self._accessor.open(self, mode, buffering, encoding, errors,
  OSError: [Errno 30] Read-only file system: '/opt/TemplateFlow/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz'

Command error:
  WARNING: SINGULARITYENV_TMPDIR and APPTAINERENV_TMPDIR have different values, using the latter
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  WARNING: Skipping environment variable [SINGULARITYENV_TMPDIR=/tmp], TMPDIR is already overridden with different value [/scratch/groups/redacted/data/ppmi_fmri_derivatives/WorkDir/tmp]
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py", line 76, in <module>
      assert status == 0
  AssertionError

Work dir:
  /scratch/groups/redacted/data/ppmi_fmri_derivatives/WorkDir/nextflow/e8/276e02b8495662fcac9fc13eb8a8ec

Tip: you can replicate the issue by changing to the process work dir and entering the command `bash .command.run`

 -- Check '.nextflow.log' file for details

or gpu
ERROR ~ Error executing process > 'bold_wf:bold_synthmorph_affine (sub-03)'

Caused by:
  Process `bold_wf:bold_synthmorph_affine (sub-03)` terminated with an error exit status (1)

Command executed:

  gpu_schedule_run.py gpu double executor /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py     --bold_preprocess_dir /scratch/groups/kpohl/data/ppmi_fmri_derivatives/BOLD     --subject_id sub-03     --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py     --t1_native2mm /scratch/groups/kpohl/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz     --template_space MNI152NLin2009cAsym     --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models

Command exit status:
  1

Command output:
  INFO: Device: gpu
  Auto select GPU by ： gpu
  GPU INFO:
  ['0, NVIDIA GeForce RTX 2080 Ti, 11010 MiB, 11264 MiB, 24.39 W, 224.00 W\n']
  GPU INFO:
  ['0, NVIDIA GeForce RTX 2080 Ti, 11010 MiB, 11264 MiB, 24.39 W, 224.00 W\n']
  Choosing the GPU device has largest free memory...
  Sorted by free memory size
  Using GPU 0:
  index:0
  gpu_name:NVIDIA GeForce RTX 2080 Ti
  memory.free:11010
  memory.total:11264
  power.draw:24
  power.limit:224
  specified:False
  INFO: GPU: 0
  INFO: sys.argv : ['/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py', 'gpu', 'double', 'executor', '/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py', '--bold_preprocess_dir', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD', '--subject_id', 'sub-03', '--synth_script', '/opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py', '--t1_native2mm', '/scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz', '--template_space', 'MNI152NLin2009cAsym', '--synth_model_path', '/opt/DeepPrep/deepprep/model/SynthMorph/models']
  Cant connect to StrictRedis DB: Error 111 connecting to localhost:6379. Connection refused.
  INFO: GPU: python3 /opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py --bold_preprocess_dir /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD --subject_id sub-03 --synth_script /opt/DeepPrep/deepprep/SynthMorph/mri_bold_synthmorph.py --t1_native2mm /scratch/groups/redacted/data/ppmi_fmri_derivatives/BOLD/sub-03/anat/sub-03_space-T1w_res-2mm_desc-skull_T1w.nii.gz --template_space MNI152NLin2009cAsym --synth_model_path /opt/DeepPrep/deepprep/model/SynthMorph/models
  Downloading https://templateflow.s3.amazonaws.com/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/SynthMorph/bold_synthmorph_affine.py", line 40, in <module>
      template = tflow.get(args.template_space, desc=None, resolution=2, suffix='T1w', extension='nii.gz')
    File "/usr/local/lib/python3.10/dist-packages/templateflow/conf/__init__.py", line 69, in wrapper
      return func(*args, **kwargs)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 145, in get
      _s3_get(filepath)
    File "/usr/local/lib/python3.10/dist-packages/templateflow/api.py", line 308, in _s3_get
      with filepath.open("wb") as f:
    File "/usr/lib/python3.10/pathlib.py", line 1119, in open
      return self._accessor.open(self, mode, buffering, encoding, errors,
  OSError: [Errno 30] Read-only file system: '/opt/TemplateFlow/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz'

Command error:
  INFO:    Environment variable SINGULARITYENV_TMPDIR is set, but APPTAINERENV_TMPDIR is preferred
  INFO:    Environment variable SINGULARITYENV_NXF_DEBUG is set, but APPTAINERENV_NXF_DEBUG is preferred
  INFO:    underlay of /usr/bin/nvidia-smi required more than 50 (455) bind mounts
  Traceback (most recent call last):
    File "/opt/DeepPrep/deepprep/nextflow/bin/gpu_schedule_run.py", line 76, in <module>
      assert status == 0
  AssertionError

Work dir:
  /scratch/groups/redacted/data/ppmi_fmri_derivatives/WorkDir/nextflow/da/a67eb0f02746bc587f4216b035848d

Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line

 -- Check '.nextflow.log' file for details

My deepprep_gpu.sh script is:
#!/bin/bash
#
#SBATCH --job-name=deepprep_02
#SBATCH --output=deepprep_.%j.out
#SBATCH --error=deepprep_.%j.err
#SBATCH --time=2:00:00
#SBATCH --gres=gpu:1
#SBATCH --constraint=GPU_SKU:V100_PCIE
#SBATCH --cpus-per-task=8
#SBATCH --mem=16G
#SBATCH -p gpu
#SBATCH --mail-type=ALL

module load python/3.9.0
module load cuda/12.4.0
module load biology
module load nextflow/23.04.3
module load java/18.0.2
module load redis/4.0.1

export TEST_DIR=/scratch/groups/redacted/data
bids_root_dir=/scratch/groups/redacted/data/PPMI_fmri

cd ${TEST_DIR}
git clone --recurse-submodules https://github.com/pBFSLab/DeepPrep.git

export FS_LICENSE=$bids_root_dir/derivatives/freesurfer_license.txt
export BIDS_PATH=$bids_root_dir
export OUTPUT_PATH=${TEST_DIR}/ppmi_fmri_derivatives

${TEST_DIR}/DeepPrep/deepprep/deepprep.sh \
${BIDS_PATH} \
${OUTPUT_PATH} \
participant \
--participant_label sub-03 \
--bold_task_type rest \
--bold_volume_space MNI152NLin2009cAsym \
--deepprep_home ${TEST_DIR}/DeepPrep \
--fs_license_file ${FS_LICENSE} \
--executor cluster \
--container ${TEST_DIR}/deepprep_23.1.0.sif \
--config_file ${TEST_DIR}/deepprep.slurm.gpu.config \
--templateflow_home ${TEST_DIR}/TemplateFlow \
--skip_bids_validation \
--device gpu \
--debug \
--resume

Hi @favour-nerrise,
As the error reports:

OSError: [Errno 30] Read-only file system: '/opt/TemplateFlow/tpl-MNI152NLin2009cAsym/tpl-MNI152NLin2009cAsym_res-02_T1w.nii.gz'

It appears that the same problem you came across on both the CPU and GPU is due to the permission of the Templateflow directory. We recommend changing the permission of that folder to 755 or 777, and try again.
good luck!

Hi @favour-nerrise,
We have resolved this issue in the new version, you can pull the latest Singularity image to try it.
curl -C - -O https://download.anning.info/ninganme-public/DeepPrep/SingularityImage/deepprep_24.1.0.sif


(German) Umlauts in file path break file opening

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
If you open a file or a project folder which has (German) umlauts, like Ä, Ö, Ü in it, text files opened will alway be empty
Steps to Reproduce

Create a folder called Bäume (or any other folder containing umlauts).
Create test.txt file and open with Editor.
Write random word or sentence in it.
Open file or folder with Atom
File appears empty.

Expected behavior: File should be opened correctly
Actual behavior: File is empty
Reproduces how often: 100%
Versions
Atom    : 1.19.0-beta1
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0
Additional Information
Atom running on Windows 10 Pro (Creator Update)

Thanks for taking the time to contribute!
We noticed that looks like a duplicate of https://github.com/atom/atom/issues/14894. You may want to subscribe there for updates but let me know if you think it's a different issue.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Request for documentation

Guys,
I've been struggling with a generic implementation of Trucker in my app.
I want an implementation where I can configure the end-point in a ModelResource since we're using multiple external resources.
App/Resources/ProfileResource
<?php

    namespace App\Resources;

    use App\CoreConfig;
    use Trucker\Facades\Config as TruckerConfig;
    use Trucker\Resource\Model;

    class ProfileResource extends Model
    {

        var $request = [
            'base_uri' => 'https://profiler.local',
            'driver' => 'rest',
            'http_method_param' => null,
            ];

        public function __construct()
        {
            TruckerConfig::set('auth.basic.username', CoreConfig::getConfig('api:Profiler:username'));
            TruckerConfig::set('auth.basic.password', CoreConfig::getConfig('api:Profiler:password'));
        }

    }

App/Model/Profile
<?php

namespace App;

use \App\Resources\ProfileResource;

class Profile extends ProfileResource
{
    //
}

To test:
# php artisan tinker
>>> $test = new \App\Profile;
=> App\Profile {#878
     +request: [
       "base_uri" => "https://profiler.local",
       "driver" => "rest",
       "http_method_param" => null,
     ],
     +nestedUnder: null,
   }
>>> $test->all();
Guzzle\Common\Exception\RuntimeException with message 'Unable to parse response body into JSON: 4'
>>> $test->errors();
=> []
>>>

How can I debug? see what is happening?

This project isn't actively maintained anymore.  I just added a snippet to the readme looking for new maintainers.