[Python-bugs-list] [ python-Bugs-743692 ] test_socketserver: Fatal error: Invalid thread state

SourceForge.net noreply at sourceforge.net
Fri Sep 26 13:30:39 EDT 2003


Bugs item #743692, was opened at 2003-05-26 16:30
Message generated for change (Comment added) made by jcea
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=743692&group_id=5470

Category: Threads
Group: Python 2.3
Status: Open
Resolution: None
Priority: 6
Submitted By: Neal Norwitz (nnorwitz)
Assigned to: Mark Hammond (mhammond)
Summary: test_socketserver: Fatal error: Invalid thread state

Initial Comment:
Mark, I believe this started happening on Solaris 8

(only AFAIK) after some of your thread changes.  Do you

have access to a Solaris 8 box?  I can try to debug if

you give me some ideas.  This is happening on the snake

farm.  Actually, we have a Sol8 box here.  I can try to

fire it up and see if the problem exists on that box. 

If so, I can give you access.



When running test_socketserver, some way through the

test there's the fatal error.



Fatal Python error: Invalid thread state for this thread



Let me know what more info I can provide.  Sorry, short

on ideas/time, just wanted to get this documented.

----------------------------------------------------------------------

Comment By: Jesús Cea Avión (jcea)
Date: 2003-09-26 19:30

Message:
Logged In: YES 
user_id=97460

With Python 2.3.1 out, is this bug still alive?

----------------------------------------------------------------------

Comment By: Barry A. Warsaw (bwarsaw)
Date: 2003-07-29 05:59

Message:
Logged In: YES 
user_id=12800

What can we do about this for 2.3 final?  Probably nothing

given the deadline.  Lowering the priority.

----------------------------------------------------------------------

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-07-10 06:25

Message:
Logged In: YES 
user_id=33168

I changed the DELAY in the test to be zero.  The test fails,

but it's interesting that it also hangs in

lock_PyThread_acquire_lock (line 63):



Lib/threading.py (195): wait

Lib/threading.py (468): join

Lib/threading.py (564): __exitfunc

Lib/atexit.py (11): _run_exitfuncs



In looking at threadmodule.c I notice that most of the time 

Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS is not used

around PyThread_acquire_lock, but it is in

lock_PyThread_acquire_lock.  I'm not sure all of these are safe.



Here's some more detail on the Sun:



test_socketserver

ADDR = ('localhost', 17231)

CLASS = SocketServer.ForkingTCPServer

server created

thread: creating server

server running

thread: serving three times

test client 0

Fatal Python error: Invalid thread state for this thread



----------------------------------------------------------------------

Comment By: Neal Norwitz (nnorwitz)
Date: 2003-07-10 06:08

Message:
Logged In: YES 
user_id=33168

Doesn't seem real helpful.  I'll see if I can do more on this.



#0  PyThreadState_Swap (new=0x2b1160) at Python/pystate.c:274

#1  PyEval_RestoreThread (tstate=0x2b1160) at Python/ceval.c:391

#2  floatsleep (secs=0) at Modules/timemodule.c:831

#3  time_sleep (self=0x0, args=0x2b3968) at

Modules/timemodule.c:208

#4  PyCFunction_Call (func=0x2bd938, arg=0x2b3968, kw=0x0)

at Objects/methodobject.c:73

#5  call_function (pp_stack=0xdf142f04, oparg=1) at

Python/ceval.c:3439

#6  eval_frame (f=0x2890c8) at Python/ceval.c:2116



----------------------------------------------------------------------

Comment By: Mark Hammond (mhammond)
Date: 2003-07-08 06:39

Message:
Logged In: YES 
user_id=14198

I don't have access to a sol8 box, nor would I really know

what to do when I got there :)  Any chance of a stack-trace?

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=743692&group_id=5470



More information about the Python-bugs-list mailing list