[MINC-users] Tempdir handling by some MINC tools
Gabriel A. Devenyi
gabriel.devenyi at mcgill.ca
Thu Jun 25 16:46:09 EDT 2020
We can fix this up with "mktemp -d" in shell scripts.
--------------------------------------------------------
Asking for technical help? Get help fast:
https://www.chiark.greenend.org.uk/~sgtatham/bugs.html
http://www.catb.org/~esr/faqs/smart-questions.html#beprecise
https://en.wikipedia.org/wiki/XY_problem
https://stackoverflow.com/help/minimal-reproducible-example
--
Gabriel A. Devenyi Ph.D.
Research Computing Associate
Computational Brain Anatomy Laboratory
Cerebral Imaging Center
Douglas Mental Health University Institute
Affiliate, Department of Psychiatry
McGill University
t: 514.761.6131x4781
e: gabriel.devenyi at mcgill.ca
On Thu, 25 Jun 2020 at 16:26, Alex Zijdenbos <zijdenbos at gmail.com> wrote:
> Hello all,
>
> I recently figured out why I am now and again running into some annoying
> mincdiff failures, where mincdiff does not report "Images are identical"
> even though they actually are. This comes back to the way mincheader
> creates and uses a temporary directory, here:
>
>
> https://github.com/BIC-MNI/minc-tools/blob/master/progs/mincheader/mincheader#L68-L76
>
>
> There are two problems with this bit of code:
>
> 1. it will generate a tempdir solely based on the pid. The pid is of
> course unique at that moment, but the generated directory may not be -
> for
> example, in case previous invocations with a (past) identical pid were
> not
> cleaned up. So something like mincdiff (that calls mincheader) might
> fail,
> solely because of a tempdir name clash
> 2. in the case of mincheader, the only use case for this appears to be
> in case of externally compressed .mnc.gz files. I am not sure who still
> uses those (I don't), but this means that working with internally
> compressed MINC2 files, each mincheader call will create a dir in /tmp
> that
> is subsequently not used for anything.
>
> Similar bits of tempdir/file code exist in mincinfo, mincdiff, and likely
> others.
>
> I was wondering if anybody might have fixed this already. In perl this is
> easy, using File::Temp that will guarantee unique temporary files - but
> these tools are all shell scripts. If somebody has some .sh code lying
> around that does this better, perhaps that can be slotted into these tools
> pretty easily?
>
> Thanks,
>
> -- A
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> https://mailman.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>
More information about the MINC-users
mailing list