[mythtv] Playback start race condition
Kyle Rose
krose+mythtv at krose.org
Fri Oct 15 00:14:47 UTC 2004
> Unless the lock is being corrupted, this sounds like a pthread
> problem.
In my fourth response to myself :), I believe I am right. If I print
out the lock's internal state before and after certain operations,
then I end up with this:
2004-10-14 20:11:31 RWLOCK init r:2147483647 rq:2147483647 wq:2147483647
2004-10-14 20:11:31 RWLOCK init r:0 rq:0 wq:0
2004-10-14 20:11:31 23 ANN Playback nausicaa 0
2004-10-14 20:11:31 69 ANN FileTransfer nausicaa[]:[]/1025_20041014183...
2004-10-14 20:11:31 Output filters for this channel are: 'kerneldeint,crop,'
2004-10-14 20:11:31 NuppelVideoPlayer::OpenFile 1
2004-10-14 20:11:31 NuppelVideoPlayer::OpenFile 2
2004-10-14 20:11:31 RWLOCK rdlock1 r:0 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK rdlock2 r:1 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK ret: 0
2004-10-14 20:11:31 50 QUERY_FILETRANSFER 23[]:[]REQUEST_BLOCK[]:[]128000
2004-10-14 20:11:31 NuppelVideoPlayer::OpenFile 3
2004-10-14 20:11:31 RWLOCK rdlock1 r:1 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK rdlock2 r:2 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK ret: 0
2004-10-14 20:11:31 Read(): reqd=128000, rcvd=128000, rept=128000, error=0
2004-10-14 20:11:31 RWLOCK unlock1 r:2 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK unlock2 r:2 rq:0 wq:0
2004-10-14 20:11:31 RWLOCK ret: 0
unlock1 occurs right before pthread_rwlock_unlock and unlock2 occurs
right after. Note that the number of read locks doesn't decrement.
Bug. I will direct further bug reports to the GNU folks.
In the meantime, I'm going to try switching to a simple pthread_lock
to see if I can reliably use my frontend until I get the underlying
pthread problem fixed.
Cheers,
Kyle
More information about the mythtv-dev
mailing list