[mythtv] Playback start race condition

Kyle Rose krose+mythtv at krose.org
Thu Oct 14 23:57:17 UTC 2004


I added more instrumentation tonight, and found the following very
interesting problem:

2004-10-14 19:53:36 rwlock init
2004-10-14 19:53:36 23      ANN Playback nausicaa 0
2004-10-14 19:53:36 69      ANN FileTransfer nausicaa[]:[]/1025_20041014183...
2004-10-14 19:53:36 Output filters for this channel are: 'kerneldeint,crop,'
2004-10-14 19:53:36 NuppelVideoPlayer::OpenFile 1
2004-10-14 19:53:36 NuppelVideoPlayer::OpenFile 2
2004-10-14 19:53:36 rwlock rdlock
2004-10-14 19:53:36 50      QUERY_FILETRANSFER 23[]:[]REQUEST_BLOCK[]:[]128000
2004-10-14 19:53:36 NuppelVideoPlayer::OpenFile 3
2004-10-14 19:53:36 rwlock rdlock
2004-10-14 19:53:36 Read(): reqd=128000, rcvd=128000, rept=128000, error=0
2004-10-14 19:53:36 rwlock unlock
2004-10-14 19:53:36 rwlock unlock
2004-10-14 19:53:36 NuppelVideoPlayer::OpenFile 3.1
2004-10-14 19:53:36 Seek 1
2004-10-14 19:53:36 rwlock wrlock

after which I never get to "Seek 2", a log line that occurs
immediately after pthread_rwlock_wrlock returns.  However, note that
there are no existing locks on rwlock!: init, rdlock, rdlock, unlock,
unlock => lock count should be zero when wrlock occurs.

Unless the lock is being corrupted, this sounds like a pthread
problem.

Cheers,
Kyle


More information about the mythtv-dev mailing list