You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently trying to run the illumination correction code for McMicro and I am running into an error regarding both Java and amd64/arm64 platforms. I confirmed that I have Java 21 installed and increased by CPU/memory in docker to handle the code, which was an error I was running into prior to this one. I have pasted the error message below, thank you!
Caprice
Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode linux-amd64 compressed oops)
Command error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
A fatal error has been detected by the Java Runtime Environment:
Long story short, containers for individual MCMICRO modules were built on the x86 chip architecture. They cannot natively run on M1 chips. Docker relies on qemu to provide an emulation layer, but as you can see, this layer is somewhat limited in its capabilities.
The best workaround at the moment is to rebuild the container directly on your M1 machine. You can do this with the following commands:
# Clone the module repository
git clone https://github.com/labsyspharm/basic-illumination
# Build the containercd basic-illumination
docker build -t labsyspharm/basic-illumination:1.1.1 .# Verify that the container has been built by inspecting the output of
docker images
A small explanation: The container tag labsyspharm/basic-illumination:1.1.1 is taken from MCMICRO's configuration file. When you run MCMICRO, Nextflow will check for the presence of that container tag on the system and pull it from the cloud only if it's not detected. By building the container on your system, you are "fooling" Nextflow into thinking that the container tag was already pulled, so it will simply run the M1 version that you built.
The long-term solution is of course to provide an arm64 alternative for all containers. However, individual modules were developed by different labs, so it will likely take some time to synchronize everybody. I will think about whether there can be a more centralized container building solution.
Hi there,
I am currently trying to run the illumination correction code for McMicro and I am running into an error regarding both Java and amd64/arm64 platforms. I confirmed that I have Java 21 installed and increased by CPU/memory in docker to handle the code, which was an error I was running into prior to this one. I have pasted the error message below, thank you!
Caprice
Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode linux-amd64 compressed oops)
executor > local (14)
[- ] staging:phenoimager2mc -
[be/1ed321] illumination (13) | 9 of 9, failed: 1
[- ] registration:ashlar -
[- ] background:backsub -
[- ] dearray:coreograph -
[- ] dearray:roadie:runTask -
[- ] segmentation:roadie:runTask -
[- ] segmentation:worker -
[- ] segmentation:s3seg -
[- ] quantification:mcquant -
[- ] downstream:worker -
[- ] viz:autominerva -
ERROR ~ Error executing process > 'illumination (5)'
Caused by:
Process
illumination (5)
terminated with an error exit status (134)Command executed:
/opt/fiji/Fiji.app/ImageJ-linux64 --ij2 --headless --run /opt/fiji/imagej_basic_ashlar.py 'filename="CC1033_Panel05.czi",output_dir=".",experiment_name="CC1033_Panel05.czi"'
Command exit status:
134
Command output:
A fatal error has been detected by the Java Runtime Environment:
Internal Error (safepoint.cpp:388), pid=8, tid=0x00002aab40588700
guarantee(PageArmed == 0) failed: invariant
JRE version: OpenJDK Runtime Environment (8.0_322-b06) (build 1.8.0_322-b06)
Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode linux-amd64 compressed oops)
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
An error report file with more information is saved as:
hs_err_pid8.log
If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
Command error:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
OpenJDK 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
A fatal error has been detected by the Java Runtime Environment:
Internal Error (safepoint.cpp:388), pid=8, tid=0x00002aab40588700
guarantee(PageArmed == 0) failed: invariant
JRE version: OpenJDK Runtime Environment (8.0_322-b06) (build 1.8.0_322-b06)
Java VM: OpenJDK 64-Bit Server VM (25.322-b06 mixed mode linux-amd64 compressed oops)
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
An error report file with more information is saved as:
hs_err_pid8.log
If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
qemu: uncaught target signal 6 (Aborted) - core dumped
.command.sh: line 2: 8 Aborted /opt/fiji/Fiji.app/ImageJ-linux64 --ij2 --headless --run /opt/fiji/imagej_basic_ashlar.py 'filename="CC1033_Panel05.czi",output_dir=".",experiment_name="CC1033_Panel05.czi"'
Work dir:
/Users/eisele.24/work/d6/619e39cc988f9c04654cae30873232
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
The text was updated successfully, but these errors were encountered: