[mythtv-users] Unable to use Watch Recording on win32 build of 0.24-fixes

Dan Wilson dwilson at solidstatesoftware.com
Wed Nov 24 06:33:28 UTC 2010


On 11/20/2010 04:31 PM, FMU - STBL wrote:
>
> When I try to start watching a recording, the frontend die with this 
> "Cannot unlock an unlocked lock" error:
>
I am seeing this same problem with win32 frontends, although my log 
output is somewhat different:

2010-11-23 22:05:10.156 TV: Attempting to change from None to 
WatchingPreRecorde
d
ASSERT failure in QReadWriteLock::unlock(): "Cannot unlock an unlocked 
lock", fi
le thread\qreadwritelock.cpp, line 405

This application has requested the Runtime to terminate it in an unusual 
way.
Please contact the application's support team for more information.

I have duplicated this on 2 win32 frontends, both running XP Pro.

Interestingly, "Watch TV" works.  It is only "Watch Recordings" that 
fails....

mythfrontend -v most,playback gives the following trace:
2010-11-23 22:24:20.640 ProgramInfo(1002_20101123210000.mpg): 
GetPlaybackURL: Using default of: 'myth://10.40.12.80:6543/1002_2010
1123210000.mpg'
2010-11-23 22:24:20.640 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
OpenFile(myth://10.40.12.80:6543/1002_2010112321
0000.mpg, 2000 ms)
2010-11-23 22:24:20.656 MythSocket(30432138:15200): new socket
2010-11-23 22:24:20.656 MythSocket(30432138:15200): attempting connect() 
to (10.40.12.80:6543)
2010-11-23 22:24:20.687 MythSocket(30432138:15200): state change Idle -> 
Connected
2010-11-23 22:24:20.687 MythSocket(30432138:15200): write -> 15200 
26      ANN Playback winxpvmbase 0
2010-11-23 22:24:20.781 MythSocket(30432138:15200): read <- 15200 2       OK
2010-11-23 22:24:20.796 MythSocketThread: select returned error
                         eno: No error (0)
2010-11-23 22:24:20.796 MythSocket(3039ab38:15220): new socket
2010-11-23 22:24:20.796 MythSocket(3039ab38:15220): attempting connect() 
to (10.40.12.80:6543)
2010-11-23 22:24:20.796 MythSocket(3039ab38:15220): state change Idle -> 
Connected
2010-11-23 22:24:20.796 MythSocket(3039ab38:15220): write -> 15220 
155     ANN FileTransfer winxpvmbase 0 1 2000[]:[]/1002_2010112
3210000...
2010-11-23 22:24:20.937 MythSocket(3039ab38:15220): read <- 15220 
30      OK[]:[]53[]:[]0[]:[]1248462784
2010-11-23 22:24:20.984 MythSocketThread(sock 0x2ad976f0:11160): socket 
is readable
2010-11-23 22:24:20.984 MythSocketThread(sock 0x2ad976f0:11160): calling 
m_cb->readyRead()
2010-11-23 22:24:20.984 
RemoteFile(myth://10.40.12.80:6543/1002_20101123210000.mpg)
2010-11-23 22:24:21.000 MythSocket(2ad976f0:11160): read <- 11160 
586     BACKEND_MESSAGE[]:[]RECORDING_LIST_CHANGE UPDATE[]:[]NC
IS: Los...
2010-11-23 22:24:20.984 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
CalcReadAheadThresh(8000 Kb)
                          -> threshhold(512 KB) min read(32 KB) blk 
size(128 KB)
2010-11-23 22:24:21.000 MythEvent: RECORDING_LIST_CHANGE UPDATE
2010-11-23 22:24:21.000 TV: DrawUnusedRects() -- begin
2010-11-23 22:24:21.000 TV: DrawUnusedRects() -- end
2010-11-23 22:24:21.015 TV: StartPlayer(0, WatchingPreRecorded, main) -- 
begin
2010-11-23 22:24:21.015 TV: Elapsed time since TV constructor was 
called: 562 ms
2010-11-23 22:24:21.015 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/adjust.dll'
2010-11-23 22:24:21.031 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/bobdeint.dll'
2010-11-23 22:24:21.031 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/crop.dll'
2010-11-23 22:24:21.031 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/denoise3d.dll'
2010-11-23 22:24:21.046 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/fieldorder.dll'
2010-11-23 22:24:21.046 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/force.dll'
2010-11-23 22:24:21.046 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/greedyhdeint.dll'
2010-11-23 22:24:21.062 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/invert.dll'
2010-11-23 22:24:21.062 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/ivtc.dll'
2010-11-23 22:24:21.062 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/kerneldeint.dll'
2010-11-23 22:24:21.078 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/linearblend.dll'
2010-11-23 22:24:21.078 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/onefield.dll'
2010-11-23 22:24:21.078 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/postprocess.dll'
2010-11-23 22:24:21.093 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/quickdnr.dll'
2010-11-23 22:24:21.093 FilterManager: Loading filter 'C:/Program 
Files/mythtv/lib/mythtv/filters/yadif.dll'
2010-11-23 22:24:21.125 playCtx: Output filters for this channel are: ''
2010-11-23 22:24:21.140 AO: Sample rate 8000 is supported
2010-11-23 22:24:21.140 AO: Sample rate 11025 is supported
2010-11-23 22:24:21.140 AO: Sample rate 16000 is supported
2010-11-23 22:24:21.156 AO: Sample rate 22050 is supported
2010-11-23 22:24:21.156 AO: Sample rate 32000 is supported
2010-11-23 22:24:21.156 AO: Sample rate 44100 is supported
2010-11-23 22:24:21.156 AO: Sample rate 48000 is supported
2010-11-23 22:24:21.156 AO: Sample rate 64000 is supported
2010-11-23 22:24:21.156 AO: Sample rate 88200 is supported
2010-11-23 22:24:21.156 AO: Sample rate 96000 is supported
2010-11-23 22:24:21.156 AO: Sample rate 176400 is supported
2010-11-23 22:24:21.156 AO: Sample rate 192000 is supported
2010-11-23 22:24:21.171 AO: 2 channel(s) are supported
2010-11-23 22:24:21.171 AO: 3 channel(s) are supported
2010-11-23 22:24:21.171 AO: 4 channel(s) are supported
2010-11-23 22:24:21.171 AO: 5 channel(s) are supported
2010-11-23 22:24:21.171 AO: 6 channel(s) are supported
2010-11-23 22:24:21.187 AO: Killing AudioOutputDSP
2010-11-23 22:24:21.187 MythSocket(30432138:15200): write -> 15200 
48      QUERY_FILETRANSFER 53[]:[]REQUEST_BLOCK[]:[]2048
2010-11-23 22:24:21.187 MythSocket(30432138:15200): read <- 15200 
4       2048
2010-11-23 22:24:21.203 MythSocketThread: select returned error
                         eno: No error (0)
2010-11-23 22:24:21.203 Read(): reqd=2048, rcvd=2048, rept=2048, error=0
2010-11-23 22:24:21.203 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
Seek(0,SEEK_SET,locked)
2010-11-23 22:24:21.203 MythSocket(30432138:15200): write -> 15200 
60      QUERY_FILETRANSFER 53[]:[]SEEK[]:[]0[]:[]0[]:[]0[]:[]0[
]:[]0
2010-11-23 22:24:21.203 MythSocket(30432138:15200): read <- 15200 
7       0[]:[]0
2010-11-23 22:24:21.203 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
ResetReadAhead(internalreadpos = 0->0)
2010-11-23 22:24:21.203 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
CalcReadAheadThresh(8000 Kb)
                          -> threshhold(512 KB) min read(32 KB) blk 
size(128 KB)
2010-11-23 22:24:21.218 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): Initial 
readblocksize 128K & fill_min 32K
2010-11-23 22:24:21.218 MythSocket(30432138:15200): write -> 15200 
50      QUERY_FILETRANSFER 53[]:[]REQUEST_BLOCK[]:[]131072
2010-11-23 22:24:21.218 MythSocket(30432138:15200): read <- 15200 
6       131072
2010-11-23 22:24:21.312 Read(): reqd=131072, rcvd=131072, rept=131072, 
error=0
2010-11-23 22:24:21.312 MythSocketThread: select returned error
                         eno: No error (0)
