You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The travis ci pipeline sometimes fails randomly on the ProcessManagerTest::testLargeBatchProcessing test. In addition to the issue specified in #7, the pipeline also randomly fails with the same error, but for a different reason.
The output of this bug is then the following:
There was 1 failure:
1) Spork\ProcessManagerTest::testLargeBatchProcessing with data set #0 (10)
null does not match expected type "array".
Cause
The shutdown function is triggered several times if a ProcessManager's child process spawns their own children. No other test covered this scenario except of the batch processor tests. This behavior would sometimes cause the shared memory block to be already initialized by one of the processes child process. The parent then would fail on the shutdown function, because of the already existing block, which is in addition shorter than what is required for the message. This would cause unserialize to fail because of a cut off message.
Fix
Because it is not possible to unregister a shutdown function (once the child process is spawned), the solution to use shutdown functions is not ideal and should be changed in a later iteration. The current solution would be to check inside the shutdown function whether the passed process id is still the same when the function is executed. If not then it shall do nothing.
The text was updated successfully, but these errors were encountered:
The travis ci pipeline sometimes fails randomly on the ProcessManagerTest::testLargeBatchProcessing test. In addition to the issue specified in #7, the pipeline also randomly fails with the same error, but for a different reason.
The output of this bug is then the following:
Cause
The shutdown function is triggered several times if a ProcessManager's child process spawns their own children. No other test covered this scenario except of the batch processor tests. This behavior would sometimes cause the shared memory block to be already initialized by one of the processes child process. The parent then would fail on the shutdown function, because of the already existing block, which is in addition shorter than what is required for the message. This would cause
unserialize
to fail because of a cut off message.Fix
Because it is not possible to unregister a shutdown function (once the child process is spawned), the solution to use shutdown functions is not ideal and should be changed in a later iteration. The current solution would be to check inside the shutdown function whether the passed process id is still the same when the function is executed. If not then it shall do nothing.
The text was updated successfully, but these errors were encountered: