Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#5241 closed defect (fixed)

mythfilldatabase segfaults

Reported by: udovdh@… Owned by: Anduin Withers
Priority: major Milestone: 0.22
Component: mythfilldatabase Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

mythfilldatabase segfaults while running with args --file 1 t.xml. Data provided by tv_grab_nl_py release 73.

(...) 2008-04-22 19:25:38.923 Inserting new program : 2008-04-28T23:42:00 - 2008-04-29T00:20:00 2.tvgids.nl NPS Klassiek: Barenboim on Beethoven - Masterclass met Jonathan Biss 2008-04-22 19:25:38.936 Removing existing program: 2008-04-29T00:45:00 - 2008-04-29T00:55:00 2.tvgids.nl Nova/Den? Haag vandaag 2008-04-22 19:25:38.937 Inserting new program : 2008-04-29T00:45:00 - 2008-04-29T00:55:00 2.tvgids.nl Nova/Den? Haag vandaag 2008-04-22 19:25:38.952 Removing existing program: 2008-04-29T01:20:00 - 2008-04-29T06:00:00 2.tvgids.nl Netwerk/Man? bijt hond/EénVandaag 2008-04-22 19:25:38.952 Inserting new program : 2008-04-29T01:20:00 - 2008-04-29T06:00:00 2.tvgids.nl Netwerk/Man? bijt hond/EénVandaag 2008-04-22 19:25:38.965 Removing conflicting program: 2008-04-28T23:40:00 - 2008-04-29T01:15:00 3.tvgids.nl De wereld draait door 2008-04-22 19:25:38.966 Conflicted with : 2008-04-29T00:35:00 - 2008-04-29T01:30:00 3.tvgids.nl NOS Journaal 2008-04-22 19:25:38.966 Removing conflicting program: 2008-04-29T00:50:00 - 2008-04-29T01:55:00 3.tvgids.nl NOS Sportjournaal 2008-04-22 19:25:38.967 Conflicted with : 2008-04-29T01:20:00 - 2008-04-29T06:28:00 3.tvgids.nl De wereld draait door 2008-04-22 19:25:38.967 Removing conflicting program: 2008-04-29T01:20:00 - 2008-04-29T06:28:00 3.tvgids.nl De wereld draait door 2008-04-22 19:25:38.967 Conflicted with : 2008-04-29T01:20:00 - 2008-04-29T06:28:00 3.tvgids.nl De wereld draait door

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208125136 (LWP 5021)] 0x498ea353 in memmove () from /lib/libc.so.6 (gdb) bt #0 0x498ea353 in memmove () from /lib/libc.so.6 #1 0x495df651 in QListData::remove () from /usr/lib/libQtCore.so.4 #2 0x495df6ca in QListData::erase () from /usr/lib/libQtCore.so.4 #3 0x4b6deea9 in QList<ProgInfo?>::erase () from /usr/lib/libmythtv-0.22.so.0 #4 0x4b6d4029 in ProgramData::fixProgramList () from /usr/lib/libmythtv-0.22.so.0 #5 0x4b6d4b29 in ProgramData::handlePrograms () from /usr/lib/libmythtv-0.22.so.0 #6 0x08051ab9 in Q3PtrCollection::newItem () #7 0x0807edc4 in ?? () #8 0x4988f390 in libc_start_main () from /lib/libc.so.6 #9 0x08050b51 in Q3PtrCollection::newItem ()

Attachments (2)

screen_output.txt (2.2 KB) - added by rafmoslin@… 16 years ago.
Screen output
gdb.txt (551 bytes) - added by rafmoslin@… 16 years ago.
Debug output

Download all attachments as: .zip

Change History (15)

comment:1 Changed 16 years ago by udovdh@…

MythTV Version : exported MythTV Branch : trunk Library API : 0.22.20080320-2 Network Protocol : 40 QT Version : 4.3.3 Options compiled in:

linux release using_oss using_alsa using_backend using_dbox2 using_dvb using_firewire using_frontend using_hdhomerun using_iptv using_ivtv using_joystick_menu using_lirc using_opengl_vsync using_v4l using_x11 using_xrandr using_xv using_xvmc using_xvmcw using_xvmc_vld using_bindings_perl using_bindings_python using_opengl using_ffmpeg_threads using_libavc_5_3 using_live

comment:2 Changed 16 years ago by Anduin Withers

Normally your backtrace with insufficient debug symbols wouldn’t be enough (and still may prove that way), but QList iterators are not being used appropriately in ProgramData::fixProgramList().

comment:3 Changed 16 years ago by Anduin Withers

Owner: changed from stuartm to Anduin Withers
Status: newassigned

comment:4 Changed 16 years ago by Anduin Withers

(In [17128]) References #5241

QList::erase() invalidates iterators. Use the iterator returned from erase() and step back if needed. Minimal change, there are better solutions.

comment:5 Changed 16 years ago by udovdh@…

Could I test a patch?

comment:6 Changed 16 years ago by rafmoslin@…

Don't want to raise another ticket if my problem is just a "me too" but I'm getting a seg fault with the UK RT grabber, running with no args, I'll post a gdb.txt if it's worth it:

ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/lib/qt4/include/QtCore/qlist.h, line 394

Changed 16 years ago by rafmoslin@…

Attachment: screen_output.txt added

Screen output

Changed 16 years ago by rafmoslin@…

Attachment: gdb.txt added

Debug output

comment:7 Changed 16 years ago by rafmoslin@…

Using 17177 updated 8am this am - see attached files gdb.txt and screen_output.txt for more information.

comment:8 in reply to:  7 Changed 16 years ago by anonymous

Replying to rafmoslin@gmail.com:

Using 17177 updated 8am this am - see attached files gdb.txt and screen_output.txt for more information.

Argh, just realised I forgot to set a backtrace...

comment:9 Changed 16 years ago by paulh

(In [17383]) Fix an "index out of range" assert in mythfilldatabase.

Refs #5241

comment:10 Changed 16 years ago by stuartm

(In [17720]) Backport [17383] to -fixes. Refs #5241

comment:11 in reply to:  10 Changed 16 years ago by pebender@…

Replying to stuartm:

(In [17720]) Backport [17383] to -fixes. Refs #5241

As far as I understand, QString::split is not part of Qt 3.3. As a result, I believe that this backport needs to be modified to use QStringList::split.

comment:12 Changed 15 years ago by stuartm

Resolution: fixed
Status: assignedclosed

comment:13 Changed 15 years ago by stuartm

Milestone: unknown0.22
Note: See TracTickets for help on using tickets.