Opened 11 years ago

Closed 10 years ago

#6299 closed defect (invalid)

mythbackend segmentation fault

Reported by: Simon Kenyon <simon@…> Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: MythTV - General Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

recently i've been getting a backend crash. so i ran it under gdb for the last few days. the output from gdb is attached. the mythbackend log is 500MBytes (so i haven't included that). the last 400 lines are attached.

i hope this issue is not rescanned my dvb-s channels in a while. in this neck of the woods, channels change just about every day. i cannot not keep up.

Attachments (2)

gdb.zip (13.3 KB) - added by Simon Kenyon <simon@…> 11 years ago.
zip of output from gdb
myth.log (26.6 KB) - added by Simon Kenyon <simon@…> 11 years ago.
last 400 lines of the mythbackend log

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by Simon Kenyon <simon@…>

Attachment: gdb.zip added

zip of output from gdb

Changed 11 years ago by Simon Kenyon <simon@…>

Attachment: myth.log added

last 400 lines of the mythbackend log

comment:1 Changed 11 years ago by Dibblah

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x54224950 (LWP 27880)]
0x00007f28d568f696 in QTextCodec::toUnicode (this=0x0, in=0x54222f51 ",4Á\017Ž\b'?Œ@ƳÞñV0³Ó\004ú@nÖ\víèÚ«\021¿¯ŽÅ \026\022", length=131, state=0x0) at /usr/include/qt4/QtCore/qtextcodec.h:107
107	        { return convertToUnicode(in, length, state); }

Thread 932 (Thread 0x54224950 (LWP 27880)):
#0  0x00007f28d568f696 in QTextCodec::toUnicode (this=0x0, in=0x54222f51 ",4Á\017Ž\b'?Œ@ƳÞñV0³Ó\004ú@nÖ\víèÚ«\021¿¯ŽÅ \026\022", length=131, state=0x0) at /usr/include/qt4/QtCore/qtextcodec.h:107
No locals.
#1  0x00007f28d568f2e9 in dvb_decode_text (src=0x7f28c49185d7 "\b,4Á\203\017Ž\b'\237?Œ@Æ\202³Þñ\207\207V\2200³Ó\004\215ú@n\234\227Ö\víèÚ«\237\021¿\236¯ŽÅ\212\026\022\230\222\200", raw_length=164, encoding_override=0x0, encoding_override_length=0) at mpeg/dvbdescriptors.cpp:118
	dst = 0x54222f50 "\b,4Á\017Ž\b'?Œ@ƳÞñV0³Ó\004ú@nÖ\víèÚ«\021¿¯ŽÅ \026\022"
	length = 132
	buf = (const unsigned char *) 0x54222f50 "\b,4Á\017Ž\b'?Œ@ƳÞñV0³Ó\004ú@nÖ\víèÚ«\021¿¯ŽÅ \026\022"