2010-11-23 22:24:21.328 MythSocket(30432138:15200): write -> 15200 
50      QUERY_FILETRANSFER 53[]:[]REQUEST_BLOCK[]:[]131072
2010-11-23 22:24:21.328 MythSocket(30432138:15200): read <- 15200 
6       131072
2010-11-23 22:24:21.328 Read(): reqd=131072, rcvd=131072, rept=131072, 
error=0
2010-11-23 22:24:21.343 MythSocket(30432138:15200): write -> 15200 
50      QUERY_FILETRANSFER 53[]:[]REQUEST_BLOCK[]:[]131072
2010-11-23 22:24:21.343 MythSocket(30432138:15200): read <- 15200 
6       131072
2010-11-23 22:24:21.359 AFD: CommFlagFast: 0
2010-11-23 22:24:21.359 AFD: Special Decode Flags: 0x0
2010-11-23 22:24:21.390 [mpeg @ 0xf300938]Estimating duration from 
bitrate, this may be inaccurate
2010-11-23 22:24:21.390 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): 
Seek(1248212784,SEEK_SET,unlocked)
2010-11-23 22:24:21.437 Read(): reqd=131072, rcvd=131072, rept=131072, 
error=0
2010-11-23 22:24:21.437 MythSocketThread: select returned error
                         eno: No error (0)
2010-11-23 22:24:21.453 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): Seek(): 
rbrpos: 229376 rbwpos: 393216
                         readpos: 229376 internalreadpos: 393216
2010-11-23 22:24:21.453 
RingBuf(myth://10.40.12.80:6543/1002_20101123210000.mpg): Seek(): offset 
from end: 250000
                          -- ignoring read ahead thread until next seek.
2010-11-23 22:24:21.453 MythSocket(30432138:15200): write -> 15200 
69      QUERY_FILETRANSFER 53[]:[]SEEK[]:[]0[]:[]1248212784[]:[
]0[]:[]...
2010-11-23 22:24:21.453 MythSocket(30432138:15200): read <- 15200 
16      0[]:[]1248212784
ASSERT failure in QReadWriteLock::unlock(): "Cannot unlock an unlocked 
lock", file thread\qreadwritelock.cpp, line 405

This application has requested the Runtime to terminate it in an unusual 
way.
Please contact the application's support team for more information.

Running with -v all gave a much more voluminous output, but the last 3 
lines of the trace were the same (i.e., MythSocket write/read followed 
by the unlock failure).

If anyone has any ideas on further things I could do, I'd be happy to 
try to help debug this.

Thanks!

Dan.



More information about the mythtv-users mailing list