External Email - Use Caution Hello, I am trying to process several images with MiDeFace but running into issues with memory and uncaught exceptions.
Of 50 images, about half are processed successfully. On the other half MiDeFace fails consistently. However, whether the images fail seems to depend on the platform. Here's what I've tried * Fails * freesurfer-linux-centos7_x86_64-7.4.0.tar.gz install on HPC, CentOS Linux release 7.9.2009 (Core) * freesurfer-linux-centos7_x86_64-7.3.2.tar.gz install on HPC, CentOS Linux release 7.9.2009 (Core) * Apptainer image from docker://freesurfer/freesurfer<https://secure-web.cisco.com/1DvhrFu1kaP9PaSAhS39FlCLj-NcldxBMN98KtNtuXGp8BWJa0K3hAYeump0yEfKrfpgy74ZtMZVqfFHR0WByLIJsr9nIBx5jHbNNa2LLToQIr50MM2jAEAl2NuZCpQUYlp4La3urRrt00_KkvV894QZNTMD5AN6V5wmxWNN58xY9BcbS4wZLih4nUd48pVj4mgqXerIJW1ByhccK2n6ZbpZMP40xvz75_w3K-Tq71WNSOa6J9ADeG29_w8_n77_kvV_s4WsF14sasH1-Fn-Yz5mlePep4kJXs6XGUNJF8N9ptsXqthhmUpG5o-3V7DAY/https%3A%2F%2Fhub.docker.com%2Fr%2Ffreesurfer%2Ffreesurfer>:7.3.2, (this is built on CentOS:7) run on HPC * Docker image from docker://freesurfer/freesurfer<https://secure-web.cisco.com/1DvhrFu1kaP9PaSAhS39FlCLj-NcldxBMN98KtNtuXGp8BWJa0K3hAYeump0yEfKrfpgy74ZtMZVqfFHR0WByLIJsr9nIBx5jHbNNa2LLToQIr50MM2jAEAl2NuZCpQUYlp4La3urRrt00_KkvV894QZNTMD5AN6V5wmxWNN58xY9BcbS4wZLih4nUd48pVj4mgqXerIJW1ByhccK2n6ZbpZMP40xvz75_w3K-Tq71WNSOa6J9ADeG29_w8_n77_kvV_s4WsF14sasH1-Fn-Yz5mlePep4kJXs6XGUNJF8N9ptsXqthhmUpG5o-3V7DAY/https%3A%2F%2Fhub.docker.com%2Fr%2Ffreesurfer%2Ffreesurfer>:7.3.2, (this is built on CentOS:7) Apple M1 Pro; 13.3.1 * Custom docker image (below), built and run on Apple M1 Pro; 13.3.1 * Succeeds * freesurfer-darwin-macOS-7.4.0.pkg, installed and run on Apple M1 Pro; 13.3.1 So, I'm not sure whether this is a bug or something that I need to configure differently. ############ Example apptainer command $ apptainer exec -e -B $(pwd):/data docker://freesurfer/freesurfer:7.3.2 mideface --i /data/volume.nii.gz --o /data/defaced.nii.gz --odir /data/qa Example docker command > docker run --rm -it -v $(pwd):/data freesurfer/freesurfer:7.3.2 mideface --i > /data/volume.nii.gz --o /data/defaced.nii.gz --odir /data/qa Example "bare" command > mideface --i volume.nii.gz --o defaced.nii.gz --odir qa ############ On the CentOS runs, the error is MiDeface::SegFace() *** Error in `mri_defacer': double free or corruption (!prev): 0x000000000e4d64f0 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x81329)[0x4001f6b329] mri_defacer[0x4b0ebe] mri_defacer[0x422c15] mri_defacer[0x415308] /lib64/libc.so.6(__libc_start_main+0xf5)[0x4001f0c555] mri_defacer[0x418367] ======= Memory map: ======== 400000-700000 r-xp 00000000 fe:01 4223092 /usr/local/freesurfer/bin/mri_defacer 700000-900000 ---p 00000000 00:00 0 900000-908000 r--p 00300000 fe:01 4223092 /usr/local/freesurfer/bin/mri_defacer 908000-932000 rw-p 00308000 fe:01 4223092 /usr/local/freesurfer/bin/mri_defacer 932000-13ee1000 rw-p 00000000 00:00 0 4000000000-4000001000 ---p 00000000 00:00 0 4000001000-4000801000 rw-p 00000000 00:00 0 [stack] 4000801000-4000823000 r-xp 00000000 fe:01 2527596 /usr/lib64/ld-2.17.so 4000823000-4000a22000 ---p 00000000 00:00 0 4000a22000-4000a23000 r--p 00021000 fe:01 2527596 /usr/lib64/ld-2.17.so 4000a23000-4000a24000 rw-p 00022000 fe:01 2527596 /usr/lib64/ld-2.17.so 4000a24000-4000a27000 rw-p 00000000 00:00 0 4000a2b000-4000a2c000 rw-p 00000000 00:00 0 4000a2c000-4000a41000 r-xp 00000000 fe:01 2527648 /usr/lib64/libz.so.1.2.7 4000a41000-4000c40000 ---p 00015000 fe:01 2527648 /usr/lib64/libz.so.1.2.7 4000c40000-4000c41000 r--p 00014000 fe:01 2527648 /usr/lib64/libz.so.1.2.7 4000c41000-4000c42000 rw-p 00015000 fe:01 2527648 /usr/lib64/libz.so.1.2.7 4000c42000-4000c59000 r-xp 00000000 fe:01 2527629 /usr/lib64/libpthread-2.17.so 4000c59000-4000e58000 ---p 00017000 fe:01 2527629 /usr/lib64/libpthread-2.17.so 4000e58000-4000e59000 r--p 00016000 fe:01 2527629 /usr/lib64/libpthread-2.17.so 4000e59000-4000e5a000 rw-p 00017000 fe:01 2527629 /usr/lib64/libpthread-2.17.so 4000e5a000-4000e5e000 rw-p 00000000 00:00 0 4000e5e000-4000e60000 r-xp 00000000 fe:01 2527609 /usr/lib64/libdl-2.17.so 4000e60000-4001060000 ---p 00002000 fe:01 2527609 /usr/lib64/libdl-2.17.so 4001060000-4001061000 r--p 00002000 fe:01 2527609 /usr/lib64/libdl-2.17.so 4001061000-4001062000 rw-p 00003000 fe:01 2527609 /usr/lib64/libdl-2.17.so 4001062000-4001063000 rw-p 00000000 00:00 0 4001063000-4001164000 r-xp 00000000 fe:01 2527611 /usr/lib64/libm-2.17.so 4001164000-4001363000 ---p 00101000 fe:01 2527611 /usr/lib64/libm-2.17.so 4001363000-4001364000 r--p 00100000 fe:01 2527611 /usr/lib64/libm-2.17.so 4001364000-4001365000 rw-p 00101000 fe:01 2527611 /usr/lib64/libm-2.17.so 4001365000-400138a000 r-xp 00000000 fe:01 2527938 /usr/lib64/libgomp.so.1.0.0 400138a000-4001589000 ---p 00025000 fe:01 2527938 /usr/lib64/libgomp.so.1.0.0 4001589000-400158a000 r--p 00024000 fe:01 2527938 /usr/lib64/libgomp.so.1.0.0 400158a000-400158b000 rw-p 00025000 fe:01 2527938 /usr/lib64/libgomp.so.1.0.0 400158b000-4001593000 r-xp 00000000 fe:01 2527607 /usr/lib64/libcrypt-2.17.so 4001593000-4001792000 ---p 00008000 fe:01 2527607 /usr/lib64/libcrypt-2.17.so 4001792000-4001793000 r--p 00007000 fe:01 2527607 /usr/lib64/libcrypt-2.17.so 4001793000-4001794000 rw-p 00008000 fe:01 2527607 /usr/lib64/libcrypt-2.17.so 4001794000-40017c3000 rw-p 00000000 00:00 0 40017c3000-40017ca000 r-xp 00000000 fe:01 2527633 /usr/lib64/librt-2.17.so 40017ca000-40019c9000 ---p 00007000 fe:01 2527633 /usr/lib64/librt-2.17.so 40019c9000-40019ca000 r--p 00006000 fe:01 2527633 /usr/lib64/librt-2.17.so 40019ca000-40019cb000 rw-p 00007000 fe:01 2527633 /usr/lib64/librt-2.17.so 40019cb000-4001ab4000 r-xp 00000000 fe:01 2123191 /usr/lib64/libstdc++.so.6.0.19 4001ab4000-4001cb4000 ---p 000e9000 fe:01 2123191 /usr/lib64/libstdc++.so.6.0.19 4001cb4000-4001cbc000 r--p 000e9000 fe:01 2123191 /usr/lib64/libstdc++.so.6.0.19 4001cbc000-4001cbe000 rw-p 000f1000 fe:01 2123191 /usr/lib64/libstdc++.so.6.0.19 4001cbe000-4001cd3000 rw-p 00000000 00:00 0 4001cd3000-4001ce8000 r-xp 00000000 fe:01 2123006 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 4001ce8000-4001ee7000 ---p 00015000 fe:01 2123006 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 4001ee7000-4001ee8000 r--p 00014000 fe:01 2123006 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 4001ee8000-4001ee9000 rw-p 00015000 fe:01 2123006 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 4001ee9000-4001eea000 rw-p 00000000 00:00 0 4001eea000-40020ae000 r-xp 00000000 fe:01 2527603 /usr/lib64/libc-2.17.so 40020ae000-40022ad000 ---p 001c4000 fe:01 2527603 /usr/lib64/libc-2.17.so 40022ad000-40022b1000 r--p 001c3000 fe:01 2527603 /usr/lib64/libc-2.17.so 40022b1000-40022b3000 rw-p 001c7000 fe:01 2527603 /usr/lib64/libc-2.17.so 40022b3000-40022b8000 rw-p 00000000 00:00 0 40022b8000-40022ba000 r-xp 00000000 fe:01 2527589 /usr/lib64/libfreebl3.so 40022ba000-40024b9000 ---p 00002000 fe:01 2527589 /usr/lib64/libfreebl3.so 40024b9000-40024ba000 r--p 00001000 fe:01 2527589 /usr/lib64/libfreebl3.so 40024ba000-40024bb000 rw-p 00002000 fe:01 2527589 /usr/lib64/libfreebl3.so 40024bb000-40024c0000 rw-p 00000000 00:00 0 40024c1000-40024c2000 rw-p 00000000 00:00 0 40024c7000-40024d3000 r-xp 00000000 fe:01 2527621 /usr/lib64/libnss_files-2.17.so 40024d3000-40026d2000 ---p 0000c000 fe:01 2527621 /usr/lib64/libnss_files-2.17.so 40026d2000-40026d3000 r--p 0000b000 fe:01 2527621 /usr/lib64/libnss_files-2.17.so 40026d3000-40026d4000 rw-p 0000c000 fe:01 2527621 /usr/lib64/libnss_files-2.17.so 40026d4000-40026da000 rw-p 00000000 00:00 0 40026dc000-4004767000 rw-p 00000000 00:00 0 400476a000-400c2f1000 rw-p 00000000 00:00 0 400db9d000-400e3c0000 rw-p 00000000 00:00 0 400e3c1000-401044c000 rw-p 00000000 00:00 0 401044d000-40215ba000 rw-p 00000000 00:00 0 40215bd000-4023648000 rw-p 00000000 00:00 0 4023649000-4023ec1000 rw-p 00000000 00:00 0 4023eca000-4023ecb000 rw-p 00000000 00:00 0 4024000000-4024021000 rw-p 00000000 00:00 0 4024021000-4028000000 ---p 00000000 00:00 0 ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] =============================================== MiDeface::FaceIntensityStats() Mode2 12 12 4362 qemu: uncaught target signal 6 (Aborted) - core dumped Abort ERROR: ############ With a docker image using Ubuntu base, the error is MiDeface::SegFace() qemu: uncaught target signal 11 (Segmentation fault) - core dumped Segmentation fault ERROR: ############ # model: https://secure-web.cisco.com/136_Zz066Z8cbbdchcsatHGiXtRECWueMMcLlf0uVeUENNRDrJpfpYWYxWB_xVqcv_q-mDyJhhrWwGz6k0ZjlLElB-y9moV742dpMuxpg2UoFh02pXr11pzeYLVvqNXTxAB8lklWnwh4zkVJ1zyPhUw8TvF1PDF6nhdonAzvRT5K90s284FvKO5kGMHBlEt358ta4Af1re3ljXCjw7EmkOAPcafelUXN4cXu7TlvW0zXclwucIUrPYGpjo7_ZwKbka-KtcUXibijkZLz_-ScNOom8Nffa2qNG1Mq6bKCoXQCrb92Gnzk2Bf_6xFAv1fg9/https%3A%2F%2Fgithub.com%2Ffreesurfer%2Ffreesurfer%2Fblob%2Fdev%2FDockerfile # Dockerfile FROM ubuntu:22.04 COPY freesurfer_ubuntu22-7.4.0_amd64.deb /tmp/fs.deb # install RUN apt-get update \ && apt-get install -y /tmp/fs.deb \ && rm -rf /var/lib/apt/lists/* \ && rm /tmp/fs.deb COPY license /usr/local/freesurfer/7.4.0/.license # setup fs env ENV OS Linux ENV FREESURFER_HOME /usr/local/freesurfer/7.4.0 ENV PATH ${FREESURFER_HOME}/bin:${FREESURFER_HOME}/fsfast/bin:${FREESURFER_HOME}/tktools:{$FREESURFER_HOME}/mni/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV FREESURFER ${FREESURFER_HOME} ENV SUBJECTS_DIR ${FREESURFER_HOME}/subjects ENV LOCAL_DIR ${FREESURFER_HOME}/local ENV FSFAST_HOME ${FREESURFER_HOME}/fsfast ENV FMRI_ANALYSIS_DIR ${FREESURFER_HOME}/fsfast ENV FUNCTIONALS_DIR ${FREESURFER_HOME}/sessions ENV FS_LICENSE ${FREESURFER_HOME}/.license # set default fs options ENV FS_OVERRIDE 0 ENV FIX_VERTEX_AREA "" ENV FSF_OUTPUT_FORMAT nii.gz # mni env requirements ENV MINC_BIN_DIR ${FREESURFER_HOME}/mni/bin ENV MINC_LIB_DIR ${FREESURFER_HOME}/mni/lib ENV MNI_DIR ${FREESURFER_HOME}/mni ENV MNI_DATAPATH ${FREESURFER_HOME}/mni/data ENV MNI_PERL5LIB ${FREESURFER_HOME}/mni/share/perl5 ENV PERL5LIB ${FREESURFER_HOME}/mni/share/perl5 Thanks! Patrick Sadil, PhD (he/him/his) Research Associate psadil.github.io/psadil
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Mass General Brigham Compliance HelpLine at https://www.massgeneralbrigham.org/complianceline <https://www.massgeneralbrigham.org/complianceline> . Please note that this e-mail is not secure (encrypted). If you do not wish to continue communication over unencrypted e-mail, please notify the sender of this message immediately. Continuing to send or respond to e-mail after receiving this message means you understand and accept this risk and wish to continue to communicate over unencrypted e-mail.