[issue17943] AttributeError: 'long' object has no attribute 'release' in Queue.put()

2013-05-16 Thread Georg Brandl

Georg Brandl added the comment:

We've now found a wrongful section in C code releasing the GIL in spite of 
calling Python malloc functions, and I'm going to blame this failure on that.

--
resolution:  - rejected
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17943
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17943] AttributeError: 'long' object has no attribute 'release' in Queue.put()

2013-05-09 Thread Georg Brandl

New submission from Georg Brandl:

I'm a bit puzzled by this exception in a long-running process
(running on Python 2.7.3):

...
  File /usr/lib/python2.7/Queue.py, line 138, in put
self.not_empty.notify()
item = ('message', 
'\x80\x02]q\x01(U\x05nicosq\x02GA\xd4b\xccu\xb0\xc0\xcaK\x15U\x01\nNU\x00e.')
self = Queue.Queue instance at 0x7f1d9c1c9e18
block= False
timeout  = None

  File /usr/lib/python2.7/threading.py, line 288, in notify
waiter.release()
waiter   = 7128680L
self = Condition(thread.lock object at 0x24a5590, 1)
_Condition__waiters  = [7128680L]
waiters  = [7128680L]
n= 1

AttributeError: 'long' object has no attribute 'release'


As far as I can see, there should only ever be lock objects in the 
self.__waiters list.  Does anyone see a possible reason for the long object to 
end up there?  (Sadly I can't debug the process anymore.)

--
messages: 188753
nosy: georg.brandl, pitrou
priority: normal
severity: normal
status: open
title: AttributeError: 'long' object has no attribute 'release' in Queue.put()
type: crash
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17943
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17943] AttributeError: 'long' object has no attribute 'release' in Queue.put()

2013-05-09 Thread Antoine Pitrou

Antoine Pitrou added the comment:

Waiters are created through _allocate_lock(), so you should look there.

But, unless you have further info, I don't think keeping this open as a bug is 
useful.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17943
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com