Modify

Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#5241 closed defect (fixed)

mythfilldatabase segfaults

Reported by: udovdh@… Owned by: awithers
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@… 10 years ago.
Screen output
gdb.txt (551 bytes) - added by rafmoslin@… 10 years ago.
Debug output

Download all attachments as: .zip

Change History (15)

comment:1 Changed 10 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 10 years ago by awithers

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 10 years ago by awithers

  • Owner changed from stuartm to awithers
  • Status changed from new to assigned

comment:4 Changed 10 years ago by awithers

(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 10 years ago by udovdh@…

Could I test a patch?

comment:6 Changed 10 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 10 years ago by rafmoslin@…

Screen output

Changed 10 years ago by rafmoslin@…

Debug output

comment:7 follow-up: Changed 10 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 10 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 10 years ago by paulh

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

Refs #5241

comment:10 follow-up: Changed 10 years ago by stuartm

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

comment:11 in reply to: ↑ 10 Changed 10 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 9 years ago by stuartm

  • Resolution set to fixed
  • Status changed from assigned to closed

comment:13 Changed 9 years ago by stuartm

  • Milestone changed from unknown to 0.22

Add Comment

Modify Ticket

Action
as closed The owner will remain awithers.
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.