Question about CAT12.9 standalone when processing data

Summary of what happened:

Command used (and if a helper script was used, a link to the helper script or the command generate

matlabbatch{1}.spm.tools.cat.estwrite.output.surface = 0;
matlabbatch{1}.spm.tools.cat.estwrite.output.surf_measures = 0;

Version:

CAT12: CAT12.9_R2023b_MCR_Linux (standalone release)
OS: Ubuntu 20.04 x86_64, Linux kernel 5.4.0-182-generi

Environment (Docker, Singularity / Apptainer, custom installation):

Headless Linux container environment (AutoDL cloud server), no physical display
No full MATLAB license installed, using pure MCR standalone release

Data formatted according to a validatable standard? Please provide the output of the validator:

Not applicable. Input data are raw T1-weighted NIfTI images processed via a custom MATLAB batch script, not organized in BIDS structure. No BIDS validator was run.

PASTE VALIDATOR OUTPUT HERE

Relevant log outputs (up to 20 lines):

Warning: Load failed: '/root/autodl-tmp/test_data/out1/temp/module1/_temp_cat12_scripts/temp_segment_0.m'
Warning: Load failed: '/root/autodl-tmp/test_data/out1/temp/module1/_temp_cat12_scripts/temp_segment_1.m'

> Create initial surface
ERROR: CAT_RefineMesh binary execution failed
WARNING: Surface processing will not work because

> Surface and thickness estimation
> lh:
> Thickness estimation (0.50 mm³)

Surface file lh.central.JL_SC001_T1.gii could not be found due to previous processing errors.
Remove surface files from dependency list because they do not exist.

Screenshots / relevant information:

Troubleshooting steps already performed:

  1. Recursively granted full execute permissions (chmod -R a+x) to all files in the CAT12 standalone directory
  2. Confirmed the batch script sets surface disable parameters at multiple levels:
    • matlabbatch{1}.spm.tools.cat.estwrite.output.surface = 0;
    • matlabbatch{1}.spm.tools.cat.estwrite.output.surf_measures = 0;
  3. Installed common missing system dependencies: libgomp1, libgl1-mesa-glx, libxext6, libxrender1
  4. Configured Xvfb virtual display for the headless server environment
    Key observation:
    The exact same batch script runs correctly on the Windows standalone version of CAT12.9 R2023b — surface processing is fully skipped as expected. The issue only occurs on the Linux standalone release, where the surface disable parameter appears to be ignored.
    Environment:
  • OS: Ubuntu 20.04 x86_64, Linux kernel 5.4.0-182-generic
  • Platform: Headless cloud container (AutoDL), no physical display
  • CAT12 release: CAT12.9_R2023b_MCR_Linux standalone

Error output: