Opened 18 years ago
Closed 18 years ago
Last modified 18 years ago
#577 closed defect (fixed)
"QGVector::insert: Index 0 out of range" errors
Reported by: | Owned by: | danielk | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | dvb | Version: | head |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
svn versions since at least 3 weeks generate many of these errors (at least 2 per second while active eit-scanning).
I use 3 DVB-cards in Berlin, Germany. The errors are not exclusevily generated by eit-scanning. I get them also in LiveTV with useonairguide=0 for all channels.
But the following four backtraces have event data. Two of them kind of fail and the other two not. Unfortunately I don't see any difference in the Data.
I have a breakpoint on QGVector::insert and continue afterwards. For stepping I'll need QT with debug symbols.
These two generate the error message:
Breakpoint 16, 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 (gdb) bt full #0 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 No symbol table info available. #1 0xb7c36b0d in QPtrVector<unsigned char>::insert (this=0xae9b4a70, i=0, d=0xae9b518e "Nz") at qptrvector.h:67 No locals. #2 0xb7c254d2 in SIParser::ParseDVBEIT (this=0x8167a20, head=0xae9b4bc0, buffer=0xae9b4e88 "\003\005!\024\020a\"#Ñ®\a5", size=1139) at siparser.cpp:1478 lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837d5e0, static shared_null = 0x80ea458} prio = 5 desc_number = 0 last_desc_number = 0 bd4D_prio = 5 bd4D_data = (uint8_t *) 0xae9b5151 "M;deu\031\005Hör mal, wer da hämmert!\035\005Comedyserie, USA 1991/1999\212" bd4D_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837e0c0, static shared_null = 0x80ea458} exEvInfos = {<> = {<No data fields>}, <No data fields>} bd4E_prio = -1 bd4E_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x80ea458, static shared_null = 0x80ea458} last_table_id = 97 'a' des_pos = 774 e = {SourcePID = 0, TransportID = 773, NetworkID = 8468, ServiceID = 16418, EventID = 8773, Stereo = false, HDTV = false, SubTitled = false, ETM_Location = 0, ATSC = false, PartNumber = 0, PartTotal = 0, StartTime = {d = {jd = 2453679}, t = { ds = 32700000}}, EndTime = {d = {jd = 2453679}, t = {ds = 34500000}}, OriginalAirDate = {jd = 0}, LanguageCode = { static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837d7a8, static shared_null = 0x80ea458}, Event_Name = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837e0a8, static shared_null = 0x80ea458}, Event_Subtitle = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837e078, static shared_null = 0x80ea458}, Description = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837e090, static shared_null = 0x80ea458}, ContentDescription = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837db68, static shared_null = 0x80ea458}, Year = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837d5c8, static shared_null = 0x80ea458}, CategoryType = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x837a2c0, static shared_null = 0x80ea458}, Actors = {<QValueList<QString>> = {sh = 0x837a6a8}, <No data fields>}, Credits = { sh = 0x8261918}} last_segment_number = 16 '\020' pos = 713 descriptor_length = 205 #3 0xb7c1efa4 in SIParser::ParseTable (this=0x8167a20, buffer=0xae9b4e80 "`ôx@\"ß\020ø\003\005!\024\020a\"#Ñ®\a5", size=1147, pid=18) at siparser.cpp:562 head = {table_id = 96 '`', section_length = 1144, table_id_ext = 16418, current_next = true, version = 15 '\017', section_number = 16 '\020', section_last = 248 'ø'} #4 0xb7c3d4ff in DVBSIParser::StartSectionReader (this=0x8167a20) at dvbsiparser.cpp:299 rsz = 1147 i = 5 ret = 5 buffer = "`ôx@\"ß\020ø\003\005!\024\020a\"#Ñ®\a5\000\0000\000\002«M8deu\026\005Ein Trio zum Anbeißen\035\005Comedyserie, USA 1998/2001\000\000Ný\002deu\000÷\005Berg hat nach wie vor Besuch von seiner Mutter und hofft immer noch, dass sie schon bald einen neuen Mann k"... processed = true #5 0xb7c3acf5 in DVBSIParser::SystemInfoThread (param=0x8167a20) at dvbsiparser.cpp:100 siparser = (DVBSIParser *) 0x8167a20 #6 0xb64edcd2 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #7 0xb64ede42 in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #8 0xb638c4ea in clone () from /lib/libc.so.6 No symbol table info available. (gdb) c Continuing. QGVector::insert: Index 0 out of range
Breakpoint 16, 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 (gdb) bt full #0 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 No symbol table info available. #1 0xb7c36b0d in QPtrVector<unsigned char>::insert (this=0xae9b4a70, i=0, d=0xae9b554e "N,") at qptrvector.h:67 No locals. #2 0xb7c254d2 in SIParser::ParseDVBEIT (this=0x8167a20, head=0xae9b4bc0, buffer=0xae9b4e88 "\003\005!\024\030a\"\205Ñ®\t\005", size=2613) at siparser.cpp:1478 lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc7a1f0, static shared_null = 0x80ea458} prio = 5 desc_number = 0 last_desc_number = 0 bd4D_prio = 5 bd4D_data = (uint8_t *) 0xae9b550e "M>deu\026\005Oggy & die Kakerlaken#\005Zeichentrickserie, F/D 1997/1998\212" bd4D_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade1ee90, static shared_null = 0x80ea458} exEvInfos = {<> = {<No data fields>}, <No data fields>} bd4E_prio = -1 bd4E_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x80ea458, static shared_null = 0x80ea458} last_table_id = 97 'a' des_pos = 1734 e = {SourcePID = 0, TransportID = 773, NetworkID = 8468, ServiceID = 16411, EventID = 8916, Stereo = false, HDTV = false, SubTitled = false, ETM_Location = 0, ATSC = false, PartNumber = 0, PartTotal = 0, StartTime = {d = {jd = 2453679}, t = { ds = 40800000}}, EndTime = {d = {jd = 2453679}, t = {ds = 41400000}}, OriginalAirDate = {jd = 0}, LanguageCode = { static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc470f0, static shared_null = 0x80ea458}, Event_Name = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xae089e70, static shared_null = 0x80ea458}, Event_Subtitle = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcd3320, static shared_null = 0x80ea458}, Description = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc52a40, static shared_null = 0x80ea458}, ContentDescription = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade06818, static shared_null = 0x80ea458}, Year = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc52a28, static shared_null = 0x80ea458}, CategoryType = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadccb450, static shared_null = 0x80ea458}, Actors = {<QValueList<QString>> = {sh = 0xadcd3310}, <No data fields>}, Credits = { sh = 0xade29bf8}} last_segment_number = 24 '\030' pos = 1670 descriptor_length = 130 #3 0xb7c1efa4 in SIParser::ParseTable (this=0x8167a20, buffer=0xae9b4e80 "`ú:@\033ß\030ø\003\005!\024\030a\"\205Ñ®\t\005", size=2621, pid=18) at siparser.cpp:562 head = {table_id = 96 '`', section_length = 2618, table_id_ext = 16411, current_next = true, version = 15 '\017', section_number = 24 '\030', section_last = 248 'ø'} #4 0xb7c3d4ff in DVBSIParser::StartSectionReader (this=0x8167a20) at dvbsiparser.cpp:299 rsz = 2621 i = 5 ret = 5 buffer = "`ú:@\033ß\030ø\003\005!\024\030a\"\205Ñ®\t\005\000\000\020\000\002jMHdeu#\005Käpt'n Nobart und die Piratenbande \005Zeichentrickserie, L/F/D 1997\000\000Ný\002deu\000÷\005Ein Geisterschiff taucht auf. Prima, denken die Piraten. Denn auf solchen Schiffen befindet"... processed = true #5 0xb7c3acf5 in DVBSIParser::SystemInfoThread (param=0x8167a20) at dvbsiparser.cpp:100 siparser = (DVBSIParser *) 0x8167a20 #6 0xb64edcd2 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #7 0xb64ede42 in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #8 0xb638c4ea in clone () from /lib/libc.so.6 No symbol table info available. (gdb) c Continuing. QGVector::insert: Index 0 out of range
but the next two not:
Breakpoint 16, 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 (gdb) bt full #0 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 No symbol table info available. #1 0xb7c36b0d in QPtrVector<unsigned char>::insert (this=0xae9b4a70, i=0, d=0xae9b5c35 "Ný\002deu") at qptrvector.h:67 No locals. #2 0xb7c254d2 in SIParser::ParseDVBEIT (this=0x8167a20, head=0xae9b4bc0, buffer=0xae9b4e88 "\003\005!\024!a#JÑ®\022\020", size=4040) at siparser.cpp:1478 lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xae08a168, static shared_null = 0x80ea458} prio = 5 desc_number = 0 last_desc_number = 2 bd4D_prio = 5 bd4D_data = (uint8_t *) 0xae9b5c11 "M\"deu\n\005One Piece\023\005Animeserie, 1999\212" bd4D_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcd39e8, static shared_null = 0x80ea458} exEvInfos = {<> = {<No data fields>}, <No data fields>} bd4E_prio = -1 bd4E_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x80ea458, static shared_null = 0x80ea458} last_table_id = 97 'a' des_pos = 3501 e = {SourcePID = 0, TransportID = 773, NetworkID = 8468, ServiceID = 16406, EventID = 9162, Stereo = false, HDTV = false, SubTitled = false, ETM_Location = 0, ATSC = false, PartNumber = 0, PartTotal = 0, StartTime = {d = {jd = 2453679}, t = { ds = 54600000}}, EndTime = {d = {jd = 2453679}, t = {ds = 56400000}}, OriginalAirDate = {jd = 0}, LanguageCode = { static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc83860, static shared_null = 0x80ea458}, Event_Name = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade4d4c0, static shared_null = 0x80ea458}, Event_Subtitle = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc36558, static shared_null = 0x80ea458}, Description = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadccb080, static shared_null = 0x80ea458}, ContentDescription = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcd3a10, static shared_null = 0x80ea458}, Year = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcca9b0, static shared_null = 0x80ea458}, CategoryType = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xae089cf8, static shared_null = 0x80ea458}, Actors = {<QValueList<QString>> = {sh = 0xae0c92a8}, <No data fields>}, Credits = { sh = 0xadc5cbb8}} last_segment_number = 33 '!' pos = 3465 descriptor_length = 571 #3 0xb7c1efa4 in SIParser::ParseTable (this=0x8167a20, buffer=0xae9b4e80 "`ÿÍ@\026ß ø\003\005!\024!a#JÑ®\022\020", size=4048, pid=18) at siparser.cpp:562 head = {table_id = 96 '`', section_length = 4045, table_id_ext = 16406, current_next = true, version = 15 '\017', section_number = 32 ' ', section_last = 248 'ø'} #4 0xb7c3d4ff in DVBSIParser::StartSectionReader (this=0x8167a20) at dvbsiparser.cpp:299 rsz = 4048 i = 5 ret = 3 buffer = "`ÿÍ@\026ß ø\003\005!\024!a#JÑ®\022\020\000\000\005\000\002GM'deu\n\005Pokito TV\030\005Kindermagazin, D 2005\000\000Ný\002deu\000÷\005Schule aus - Pokito an! Das dürft ihr auf keinen Fall verpassen, hier erfahrt ihr täglich wichtige Anime Infos, erlebt spann"... processed = true #5 0xb7c3acf5 in DVBSIParser::SystemInfoThread (param=0x8167a20) at dvbsiparser.cpp:100 siparser = (DVBSIParser *) 0x8167a20 #6 0xb64edcd2 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #7 0xb64ede42 in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #8 0xb638c4ea in clone () from /lib/libc.so.6 No symbol table info available. (gdb) c Continuing.
Breakpoint 16, 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 (gdb) bt full #0 0xb6b5d176 in QGVector::insert () from /usr/qt/3/lib/libqt-mt.so.3 No symbol table info available. #1 0xb7c36b0d in QPtrVector<unsigned char>::insert (this=0xae9b4a70, i=0, d=0xae9b52e3 "Ný\002deu") at qptrvector.h:67 No locals. #2 0xb7c254d2 in SIParser::ParseDVBEIT (this=0x8167a20, head=0xae9b4bc0, buffer=0xae9b4e88 "\003\005!\024\030a\"\205Ñ®\t\005", size=2613) at siparser.cpp:1478 lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade08f38, static shared_null = 0x80ea458} prio = 5 desc_number = 0 last_desc_number = 2 bd4D_prio = 5 bd4D_data = (uint8_t *) 0xae9b52ba "M'deu\016\005Spielegalaxie\024\005Kindersendung, D \212" bd4D_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade271f8, static shared_null = 0x80ea458} exEvInfos = {<> = {<No data fields>}, <No data fields>} bd4E_prio = -1 bd4E_lang = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0x80ea458, static shared_null = 0x80ea458} last_table_id = 97 'a' des_pos = 1115 e = {SourcePID = 0, TransportID = 773, NetworkID = 8468, ServiceID = 16411, EventID = 8877, Stereo = false, HDTV = false, SubTitled = false, ETM_Location = 0, ATSC = false, PartNumber = 0, PartTotal = 0, StartTime = {d = {jd = 2453679}, t = { ds = 38700000}}, EndTime = {d = {jd = 2453679}, t = {ds = 40800000}}, OriginalAirDate = {jd = 0}, LanguageCode = { static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadccb450, static shared_null = 0x80ea458}, Event_Name = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xae0c8210, static shared_null = 0x80ea458}, Event_Subtitle = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc470f0, static shared_null = 0x80ea458}, Description = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xade06818, static shared_null = 0x80ea458}, ContentDescription = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcc8758, static shared_null = 0x80ea458}, Year = {static null = {static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadc492c8, static shared_null = 0x80ea458}, CategoryType = {static null = { static null = <same as static member of an already seen type>, d = 0x80ea458, static shared_null = 0x80ea458}, d = 0xadcc80e8, static shared_null = 0x80ea458}, Actors = {<QValueList<QString>> = {sh = 0xadc4acc0}, <No data fields>}, Credits = { sh = 0xade481e8}} last_segment_number = 24 '\030' pos = 1074 descriptor_length = 584 #3 0xb7c1efa4 in SIParser::ParseTable (this=0x8167a20, buffer=0xae9b4e80 "`ú:@\033ß\030ø\003\005!\024\030a\"\205Ñ®\t\005", size=2621, pid=18) at siparser.cpp:562 head = {table_id = 96 '`', section_length = 2618, table_id_ext = 16411, current_next = true, version = 15 '\017', section_number = 24 '\030', section_last = 248 'ø'} #4 0xb7c3d4ff in DVBSIParser::StartSectionReader (this=0x8167a20) at dvbsiparser.cpp:299 rsz = 2621 i = 5 ret = 5 buffer = "`ú:@\033ß\030ø\003\005!\024\030a\"\205Ñ®\t\005\000\000\020\000\002jMHdeu#\005Käpt'n Nobart und die Piratenbande \005Zeichentrickserie, L/F/D 1997\000\000Ný\002deu\000÷\005Ein Geisterschiff taucht auf. Prima, denken die Piraten. Denn auf solchen Schiffen befindet"... processed = true #5 0xb7c3acf5 in DVBSIParser::SystemInfoThread (param=0x8167a20) at dvbsiparser.cpp:100 siparser = (DVBSIParser *) 0x8167a20 #6 0xb64edcd2 in pthread_start_thread () from /lib/libpthread.so.0 No symbol table info available. #7 0xb64ede42 in pthread_start_thread_event () from /lib/libpthread.so.0 No symbol table info available. #8 0xb638c4ea in clone () from /lib/libc.so.6 No symbol table info available. (gdb) c Continuing. [Switching to Thread 163851 (LWP 16843)]
Attachments (1)
Change History (6)
comment:1 Changed 18 years ago by
Milestone: | → unknown |
---|---|
Version: | → head |
comment:2 Changed 18 years ago by
comment:3 Changed 18 years ago by
yes. I was I little bit tired yesterday.
If we assume that it is legal for last_desc_number to become zero the attached patch seems to be correct. It fixes the problem for me.
Changed 18 years ago by
Attachment: | mythtv_QGVector_fix.diff added |
---|
comment:4 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
The error message "QGVector::insert: Index 0 out of range" in this case comes from the line 1478, because of the previous line (1477):
exEvInfos.resize (last_desc_number);
where the last_desc_number-variable occasionally gets the value of '0' and thefore the following insert() fails. The same used to happen quite often in my previous cable-network. A simple fix is to make sure that we never resize the vector to zero size.