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