This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author sbt
Recipients sbt
Date 2012-04-11.16:32:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1334161952.16.0.996503370024.issue14548@psf.upfronthosting.co.za>
In-reply-to
Content
When running test_multiprocessing on Linux I occasionally see a stream of errors caused by ignored weakref callbacks:

  Exception AssertionError: AssertionError() in <Finalize object, dead> ignored

These do not cause the unittests to fail.

Finalizers from the parent process are supposed to be cleared after the fork.  But if a garbage collection before that then Finalizer callbacks can be run in the "wrong" process.

Disabling gc during fork seems to prevent the errors.  Or maybe the Finalizer should record the pid of the process which created it and only invoke the callback if it matches the current pid.

(Compare Issure 1336 conscerning subprocess.)
History
Date User Action Args
2012-04-11 16:32:32sbtsetrecipients: + sbt
2012-04-11 16:32:32sbtsetmessageid: <1334161952.16.0.996503370024.issue14548@psf.upfronthosting.co.za>
2012-04-11 16:32:31sbtlinkissue14548 messages
2012-04-11 16:32:31sbtcreate