thread.error: release unlocked lock

John P. Speno speno at net.isc.upenn.edu
Thu Nov 18 21:52:51 EST 2004


In <mailman.6568.1100820402.5135.python-list at python.org> Tim Peters <tim.peters at gmail.com> writes:

>[John P.Speno]
>> I'm using the classic Python thread model. Main thread puts stuff into
>> a Queue.Queue() and worker threads get stuff out of it and do their
>> thing.

>A bounded queue or an unbounded queue?  Blocking get/put or
>non-blocking get/put?  About how many items are in the queue?  Since

Thanks for asking. Here's what I can tell you.

Unbounded queues with non-blocking get/put. At most there are 1500 items
in the queue. There are 20 threads getting from the queue, and one
putting.

I did have bounded queues (max 40 items) and blocking puts but got the same
insane error then too.

>nobody has reported your symptom before, some detail or other is going
>to be important.  How do the standard test_thread, test_threading, and
>test_queue tests fare on this box?  Was this Python configured to use
>pthreads or native Solaris threads?

% grep -i thread pyconfig.h | grep -v ^/
#define HAVE_PTHREAD_H 1
#define HAVE_PTHREAD_SIGMASK 1
#define HAVE_THREAD_H 1
#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1
#define SIZEOF_PTHREAD_T 4
#define WITH_THREAD 1

I think that means it is using native Solaris threads, assuming my reading
of thread.c is good.

All of test_thread, test_threading, and test_queue all passed.



More information about the Python-list mailing list