Some locally developed problems are coded as "problem pieces" which are then loaded via a control PG file using includePGproblem(). The typical usage case is a set of several possible options for each part of a question, which are easy to maintain as single files (rather than inside one large file which selects each case from a long list).
This approach works well in some settings, but fails when multiple "problem pieces" need to use parserMultiAnswer.pl.
When 2 "problem pieces" both use MultiAnswer, trying to load the control file leads to Apache using huge amounts of CPU and RAM and failing to respond.
From this it seems that there is some problem using MultiAnswer in problems loaded via includePGproblem() from different files.
A set of sample file is attached which is just a trivial problem which uses MultiAnswer to grade 2 input boxes together, and given twice to trigger the error. When test2.pg is loaded after test1.pg by load_pair.pg the issue hits, and the server thrashes. Replacing test2.pg by test2b.pg which does not use MultiAnswer bypasses the problem, but fails to provide the intended behavior.
Hopefully there is some method to avoid the issue.