[mythtv] mythcommflag & mythbackend barf on one of my recordings

Gavin Hurlbut gjhurlbu+mythtv-dev at beirdo.ca
Sun Sep 26 17:05:15 EDT 2004


One of my recordings (RT-JPEG) on my devel box crashes the backend (or 
mythcommflag) when I try to mark commercials in it.  I'm running with CVS code
as of Friday Sep 24.  It gets 21% through the file, then dies.

I'm pretty sure this is due to the file being broken somehow, but I'm not
sure how it happened.

Any insight would be appreciated.  I'll happily delete the recording if I
have to, but if this helps find a bug, it can stay for now.

The following is the backtrace (with lib loads and buffer contents trimmed):


GNU gdb Red Hat Linux (5.3.90-0.20030710.41rh)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

Core was generated by `mythcommflag --force -c 1057 -s 20040924203000'.
Program terminated with signal 11, Segmentation fault.

[SNIP]

#0  0x003cc288 in lzo1x_decompress (in=0xbef88008 "", in_len=25742, 
    out=0xbe321008 "O{", out_len=0xbfed7238, wrkmem=0x0) at minilzo.cpp:2313
2313			*op++ = *m_pos++; *op++ = *m_pos++;

(gdb) thread apply all bt full

Thread 2 (process 5708):
#0  0x00722c32 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
No symbol table info available.
#1  0x00e67586 in __nanosleep_nocancel () from /lib/tls/libc.so.6
No symbol table info available.
#2  0x00e953fa in usleep () from /lib/tls/libc.so.6
No symbol table info available.
#3  0x0045567f in RingBuffer::ReadAheadThread() (this=0x8338038)
    at RingBuffer.cpp:897
	totfree = 123649
	ret = 128000
	used = 2436351
#4  0x00454d54 in RingBuffer::startReader(void*) (type=0x8338038)
    at RingBuffer.cpp:755
	rbuffer = (RingBuffer *) 0x8338038
#5  0x00cd27fc in start_thread () from /lib/tls/libpthread.so.0
No symbol table info available.
#6  0x00e9baba in clone () from /lib/tls/libc.so.6
No symbol table info available.

Thread 1 (process 5707):
#0  0x003cc288 in lzo1x_decompress (in=0xbef88008 [SNIP], in_len=25742, 
    out=0xbe321008 [SNIP] out_len=0xbfed7238, wrkmem=0x0) at minilzo.cpp:2313
	op = (unsigned char *) 0xbe326cfc [SNIP]
	ip = (
    const unsigned char *) 0xbef8cc73 [SNIP]
	t = 3
	m_pos = (
    const unsigned char *) 0xbe31e499 <Address 0xbe31e499 out of bounds>
	ip_end = (const unsigned char * const) 0xbef8e496 [SNIP]
#1  0x004d6ace in NuppelDecoder::DecodeFrame(rtframeheader*, unsigned char*, VideoFrame_*) (this=0x833d6b8, frameheader=0x833d764, lstrm=0xbef88008 "", 
    frame=0x8348440) at nuppeldecoder.cpp:653
	r = 4003410
	out_len = 0
	compoff = 0
	outbuf = (
    unsigned char *) 0xbe91b008 [SNIP]
#2  0x004d7891 in NuppelDecoder::GetFrame(int) (this=0x833d6b8, avignore=1)
    at nuppeldecoder.cpp:945
	buf = (VideoFrame *) 0x8348440
	currentposition = 361469106
	framesearch = false
	gotvideo = false
	ret = false
	seeklen = 0
#3  0x003d194d in NuppelVideoPlayer::GetFrame(int, bool) (this=0x833b520, 
    onlyvideo=1, unsafe=true) at NuppelVideoPlayer.cpp:749
No locals.
#4  0x003dc8d2 in NuppelVideoPlayer::FlagCommercials(bool, bool, int*) (
    this=0x833b520, showPercentage=true, fullSpeed=true, controlFlag=0x0)
    at NuppelVideoPlayer.cpp:3292
	comms_found = 0
	percentage = 21
	jobID = -1
	flaggingPaused = false
	flagFPS = 59
	flagTime = {ds = 7267832}
#5  0x0804d28f in FlagCommercials(QSqlDatabase*, QString, QString) (
    db=0x8331320, chanid=
      {static null = {static null = <same as static member of an already seen type>, d = 0x831d098, static shared_null = 0x831d098}, d = 0x8325800, static shared_null = 0x831d098}, starttime=
      {static null = {static null = <same as static member of an already seen type>, d = 0x831d098, static shared_null = 0x831d098}, d = 0x8325840, static shared_null = 0x831d098}) at main.cpp:284
	comms_found = 13966552
	commDetectMethod = 1
	blanks = {sh = 0x8331880}
	program_info = (ProgramInfo *) 0x8338238
	filename = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8338348, 
  static shared_null = 0x831d098}
	tmprbuf = (RingBuffer *) 0x8338038
	name = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8334a58, 
  static shared_null = 0x831d098}
	mdb = (MythSqlDatabase *) 0x8331890
	nvp = (NuppelVideoPlayer *) 0x833b520
#6  0x0804faa3 in main (argc=6, argv=0xbfed78b4) at main.cpp:598
	a = <incomplete type>
	argpos = 6
	isVideo = false
	filename = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x831d098, 
  static shared_null = 0x831d098}
	chanid = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8325800, 
  static shared_null = 0x831d098}
	starttime = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8325840, 
  static shared_null = 0x831d098}
	time_now = 1096092067
	all_recorded = 0
	verboseString = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8327e78, 
  static shared_null = 0x831d098}
	finfo = {fn = {static null = {
      static null = <same as static member of an already seen type>, 
      d = 0x831d098, static shared_null = 0x831d098}, d = 0x8324800, 
    static shared_null = 0x831d098}, fic = 0x0, cache = true, symLink = false}
	binname = {static null = {
    static null = <same as static member of an already seen type>, 
    d = 0x831d098, static shared_null = 0x831d098}, d = 0x8324800, 
  static shared_null = 0x831d098}
	db = (struct QSqlDatabase *) 0x8331320
(gdb) quit




More information about the mythtv-dev mailing list