From: Jan W. <j.w...@sc...> - 2001-12-06 10:38:40
|
Hi, I've got a jython program that uses threads. This program gets compiled i= nto a jar file with jythonc. Since jython2.1b1 I get the error message: Error in sys.exitfunc: Traceback (innermost last): File "/usr/local/jython-2.1b1/Lib/atexit.py", line 0, in _run_exitfunc= s File "/usr/local/jython-2.1b1/Lib/threading.py", line 0, in __exitfunc AttributeError: _Thread__stop but only when running from the jar file. The jar file is constructed with jythonc -d Haupt.py, extracting jython.j= ar and the xmlrpc.jar into jpywork and jarring the resulting mess together. With 2.1a3 this error does not occur. I'm using java 1.3.1(_01) either fr= om Blackdown or Sun (IBM Java produces a segfault with jython2.1b1). What is the problem? Cheerio, --=20 J.W...@sc... - Fon +4970719457-257 Fax-211 science+computing ag - Hagellocher Weg 71-75 - 72070 T=FCbingen Um ja nichts zu verpassen, kontrolliere man am besten immer gleich alle Dreckecken in seiner Wohnung, es k=F6nnten sich ja dort schon wieder irge= ndwelche neuen Medien gebildet haben, die niedere Botschaften ausspeien wollen. (Max = Goldt) |
From: <bc...@wo...> - 2001-12-06 13:16:11
|
[Jan Wender] >Hi, >I've got a jython program that uses threads. This program gets compiled i= >nto a >jar file with jythonc. >Since jython2.1b1 I get the error message: > Error in sys.exitfunc: > Traceback (innermost last): > File "/usr/local/jython-2.1b1/Lib/atexit.py", line 0, in _run_exitfunc= >s > File "/usr/local/jython-2.1b1/Lib/threading.py", line 0, in __exitfunc > AttributeError: _Thread__stop >but only when running from the jar file. >The jar file is constructed with jythonc -d Haupt.py, extracting jython.j= >ar and >the xmlrpc.jar into jpywork and jarring the resulting mess together. >With 2.1a3 this error does not occur. I'm using java 1.3.1(_01) either fr= >om Blackdown or Sun (IBM Java produces a segfault with jython2.1b1). > >What is the problem? The new support for atexit have uncovered an old bug in jythonc's handling of private variables. Jythonc doesn't perform the correct name mangling of names that begin with a double underscore. As a temporary workaround in this particular case, I'll suggest that you add a line to disable the atexit handling right after importing threading. import threading import atexit; atexit._exithandlers.pop() I've added a bug report about this, and I expect it to be fixed in jythonc in beta2. Thank you for reporting this. regards, finn |