#2  0x00007f28d5648b8d in dvb_decode_text (src=0x7f28c49185d7 "\b,4Á\203\017Ž\b'\237?Œ@Æ\202³Þñ\207\207V\2200³Ó\004\215ú@n\234\227Ö\víèÚ«\237\021¿\236¯ŽÅ\212\026\022\230\222\200", length=164) at mpeg/dvbdescriptors.h:48
No locals.
#3  0x00007f28d5686bfa in ShortEventDescriptor::EventName (this=0x54223190) at mpeg/dvbdescriptors.h:1438
No locals.
#4  0x00007f28d59aee57 in parse_dvb_event_descriptors (list=@0x54223460, fix=5, languagePreferences=@0x54223450, title=@0x54223400, subtitle=@0x542233f0, description=@0x542233e0) at eithelper.cpp:262
	sed = {<MPEGDescriptor> = {_vptr.MPEGDescriptor = 0x7f28d5f88a10, _data = 0x7f28c49185d1 "M]e\207]€\b,4Á\203\017Ž\b'\237?Œ@Æ\202³Þñ\207\207V\2200³Ó\004\215ú@n\234\227Ö\víèÚ«\237\021¿\236¯ŽÅ\212\026\022\230\222\200"}, <No data fields>}
	bestShortEvent = (const unsigned char *) 0x7f28c49185d1 "M]e\207]€\b,4Á\203\017Ž\b'\237?Œ@Æ\202³Þñ\207\207V\2200³Ó\004\215ú@n\234\227Ö\víèÚ«\237\021¿\236¯ŽÅ\212\026\022\230\222\200"
	enc_1 = "\020\000\001"
	enc_15 = "\020\000\017"
	enc_len = 0
	enc = (const unsigned char *) 0x0
	bestExtendedEvents = {<std::_Vector_base<const unsigned char*,std::allocator<const unsigned char*> >> = {_M_impl = {<std::allocator<const unsigned char*>> = {<__gnu_cxx::new_allocator<const unsigned char*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f28c09cdea0, _M_finish = 0x7f28c09cde70, _M_end_of_storage = 0x542231f0}}, <No data fields>}
#5  0x00007f28d59b0420 in EITHelper::AddEIT (this=0x9594c0, eit=0x54223590) at eithelper.cpp:365
	subtitle = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28cefb0700, static codecForCStrings = 0x0}
	subtitle_type = 0 '\0'
	dish_event_name = (const unsigned char *) 0x0
	content_data = (const unsigned char *) 0x7f28c4918532 "T\002P"
	event = (DBEvent *) 0x7f28c084b4f0
	category = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28cefb0700, static codecForCStrings = 0x0}
	category_type = kCategoryNone
	audio_props = 0 '\0'
	list = {<std::_Vector_base<const unsigned char*,std::allocator<const unsigned char*> >> = {_M_impl = {<std::allocator<const unsigned char*>> = {<__gnu_cxx::new_allocator<const unsigned char*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f28c09cde70, _M_finish = 0x7f28c09cdea0, _M_end_of_storage = 0x7f28c09cdeb0}}, <No data fields>}
	programId = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28c0baad00, static codecForCStrings = 0x0}
	seriesId = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28c0baad40, static codecForCStrings = 0x0}
	starttime = {d = 0x7f28c0753150}
	title = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28cefb0700, static codecForCStrings = 0x0}
	description = {static null = {<No data fields>}, static shared_null = {ref = {value = 9010}, alloc = 0, size = 0, data = 0x73d97a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {value = 6838}, alloc = 0, size = 0, data = 0x7f28cefb071a, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0x7f28cefb0700, static codecForCStrings = 0x0}
	video_props = 0 '\0'
	contentIds = {<std::_Vector_base<const unsigned char*,std::allocator<const unsigned char*> >> = {_M_impl = {<std::allocator<const unsigned char*>> = {<__gnu_cxx::new_allocator<const unsigned char*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f28c04683e0, _M_finish = 0x7f28c04683f0, _M_end_of_storage = 0x7f28c04683f0}}, <No data fields>}
	endtime = {d = 0x7f28c0127d20}
	i = 9
	descCompression = 1
	fix = 5
	chanid = 11352
	tableid = 96
	version = 1
#6  0x00007f28d5678d26 in DVBStreamData::HandleTables (this=0x7f28c07e8b10, pid=3842, psip=@0x7f28c055cac0) at mpeg/dvbstreamdata.cpp:354
	locker = {{mtx = 0x7f28c07e8d09, val = 139813004938505}}
	service_id = 10352
	eit = {<PSIPTable> = {<PESPacket> = {_vptr.PESPacket = 0x7f28d5f87d90, _pesdata = 0x7f28c4918015 "`ö2(pÚø\b", _fullbuffer = 0x7f28c4918010 "GO\002\032", _psiOffset = 4, _ccLast = 2, _pesdataSize = 1660, _allocSize = 3844, _badPacket = false}, static PSIP_OFFSET = 8}, _ptrs = {<std::_Vector_base<const unsigned char*,std::allocator<const unsigned char*> >> = {_M_impl = {<std::allocator<const unsigned char*>> = {<__gnu_cxx::new_allocator<const unsigned char*>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f28c09cdec0, _M_finish = 0x7f28c09cdf18, _M_end_of_storage = 0x7f28c09cdf40}}, <No data fields>}}
#7  0x00007f28d565369a in MPEGStreamData::HandleTSTables (this=0x7f28c07e8c08, tspacket=0xf420f8) at mpeg/mpegstreamdata.cpp:922
	morePSIPPackets = true
	psip = (class PSIPTable *) 0x7f28c055cac0
	buggy = false
#8  0x00007f28d564bde1 in MPEGStreamData::ProcessTSPacket (this=0x7f28c07e8c08, tspacket=@0xf420f8) at mpeg/mpegstreamdata.cpp:997
	ok = true
#9  0x00007f28d5648e1f in MPEGStreamData::ProcessData (this=0x7f28c07e8c08, buffer=0xf41f80 "G\t\001\036 `", len=752) at mpeg/mpegstreamdata.cpp:947
	pkt = (const TSPacket *) 0xf420f8
	pos = 376
	resync = false
#10 0x00007f28d5b09638 in DVBStreamHandler::RunTS (this=0x7f28c0339440) at dvbstreamhandler.cpp:355
	i = 0
	len = 752
	remainder = 0
	buffer_size = 2820000
	buffer = (unsigned char *) 0xf41f80 "G\t\001\036 `"
	dvr_dev_path = {static shared_null = {ref = {value = 4}, alloc = 0, size = 0, data = 0x7f28cefb05b8 "", array = ""}, static shared_empty = {ref = {value = 2}, alloc = 0, size = 0, data = 0x7f28cefb05d8 "", array = ""}, d = 0x1b68780}
	dvr_fd = 39
	_error = false
	fd_select_set = {fds_bits = {549755813888, 0 <repeats 15 times>}}
#11 0x00007f28d5b09ed5 in DVBStreamHandler::Run (this=0x7f28c0339440) at dvbstreamhandler.cpp:233
No locals.
#12 0x00007f28d5b09ef5 in run_dvb_stream_handler_thunk (param=0x7f28c0339440) at dvbstreamhandler.cpp:174
	mon = (DVBStreamHandler *) 0x7f28c0339440
#13 0x00007f28ce6e2047 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#14 0x00007f28cdac728d in clone () from /lib/libc.so.6
No symbol table info available.
#15 0x0000000000000000 in ?? ()
No symbol table info available.

comment:2 Changed 11 years ago by Dibblah

Status: newinfoneeded_new

You are getting a large number of invalid packets from the DVB card. Admittedly, Myth should cope better with poor signals - But I would suggest looking at the root cause to your issue first.

comment:3 Changed 10 years ago by danielk

Resolution: invalid
Status: infoneeded_newclosed

no response from ticket submitter.

Note: See TracTickets for help on using tickets.