Opened 12 years ago
Closed 11 years ago
#11323 closed Bug Report - Hang/Deadlock (Fixed)
Deadlock in mythfrontend if LiveTV recording is zero length
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | MythTV - General | Version: | 0.26-fixes |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Issue seen on 0.26.0 and also confirmed on 0.26-fixes at git rev 28846f87db59efa28ce20c9309089a49520227bb
I suspect I have an issue on my backend which is causing zero length LiveTV buffers, in turn this causes mythfrontend to deadlock on returning to the EPG. I'm ignoring the backend issue for now, and this ticket concerns the frontend deadlock only.
Looking at the end of the attached log, the endless "(SetDecoder?) Player(1): Waited 10ms for decoder lock" messages from Thread 1 suggest that it's spinning trying to acquire decoder_change_lock in MythPlayer::SetDecoder?
From the attached backtrace I think that decoder_change_lock is being held by Thread 5 which has passed through MythPlayer::DecoderGetFrame?.
I believe that thread 1 is holding osdLock, vidExitLock, and videofiltersLock (since it's executing the MythPlayer::~MythPlayer? destructor) but Thread 5 is waiting for these same locks to complete the ReinitVideo? call.
Unfortunately I don't really grok this enough to produce a patch.
Attachments (3)
Change History (5)
Changed 12 years ago by
Attachment: | mythfrontend_hang_backtrace.txt added |
---|
Changed 12 years ago by
Attachment: | mythfrontend_hang.log.gz added |
---|
Changed 12 years ago by
Attachment: | mythfrontend_hang_backtrace.2.txt added |
---|
comment:1 Changed 11 years ago by
it actually only hang for about 16s
the issue is fixed in master
it was fixed in 0.27.2, but this caused issue with xbmc client so was reverted
comment:2 Changed 11 years ago by
Resolution: | → Fixed |
---|---|
Status: | new → closed |
Compressed log showing mythfrontend deadlock.