[mythtv] MythCommFlag segfault when flagging completes

Ken Overly ken.overly at gmail.com
Thu Jun 21 20:28:59 UTC 2007


I haven't posted to the Dev or Users lists before so please forgive me if
this post doesn't provide all the needed information.  For the same reason I
also opted not to attempt to open a ticket, unless someone here indicates
that I should.  I searched the mailing lists but didn't find any segfault
issues that haven't already been addressed.

I'm running Myth 0.20-Fixes (r13753) on an Athlon 64 X2 5000+ on Slackware
11 using a 2.6.21.3-smp kernel.

The problem I'm seeing is that mythcommflag segfaults at the very end of
flagging for every commflag run.  This causes the jobqueue to always report
"JobQueue: Commercial Flagging Finished, 0 break(s) found." in the backend
log.  The flagging does complete because commercial skipping works when
watching any of the recordings.  I'm using realtime commflagging but the
segfault occurs whether kicked off by the backend or run manually.  I
recompiled with --compile-type=debug then manually ran mythcommflag with gdb
and got the attached backtrace.  Here's a paste-in of the output from
mythcommflag with -v commflag (most block map data clipped out):

2007-06-21 16:05:43.644 Using runtime prefix = /usr/local
2007-06-21 16:05:43.807 New DB connection, total: 1
2007-06-21 16:05:43.837 mythcommflag version: 0.20.20060828-4 www.mythtv.org
2007-06-21 16:05:43.837 Enabled verbose msgs: important commflag
2007-06-21 16:05:43.853 New DB connection, total: 2
2007-06-21 16:05:44.148 Using protocol version 31
2007-06-21 16:05:44.184 Not in JobQueue, creating fake Job ID 1970
2007-06-21 16:05:44.190 mythcommflag sending COMMFLAG_START notification
0: start_time: 0.036 duration: 172.510
1: start_time: 3984.063 duration: 172.514
2: start_time: 0.020 duration: 172.504
stream: start_time: 0.223 duration: 46183.962 bitrate=216 kb/s
2007-06-21 16:05:44.365 Commercial Detection initialized: width = 720,
height = 480, fps = 29.97, method = 255
2007-06-21 16:05:44.365 Using Sample Spacing of 6 horizontal & 4 vertical
pixels.
2007-06-21 16:05:44.365 CommDetect::ClearAllMaps()
2007-06-21 16:05:44.397 Searching for Station Logo
2007-06-21 16:05:44.397 Trying with edgeDiff == 5
2007-06-21 16:05:44.533 mythcommflag: Received Event: 'COMMFLAG_START 1069
2007-06-17T12:00:00'
2007-06-21 16:05:53.881 Analyzing edge data
2007-06-21 16:05:53.884 SetLogoMaskArea()
2007-06-21 16:05:53.889 SetLogoMaskArea()
2007-06-21 16:05:53.893 Testing Logo area: topleft (570,379), bottomright
(660,432)
2007-06-21 16:05:53.893 Using Logo area: topleft (570,379), bottomright
(660,432)
2007-06-21 16:05:53.905 CommDetect::SetVideoParams called with aspect =
1.77778
2007-06-21 16:09:15.839 CommDetect::GetCommBreakMap()
2007-06-21 16:09:15.871 CommDetect::CleanupFrameInfo()
2007-06-21 16:09:16.250 CommDetect::BuildAllMethodsCommList()
2007-06-21 16:09:16.385 Initial Block pass
2007-06-21 16:09:16.385 Block StTime StFrm  EndFrm Frames Secs    Bf  Lg Cnt
RT Cnt SC Cnt SC Rt FmtMch AspMch Score
2007-06-21 16:09:16.385 ----- ------ ------ ------ ------ ------- --- ------
------ ------ ----- ------ ------ -----
2007-06-21 16:09:16.385     0   0:00      0    689    690   23.02   1
233      0      8  0.35    687      0     0
2007-06-21 16:09:16.385   NOW   0:00      0    689    690   23.02   1
233      0      8  0.35    687      0   -10
2007-06-21 16:09:16.385     1   0:22    689    696      8    0.27   8
0      0      3  0.00      8      0     0
2007-06-21 16:09:16.385   NOW   0:22    689    696      8    0.27   8
0      0      3  0.00      8      0   -10
2007-06-21 16:09:16.396 ============================================
2007-06-21 16:09:16.396 Second Block pass
2007-06-21 16:09:16.396 Block StTime StFrm  EndFrm Frames Secs    Bf  Lg Cnt
RT Cnt SC Cnt SC Rt FmtMch AspMch Score
2007-06-21 16:09:16.396 ----- ------ ------ ------ ------ ------- --- ------
------ ------ ----- ------ ------ -----
2007-06-21 16:09:16.396     0   0:00      0    689    690   23.02   1
233      0      8  0.35    687      0   -10
2007-06-21 16:09:16.407    78  31:49  57231  57458    228    7.61   1
188      0     10  1.31    227      1     0
2007-06-21 16:09:16.407   NOW  31:49  57231  57458    228    7.61   1
188      0     10  1.31    227      1     0
2007-06-21 16:09:16.407 ============================================
2007-06-21 16:09:16.407 FINAL Block stats
2007-06-21 16:09:16.407 Block StTime StFrm  EndFrm Frames Secs    Bf  Lg Cnt
RT Cnt SC Cnt SC Rt FmtMch AspMch Score
2007-06-21 16:09:16.407 ----- ------ ------ ------ ------ ------- --- ------
------ ------ ----- ------ ------ -----
2007-06-21 16:09:16.407     0   0:00      0    689    690   23.02   1
233      0      8  0.35    687      0   -10
2007-06-21 16:09:16.407     1   0:22    689    696      8    0.27   8
0      0      3  0.00      8      0   -10
2007-06-21 16:09:16.407     2   0:23    696   2070   1375   45.88   2
1355      0     42  0.92   1371      0    10
2007-06-21 16:09:16.413    78  31:49  57231  57458    228    7.61   1
188      0     10  1.31    227      1    10
2007-06-21 16:09:16.413 Final Commercial Break Map
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20070621/2939764f/attachment.htm 
-------------- next part --------------
[Thread debugging using libthread_db enabled]
[New Thread -1256552736 (LWP 5761)]

