fMRIprep can not pass bids-validation step

Hi everyone,

I am running into a similar issues as this post with fmriperp 1.2.6. However, mine is kind of weird because I didn’t have this error when preprocessing the first 12 subjects. This appeared when I was processing subject13, who have the exact same data structure as the first 12 subjects, and this error persisted since then. I have validate the dataset with the online bids validation website, and had no errors but a few warnings.

Currently, I am using –skip_bids_validation flag to get around this error, but I am wondering if anybody have some ideas or suggestions towards why this error will happen for some but not all participants? Or from a particular time point? I would also love to get some insights towards whether there will be any differences between preprocessing the subjects with the –skip_bids_validation flag and without. (I did not notice any differences when I compared between these outcomes.) To be consistent, would it be suggested to re-preprocess all subjects with the flag? Or is this issue being resolved in newer versions of fmriprerp, and I should update the fmriprep to re-process?

Thank you for any suggestions or insights in advance!


btw, I included my sbatch out file and parts of the error file here just incase they are helpful.

Out file:

<--- Last few GCs --->

[64824:0x24e2150]  2345038 ms: Mark-sweep 1404.1 (1441.0) -> 1403.9 (1441.0) MB, 1522.8 / 0.0 ms  (average mu = 0.754, current mu = 0.446) allocation failure scavenge might not succeed
[64824:0x24e2150]  2346605 ms: Mark-sweep 1404.1 (1441.0) -> 1404.0 (1441.0) MB, 1269.9 / 0.0 ms  (average mu = 0.627, current mu = 0.190) allocation failure scavenge might not succeed

<--- JS stacktrace --->
Cannot get stack trace in GC.
Making sure the input data is BIDS compliant (warnings can be ignored in most cases).

Error File:

FATAL ERROR: MarkCompactCollector: semi-space copy, fallback in old gen Allocation failed - JavaScript heap out of memory

 1: 0x8db900 node::Abort() [bids-validator]

 2: 0x8db94c [bids-validator]

 3: 0xad6c1e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [bids-validator]

 4: 0xad6e54 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [bids-validator]

 5: 0xec44e2 [bids-validator]

 6: 0xeeb6a1 v8::internal::EvacuateNewSpaceVisitor::Visit(v8::internal::HeapObject*, int) [bids-validator]

 7: 0xeef6e7 void v8::internal::LiveObjectVisitor::VisitBlackObjectsNoFail<v8::internal::EvacuateNewSpaceVisitor, v8::internal::MajorNonAtomicMarkingState>(v8::internal::MemoryChunk*, v8::internal::MajorNonAtomicMarkingState*, v8::internal::EvacuateNewSpaceVisitor*, v8::internal::LiveObjectVisitor::IterationMode) [bids-validator]

 8: 0xef83a2 v8::internal::FullEvacuator::RawEvacuatePage(v8::internal::Page*, long*) [bids-validator]

 9: 0xee7561 v8::internal::Evacuator::EvacuatePage(v8::internal::Page*) [bids-validator]

10: 0xee7862 v8::internal::PageEvacuationTask::RunInParallel() [bids-validator]

11: 0xedfd0f v8::internal::ItemParallelJob::Task::RunInternal() [bids-validator]

12: 0xee0847 v8::internal::ItemParallelJob::Run(std::shared_ptr<v8::internal::Counters>) [bids-validator]

13: 0xeec01e void v8::internal::MarkCompactCollectorBase::CreateAndExecuteEvacuationTasks<v8::internal::FullEvacuator, v8::internal::MarkCompactCollector>(v8::internal::MarkCompactCollector*, v8::internal::ItemParallelJob*, v8::internal::RecordMigratedSlotVisitor*, v8::internal::MigrationObserver*, long) [bids-validator]

14: 0xef72ad v8::internal::MarkCompactCollector::EvacuatePagesInParallel() [bids-validator]

15: 0xef7416 v8::internal::MarkCompactCollector::Evacuate() [bids-validator]

16: 0xef7eb2 v8::internal::MarkCompactCollector::CollectGarbage() [bids-validator]

17: 0xecfd01 v8::internal::Heap::MarkCompact() [bids-validator]

18: 0xed03f1 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [bids-validator]

19: 0xed0ff4 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [bids-validator]

20: 0xed3c61 v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [bids-validator]

21: 0xe9d0e4 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [bids-validator]

22: 0x113c88e v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [bids-validator]

23: 0x3166950dbe1d

Paging @rwblair to take a look.