Modify

Ticket #5241 (closed defect: fixed)

Opened 5 years ago

Last modified 5 years ago

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

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

Change History

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

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

comment:4 Changed 5 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 5 years ago by udovdh@…

Could I test a patch?

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

Screen output

Changed 5 years ago by rafmoslin@…

Debug output

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

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

Refs #5241

comment:10 follow-up: ↓ 11 Changed 5 years ago by stuartm

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

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

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

comment:13 Changed 5 years ago by stuartm

  • Milestone changed from unknown to 0.22
View

Add a comment

Modify Ticket

Action
as closed
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.