Opened 9 years ago

Closed 9 years ago

#9431 closed Bug Report (Fixed)

ASSERT failure in QReadWriteLock::unlock(): "Cannot unlock an unlocked lock"

Reported by: Lawrence Rust <lvr@…> Owned by: danielk
Priority: minor Milestone: 0.25
Component: MythTV - General Version: Master Head
Severity: medium Keywords: assert QReadWriteLock::unlock ringbuffer
Cc: Ticket locked: no

Description

Building and running mythbackend from the current top of tree v0.25pre-796-g9018d89 gives an assertion failure in Qt QReadWriteLock::unlock() when any live TV or video is played. Traceback attached.

Appears that RingBuffer::~RingBuffer? calls rwlock.unlock() but according to the docs http://doc.qt.nokia.com/4.7/qreadwritelock.html#unlock it is illegal to call unlock() if the lock is not owned. Pragmatically removing the call to unlock() works fine.

Attachments (1)

gdb-be-ringbuffer-abort.txt (61.7 KB) - added by Lawrence Rust <lvr@…> 9 years ago.

Download all attachments as: .zip

Change History (4)

Changed 9 years ago by Lawrence Rust <lvr@…>

Attachment: gdb-be-ringbuffer-abort.txt added

comment:1 Changed 9 years ago by beirdo

Owner: set to markk
Status: newassigned

comment:2 Changed 9 years ago by beirdo

Owner: changed from markk to danielk

comment:3 Changed 9 years ago by markk

Milestone: unknown0.25
Resolution: Fixed
Status: assignedclosed

Fixed in 93a8196f99587cc091d9 (which should obviously reference QReadWriteLock rather than QMutex)

Note: See TracTickets for help on using tickets.