A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2004-May/044876.html below:

[Python-Dev] Need traceback expert to review patch 954922

[Python-Dev] Need traceback expert to review patch 954922 [Python-Dev] Need traceback expert to review patch 954922Brett C. bac at OCF.Berkeley.EDU
Mon May 17 19:09:22 EDT 2004
Back in February, I tried to fix an issue of threads executed using 
'threading' that did not shut themselves down before the interpreter 
started tearing down globals, the thread triggering an exception, and 
then a new exception being raised while trying to report the exception 
raised in the thread by accessing globals (see 
http://mail.python.org/pipermail/python-dev/2004-February/042457.html 
for the previous discussion).  An initial fix was devised, but since 
there was no way to trigger the issue every time I was not sure if the 
fix was thorough enough.

Well, someone finally has an app that causes the error consistently and 
the previous fix did not go far enough.  But with the help of the app 
(mnet, specifically) I was finally able to get rid of all global 
accesses while reporting exceptions so that the original exception 
caught in the thread can get printed.  The patch is at 
http://python.org/sf/954922 while the bug report is at 
http://python.org/sf/754449 .

Trouble is that I had to basically fake traceback.format_exc() in the 
patch to a reasonable level since the 'traceback' module bounces around 
between its various functions too much to just store a local copy of the 
function and have it still work after globals are set to None.  So I 
need someone to just look over the code to make sure that the code is 
not doing something stupid when this code is called (default way is 
still used when 'sys' is defined and thus the interpreter is not being 
torn down).

And the reason I bring this up now is just in case there is any desire 
to put this in 2.3.4 .  I obviously know that I missed rc1, but I didn't 
get the details of triggering the problem soon enough and people running 
2.3.x are the ones bringing this up since this apparently did not happen 
under 2.2 for some reason.  I doubt Anthony wants to risk mucking with 
'threading' this late (although the patch is fairly self-contained but 
would require applying the previous patch to attempt to fix this as 
well), but I thought I would at least put it out there.

-Brett

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4