Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#8626 closed defect (fixed)

mythfrontend playback hangs

Reported by: tomimo@… Owned by: markk
Priority: minor Milestone: 0.24
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

The latest trunk version #25218 seems to have problems with its current decoder locking scheme. It seems that I can pretty realiably hang the frontend every time by trying to playback a single (specific) recorded program via diskless MythFrontend node. The problem does exist in two different diskless nodes that are used for playback in this household (ie. even though the hardware's are 2.8Ghz/Athlon/32-bit and Athlon X2/3800Mhz, they are on slow side performance wise).

The symptom is always the following message looping eternally in the frontend log:

2010-06-30 10:19:41.431 NVP(0), Warning: Waited 100ms for decoder to unpause

To me it looks like that the following code in NuppelVideoPlayer?.cpp might fail, in case the condition wake up signal is sent before the waiting thread has had the chance to call the condition.wait(). If that happens, the waiting thread will never break from the while loop.

void NuppelVideoPlayer::UnpauseDecoder?(void) {

decoderPauseLock.lock();

if (QThread::currentThread() == (QThread*)decoderThread) {

decoderPaused = false; decoderThreadUnpause.wakeAll(); decoderPauseLock.unlock(); return;

}

unpauseDecoder = true; while (!decoderThreadUnpause.wait(&decoderPauseLock, 100))

VERBOSE(VB_IMPORTANT, LOC_WARN + "Waited 100ms for decoder to unpause");

unpauseDecoder = false; decoderPauseLock.unlock();

}

Attachments (3)

gdb.txt (56.3 KB) - added by anonymous 14 years ago.
mythfrontend.log (45.6 KB) - added by tomimo@… 14 years ago.
MythFrontend logfile
NuppelVideoPlayer.patch (1.9 KB) - added by tomimo@… 14 years ago.
Patch: This patch seems to fix the most often seen hang in this household

Download all attachments as: .zip

Change History (6)

Changed 14 years ago by anonymous

Attachment: gdb.txt added

Changed 14 years ago by tomimo@…

Attachment: mythfrontend.log added

MythFrontend logfile

Changed 14 years ago by tomimo@…

Attachment: NuppelVideoPlayer.patch added

Patch: This patch seems to fix the most often seen hang in this household

comment:1 Changed 14 years ago by markk

Owner: changed from Janne Grunau to markk
Status: newaccepted

comment:2 Changed 14 years ago by markk

Resolution: fixed
Status: acceptedclosed

This issue was fixed in r25266 and r25258.

comment:3 Changed 14 years ago by stuartm

Milestone: unknown0.24
Note: See TracTickets for help on using tickets.