[Twisted-Python] trial.unitest-specific segfault with lxml

Phil Mayers p.mayers at imperial.ac.uk
Fri Aug 18 00:51:59 MDT 2017


On 18/08/2017 07:05, Tristan Seligmann wrote:

> Note that I don't think you're allowed to catch GeneratorExit like this; 

Interesting, I cribbed that from the lxml docs. Will look into it, 
thanks for the pointer.

> Given that the crash only occurs at exit, I suspect this has something 
> to do with finalizers running at a bad time during interpreter shutdown, 
> but I don't have time at the moment to look into this deeply (I just 
> spotted the GeneratorExit issue and wanted to check if that was the 
> problem).
> 
> I suspect this is an lxml or Cython bug, ultimately, but changing the 
> test base class changes some ordering of events arbitrarily resulting in 
> this heisencrash. Alternatively, it might have something to do with logging.

You're spot on - I have managed to trim the test-case down to a plain 
python script, no twisted/trial. It seems to crash the interpreter on 
exit any time >1 xmlfile is live at that point, but it does not crash if 
you del the objects in certain orders - trial was obviously just 
revealing it.

Thanks for the attention and apologies for the noise, seems this is 
nothing to do with Twisted.

Regards,
Phil




More information about the Twisted-Python mailing list