Closed Bug 1362899 Opened 8 years ago Closed 8 years ago

Autophone - lock released too many times while shutting down pulse listener

Categories

(Testing Graveyard :: Autophone, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bc, Assigned: bc)

References

Details

Attachments

(1 file)

During testing I ran into the following after a restart followed some time later by a shutdown 2017-05-07 16:54:50,627 console INFO Autophone started. Exception in thread PulseMonitorThread: Traceback (most recent call last): File "/usr/lib64/python2.7/threading.py", line 804, in __bootstrap_inner self.run() File "/usr/lib64/python2.7/threading.py", line 757, in run self.__target(*self.__args, **self.__kwargs) File "/mozilla/projects/autophone/src/bclary-autophone/autophonepulsemonitor.py", line 258, in listen self.shared_lock.release() ValueError: semaphore or lock released too many times this occurs in the finally clause as the listen method is exited.
This was caused by an exception cause by code under development in the handle_build method Traceback (most recent call last): File "/mozilla/projects/autophone/src/bclary-autophone/autophonepulsemonitor.py", line 232, in listen connection.drain_events(timeout=self.timeout) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/kombu/connection.py", line 301, in drain_events return self.transport.drain_events(self.connection, **kwargs) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/kombu/transport/pyamqp.py", line 103, in drain_events return connection.drain_events(**kwargs) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/connection.py", line 464, in drain_events return self.blocking_read(timeout) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/connection.py", line 469, in blocking_read return self.on_inbound_frame(frame) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/method_framing.py", line 88, in on_frame callback(channel, msg.frame_method, msg.frame_args, msg) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/connection.py", line 473, in on_inbound_method method_sig, payload, content, File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/abstract_channel.py", line 142, in dispatch_method listener(*args) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/amqp/channel.py", line 1613, in _on_basic_deliver fun(msg) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/kombu/messaging.py", line 623, in _receive_callback return on_m(message) if on_m else self.receive(decoded, message) File "/mozilla/projects/.virtualenvs/autophone/lib/python2.7/site-packages/kombu/messaging.py", line 589, in receive [callback(body, message) for callback in callbacks] File "/mozilla/projects/autophone/src/bclary-autophone/autophonepulsemonitor.py", line 275, in handle_message self.handle_build(data, message) File "/mozilla/projects/autophone/src/bclary-autophone/autophonepulsemonitor.py", line 339, in handle_build build_properties['appname'].lower() != 'geckoviewactivity': KeyError: 'appname' This may be invalid though it does seem to me that the lock should have been reacquired before the outer finally clause.
At least part of the problem and maybe the full problem was the failure to change all instances of LOGGER to logger in 1304063 which raised an exception prior to the reacquiring of the shared lock. This only shows up when verbose logging is enabled which isn't the case in production fortunately.
Attachment #8865415 - Flags: review?(jmaher)
Assignee: nobody → bob
Status: NEW → ASSIGNED
Comment on attachment 8865415 [details] [diff] [review] bug-1362899-LOGGER.patch Review of attachment 8865415 [details] [diff] [review]: ----------------------------------------------------------------- easy one!
Attachment #8865415 - Flags: review?(jmaher) → review+
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: Testing → Testing Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: