From: Fabio Z. <fa...@gm...> - 2006-06-13 23:19:26
|
Hi Michael, On 6/12/06, Michael Sorich <mic...@gm...> wrote: > > Whenever I attempt to debug a module using a particular 3rd party > package the debugger crashes. There is no problem if the file is run > rather than debugged. I am using pydev 1.10 and python 2.4.2 on win > xp. > > For example if I have a module which only imports the extension package > e.g. > > from openeye.oechem import * > > The debugger will output > > pydev debugger > Exception exceptions.AttributeError: "'NoneType' object has no > attribute 'currentThread'" in > > If I actually use something from the package e.g. > > from openeye.oechem import * > m = OEMol() > > A dialog will appear indicating: 'python.exe has encountered a problem > and needs to close. We are sorry for the inconvenience.' The pydev > debugger outputs: > > pydev debugger > Exception exceptions.AttributeError: "'NoneType' object has no > attribute 'currentThread'" in <bound method oeifstream.__del__ of > <openeye.oechem.oeifstream; proxy of C++ OEPlatform::oeifstream > instance at _20ea0102_p_OEPlatform__oeifstream>> ignored > > Does anyone have any idea what the problem is and whether there is a > way to get around it? > That problem usually occurs when a library is not 'well designed'... The debugger actually touches all the variables in the global scope, going into each attribute and getting its representation, so, what appears to be happening is that the debugger tries to get some variable it ends up doing some operation that will crash. Usually, this happens if something is designed as a property, for 'easy' acess instead of a method, so, as pydev cannot guess that it shouldn't touch that, when it does it crashes (because the design probably had something that has 'pre-requisites' for accessing it). Cheers, Fabio |