External Email - Use Caution So the same input volume will sometimes succeed and sometimes fail depending upon the platform?

On 5/17/2023 12:05 PM, Patrick Sadil wrote:

        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
      o freesurfer-linux-centos7_x86_64-7.4.0.tar.gz install on HPC,
        CentOS Linux release 7.9.2009 (Core)
      o freesurfer-linux-centos7_x86_64-7.3.2.tar.gz install on HPC,
        CentOS Linux release 7.9.2009 (Core)
      o 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
      o 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
      o Custom docker image (below), built and run on Apple M1 Pro; 13.3.1
  * Succeeds
      o 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: *MailScanner has detected a possible fraud attempt from "secure-web.cisco.com" claiming to be* https://secure-web.cisco.com/1sUGhIq4uiZ78TKmfF996Kz7seu2zx4cfizMdAXVyDM7vXGpNa-nS7Drf3cvc0vZI5BJs7Ks6KL4dnon2kztqXtidyui6a6MW2s-_GMJBFxcmOd7LPW6S1gePoAL0d0Z-r5xlWUMSQpehDRi_cJZJ6SvPJsqVXqAYIwOLpdem1S9Njd8sezJJr0s7knXILifzwpZNBaMQsI3uV_H256a3fG33tRtsyidt2qtAP85udVqLNllqx8-zb6G0Cs9lxa1H/https%3A%2F%2Fgithub.com%2Ffreesurfer%2Ffreesurfer%2Fblob%2Fdev%2FDockerfile <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://secure-web.cisco.com/17bDwz5KKuut5pvCL5qbVjy4OfnKEyZ9xvaCa2GFr9KL4P_vs5kCkuf8lQrxww5EfivsCOm5dbsw0g2RC7qGAqBJ77E94InOov6Y-yrGXISKUvGwiJ6IyxzM-atvBJetYJYgkS8IWdYxB7s9Dlj3F29OnYjMbbeqAS2auXPzNkGst46xxeNnCEBXQFOXGgVB9ZjAgq2UWIJ9N6GzIZq9rx50hVfv4Itvqqdu4rVc4vkYwXY7wr7gSD7X3_gHmKque/https%3A%2F%2Fmail.nmr.mgh.harvard.edu%2Fmailman%2Flistinfo%2Ffreesurfer
_______________________________________________
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. 

Reply via email to