Program exited with code 0361.
[Thread debugging using libthread_db enabled]
[New Thread -1256720672 (LWP 5767)]
[New Thread -1260647504 (LWP 5772)]
[New Thread -1270875216 (LWP 5773)]
[Thread -1270875216 (LWP 5773) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1256720672 (LWP 5767)]
0xb7f06d50 in ?? ()

Thread 2 (Thread -1260647504 (LWP 5772)):
#0  0xb5d69d57 in ___newselect_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#1  0xb6d12118 in MythSocket::readyReadThread () at mythsocket.cpp:743
	it = {<QGListIterator> = {list = 0xb6dff520, curNode = 0x0}, <No data fields>}
	rval = -1260649504
	timeout = {tv_sec = 0, tv_usec = 10000}
	sock = (MythSocket *) 0x0
	rfds = {fds_bits = {8192, 0 <repeats 31 times>}}
	maxfd = 13
	found = false
#2  0xb5ed920e in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#3  0xb5d710de in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 1 (Thread -1256720672 (LWP 5767)):
#0  0xb7f06d50 in ?? ()
No symbol table info available.
#1  0xb62fbad0 in QApplication::~QApplication () from /usr/lib/qt/lib/libqt-mt.so.3
No symbol table info available.
#2  0x0805d2fc in main (argc=7, argv=0xbfec8864) at main.cpp:1164
	a = <incomplete type>
	result = 4
	time_now = 1182456556
	allRecorded = false
	finfo = {fn = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80eb3b0, static shared_null = 0x80c6310}, fic = 0x0, cache = true, symLink = false}
	isVideo = false
	fullfile = <incomplete type>
	queueJobInstead = false
	allStart = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80eb300, static shared_null = 0x80c6310}
	getSkipList = false
	newCutList = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80c6310, static shared_null = 0x80c6310}
	settingsOverride = {sh = 0x80eb3c8}
	binname = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80eb3d8, static shared_null = 0x80c6310}
	filename = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80c6310, static shared_null = 0x80c6310}
	starttime = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x8102cc0, static shared_null = 0x80c6310}
	jobID = -1
	jobType = 0
	copyToCutlist = false
	getCutlist = false
	argpos = 7
	chanid = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x8102c30, static shared_null = 0x80c6310}
	allEnd = {static null = {static null = <same as static member of an already seen type>, d = 0x80c6310, static shared_null = 0x80c6310}, d = 0x80eb388, static shared_null = 0x80c6310}
	clearCutlist = false


More information about the mythtv-dev mailing list