3dttest++ -clustsim Syntax error: Bad fd number


I use the new -clustsim option of 3dttest++ recently.
I always meet the error message below.

++ t-test randomsign:sh: 1: Syntax error: Bad fd number
sh: 1: Syntax error: Bad fd number

Although the error message is displayed, the 3dttest++ continues and finally with results.

Is this a potential problem need further care?

The output information for the -clustsim section:

++ ================ Starting -clustsim calculations ================

  • ===== temporary files will have prefix TT.4sAVd179k2U =====
  • ===== running 4 -randomsign jobs (2501 iterations per job) =====
  • #0 jobs command:
    3dttest++ -DAFNI_AUTOMATIC_FDR=NO -DAFNI_DONT_LOGFILE=YES -randomsign 2501 -nomeans -toz -no1sam -mask /media/sf_DataAna/tdcs_reana/group/AB/statfolder/ana/TT_mask_rs+tlrc -paired -setA TT.4sAVd179k2U.resid.nii’[0…31]’ -setB TT.4sAVd179k2U.resid.nii’[32…$]’ -prefix .//TT.4sAVd179k2U.000.nii
    sh: 1: Syntax error: Bad fd number
    ++ 3dttest++: AFNI version=AFNI_16.2.06 (Jul 25 2016) [64-bit]
    ++ Authored by: Zhark++
    ++ 92165 voxels in -mask dataset
    ++ 2-sample test: ‘-AminusB’ option is assumed
    ++ paired test: results will be SetA - SetB
    ++ loading input datasets
    ++ Memory usage now = 26,511,204 (27 million [mega])
    ++ t-test randomsign:sh: 1: Syntax error: Bad fd number
    sh: 1: Syntax error: Bad fd number

    ++ ---------- End of analyses – freeing workspaces ----------
    ++ Memory usage now = 2,920,635,820 (2.9 billion [giga])
    ++ Output dataset .//TT.4sAVd179k2U.000.nii
  • paired test: results are SetA - SetB
  • ===== jobs have finished (596.01 s elapsed) =====
  • ===== starting 3dClustSim =====
    3dClustSim -DAFNI_DONT_LOGFILE=YES -inset .//TT.4sAVd179k2U.???.nii -prefix TT.4sAVd179k2U.CSim -LOTS -both -nodec -cmd TT.4sAVd179k2U.CSim.cmd -mask /media/sf_DataAna/tdcs_reana/group/AB/statfolder/ana/TT_mask_rs+tlrc
    ++ 3dClustSim: AFNI version=AFNI_16.2.06 (Jul 25 2016) [64-bit]
    ++ Authored by: RW Cox and BD Ward
    ++ 92165 voxels in mask (31.58% of total)
  • loading -inset ‘.//TT.4sAVd179k2U.000.nii’ with 2501 volumes
    ++ -inset had 2501 volumes = new ‘-niter’ value
    ++ Startup clock time = 13.2 s
    ++ Using 4 OpenMP threads
    ++ Clock time now = 71.2 s
    ++ Clock time now = 72.6 s
    ++ Command fragment to put cluster results into a dataset header;
  • (also echoed to file TT.4sAVd179k2U.CSim.cmd for your scripting pleasure)
  • Append the name of the datasets to be patched to this command:
    3drefit -atrstring AFNI_CLUSTSIM_NN1_1sided file:TT.4sAVd179k2U.CSim.NN1_1sided.niml -atrstring AFNI_CLUSTSIM_MASK file:TT.4sAVd179k2U.CSim.mask -atrstring AFNI_CLUSTSIM_NN2_1sided file:TT.4sAVd179k2U.CSim.NN2_1sided.niml -atrstring AFNI_CLUSTSIM_NN3_1sided file:TT.4sAVd179k2U.CSim.NN3_1sided.niml -atrstring AFNI_CLUSTSIM_NN1_2sided file:TT.4sAVd179k2U.CSim.NN1_2sided.niml -atrstring AFNI_CLUSTSIM_NN2_2sided file:TT.4sAVd179k2U.CSim.NN2_2sided.niml -atrstring AFNI_CLUSTSIM_NN3_2sided file:TT.4sAVd179k2U.CSim.NN3_2sided.niml -atrstring AFNI_CLUSTSIM_NN1_bisided file:TT.4sAVd179k2U.CSim.NN1_bisided.niml -atrstring AFNI_CLUSTSIM_NN2_bisided file:TT.4sAVd179k2U.CSim.NN2_bisided.niml -atrstring AFNI_CLUSTSIM_NN3_bisided file:TT.4sAVd179k2U.CSim.NN3_bisided.niml
  • ===== 3drefit-ing 3dClustSim results into ./ana/groupttest_015+tlrc.HEAD =====
    ++ 3drefit: AFNI version=AFNI_16.2.06 (Jul 25 2016) [64-bit]
    ++ Authored by: RW Cox
    ++ Processing AFNI dataset ./ana/groupttest_015+tlrc.HEAD
    ++ applying attributes
    ++ 3drefit processed 1 datasets
  • ===== deleting temp files TT.4sAVd179k2U..nii TT.4sAVd179k2U..niml =====
  • =============== -clustsim work is finished :slight_smile: ===============

Thanks a lot!


(1) the important thing is that 3dClustSim ran and seemed OK
(2) you must be using an older version, since the output text format has changed somewhat, and more iterations are now the default

As far as the ‘Bad fd number’ error goes, it comes from the shell that is invoked to run the 3dttest++ -randomsign iterations. My guess is you are using Ubuntu, since that error message only seems to come from that type of system, and is due to the remarkable fact that they replaced the default bash shell with another shell that uses a different syntax.