On Mon, Dec 07, 2015 at 03:45:14PM +0000, Jose Fonseca wrote: > On 07/12/15 15:31, Jose Fonseca wrote: > >I figured out how to not redirect stderr, but I can't figure out how to > >not catch the exceptions for the life of me. > > > >There's not a single exception handler, but many. I identified some as > >drafted in the attached, but there are apparently more. > > > >They are hidden inside accessors and function decorators, and who knows > >what more... > > > >Jose > > It seems that the final culprit might, is fact, the multiprocessing module > itself from the Python library. > > Not sure how to avoid this. It looks like we really need to catch the > Python exceptions and dump it to stderr ourselves if we don't want them to > be ignored. > > Jose > _______________________________________________ > Piglit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/piglit
Yes. This is a thorn that I have tried and tried and tried to solve and haven't figured out how, thus the reason that we still just write the exception (and sorry about not writing the traceback, completely my fault). The problem is that python (very frustratingly) doesn't have a good way to pass exceptions between threads. The only solution I've come up with is to use a Queue and check to see if an exception has been placed on the Queue after each thread completes, but I haven't been able to get it working. (It's actually threading, but python is weird and put the threading interface in the multiprocessing module. I don't really understand why it's there) I would be completely okay with removing the PIGLIT_DEBUG variable and letting the stacktrace go (except for PiglitFatalError, those are expected and shouldn't get a stacktrace), It was added at the request of a developer (I don't remember who now) who complained about the stack traces. But clearly isn't working. Dylan
signature.asc
Description: PGP signature
_______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
