[mythtv] Fix conflicts segv
Bruce Markey
bjm at lvcm.com
Mon Mar 3 17:58:50 EST 2003
FYI, no biggie. On a test system with the current CVS I'm
seeing a seg fault on the backend every time I choose "Fix
Scheduling Conflicts" from a frontend. I had put some debug
statements in DoMultiCard and could see that this code runs
correctly when the backend is started. However, when the
frontend requests QUERY_GETALLPENDING, in DoMultiCard the
((*m_tvList)[second->cardid]) comes up empty. Not sure why
though.
-- bjm
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 21410)]
QMap<int, EncoderLink *>::detach (this=0x0) at
/usr/share/qt/include/qmap.h:742 742 void detach() { if (
sh->count > 1 ) detachInternal(); }
(gdb) bt full
#0 QMap<int, EncoderLink *>::detach (this=0x0)
at /usr/share/qt/include/qmap.h:742
this = (QMap<int,EncoderLink *> *) 0x0
#1 0x0805e9d3 in QMap<int, EncoderLink *>::operator[] (this=0x0,
k=@0x82dfa4c) at /usr/share/qt/include/qmap.h:800
this = (QMap<int,EncoderLink *> *) 0x0
p = (QMapNode<int,EncoderLink *> *) 0x82ba4a8
#2 0x08070fe8 in Scheduler::DoMultiCard (this=0x82d1c08) at
scheduler.cpp:794
z = 0
storeinput = 1
numinputs = 2
second = (ProgramInfo *) 0x82df9f8
secondmove = true
fixed = false
first = (ProgramInfo *) 0x82df990
conflictList = (
list<ProgramInfo *,allocator<ProgramInfo *> > *) 0x82e0d98
firstmove = true
j = {_M_node = 0x82d54b8}
copylist = (list<ProgramInfo *,allocator<ProgramInfo *> > *)
0x82e1a70
numconflicts = 7
allConflictList = {<_List_base<ProgramInfo
*,allocator<ProgramInfo *> >> = {<_List_alloc_base<ProgramInfo
*,allocator<ProgramInfo *>,>> = {
---Type <return> to continue, or q <return> to quit---
_M_node = 0x82d53a8}, <No data fields>}, <No data fields>}
canMoveList = {<_List_base<bool,allocator<bool> >> =
{<_List_alloc_base<bool,allocator<bool>,>> = {
_M_node = 0x82d53b8}, <No data fields>}, <No data fields>}
i = {_M_node = 0x82d53c8}
biter = {_M_node = 0x82d53d8}
#3 0x0806dd9b in Scheduler::FillRecordLists (this=0x82d1c08,
doautoconflicts=false) at scheduler.cpp:193
this = (Scheduler *) 0x82d1c08
foundlist = {sh = 0x82d2d40}
iter = {_M_node = 0x82d5198}
askIter = {node = 0x82ba1d0}
#4 0x08064522 in MainServer::HandleGetPendingRecordings (this=0x82b15d0,
pbs=0x82b21d0) at mainserver.cpp:700
this = (MainServer *) 0x82b15d0
sched = (Scheduler *) 0x82d1c08
conflicts = 8
recordinglist = (
list<ProgramInfo *,allocator<ProgramInfo *> > *) 0x82c2f90
strlist = {<QValueList<QString>> = {sh = 0x82c2c68}, <No data
fields>}
iter = {_M_node = 0x82b35d0}
#5 0x0805f7dd in MainServer::readSocket (this=0x82b15d0) at
mainserver.cpp:125 listline = {<QValueList<QString>> = {sh =
0x82b2370}, <No data fields>} ---Type <return> to continue, or q
<return> to quit---
line = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x82c2f90,
static shared_null = 0x8298d98}
tokens = {<QValueList<QString>> = {sh = 0x82d1f48}, <No data
fields>}
command = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x82c2f90,
static shared_null = 0x8298d98}
pbs = (PlaybackSock *) 0x82b21d0
this = (MainServer *) 0x82b15d0
socket = (QSocket *) 0x82b35d0
testsock = (PlaybackSock *) 0x82b21d0
#6 0x08077a19 in MainServer::qt_invoke (this=0x82b15d0, _id=6,
_o=0xbfffe598)
at moc_mainserver.cpp:99
this = (MainServer *) 0x82b15d0
#7 0x4038eb26 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#8 0x4038ea7e in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#9 0x405f6058 in QSocket::readyRead () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#10 0x40500962 in QSocket::sn_read () from /usr/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#11 0x405f6149 in QSocket::qt_invoke () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#12 0x4038eb26 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#13 0x4038ec34 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#14 0x405ca40b in QSocketNotifier::activated () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#15 0x403a4a4c in QSocketNotifier::event () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#16 0x40347773 in QApplication::internalNotify () from
/usr/lib/libqt-mt.so.3
No symbol table info available.
#17 0x40347614 in QApplication::notify () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#18 0x402f610f in qt_set_socket_handler () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#19 0x402f6544 in QApplication::processNextEvent () from
/usr/lib/libqt-mt.so.3 No symbol table info available.
#20 0x40348bbf in QApplication::enter_loop () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#21 0x402f617b in QApplication::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#22 0x0805daac in main (argc=1, argv=0xbffffc14) at main.cpp:219
a = {<QObject> = {<Qt> = {static color0 = @0x406ef420,
static color1 = @0x406ef428, static black = @0x406ef430,
static white = @0x406ef438, static darkGray = @0x406ef440,
static gray = @0x406ef448, static lightGray = @0x406ef450,
static red = @0x406ef458, static green = @0x406ef460,
static blue = @0x406ef468, static cyan = @0x406ef470,
static magenta = @0x406ef478, static yellow = @0x406ef480,
static darkRed = @0x406ef488, static darkGreen = @0x406ef490,
static darkBlue = @0x406ef498, static darkCyan = @0x406ef4a0,
static darkMagenta = @0x406ef4a8, static darkYellow = @0x406ef4b0,
static arrowCursor = @0x406edd00, static upArrowCursor = @0x406edd08,
static crossCursor = @0x406edd10, static waitCursor = @0x406edd18,
static ibeamCursor = @0x406edd20, static sizeVerCursor = @0x406edd28,
static sizeHorCursor = @0x406edd30,
static sizeBDiagCursor = @0x406edd38,
static sizeFDiagCursor = @0x406edd40,
static sizeAllCursor = @0x406edd48, static blankCursor = @0x406edd50,
static splitVCursor = @0x406edd60, static splitHCursor = @0x406edd58,
static pointingHandCursor = @0x406edd68,
static forbiddenCursor = @0x406edd70,
static whatsThisCursor = @0x406edd78}, static metaObj = 0x82992d0,
isSignal = 0, isWidget = 0, pendTimer = 0, blockSig = 0, wasDeleted
= 0,
---Type <return> to continue, or q <return> to quit---
isTree = 1, objname = 0x0, parentObj = 0x0, childObjects = 0x829c9d8,
connections = 0x82999d8, senderObjects = 0x0, eventFilters = 0x0,
postedEvents = 0x0, d = 0x0,
_vptr.QObject = 0x406c9f60 <QApplication virtual table>},
static metaObj = 0x829af90, static qt_mutex = 0x829ab28, app_argc = 1,
app_argv = 0xbffffc14, quit_now = false, quit_code = 0,
static app_style = 0x0, static app_cspec = 0, static app_pal = 0x829c6e8,
static app_font = 0x0, static app_cursor = 0x0, static app_tracking = 0,
static is_app_running = true, static is_app_closing = false,
static app_exit_loop = false, static loop_level = 1,
static main_widget = 0x0, static focus_widget = 0x0,
static active_window = 0x0, static obey_desktop_settings = true,
static cursor_flash_time = 1000, static mouse_double_click_time = 400,
static wheel_scroll_lines = 3, static animate_ui = true,
static animate_menu = false, static animate_tooltip = false,
static animate_combo = false, static fade_menu = false,
static fade_tooltip = false, translators = 0x0, session_manager =
0x829c990,
session_id = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x8298d98,
static shared_null = 0x8298d98}, is_session_restored = false,
static app_strut = {wd = 0, ht = 0}, static app_libpaths = 0x829d3f8,
static app_palettes = 0x829c8f8, static app_fonts = 0x0,
---Type <return> to continue, or q <return> to quit---
static popupWidgets = 0x0}
logfile = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x829cb10,
static shared_null = 0x8298d98}
pidfile = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x829cb38,
static shared_null = 0x8298d98}
daemonize = false
logfd = -1
pidfs = <incomplete type>
db = (QSqlDatabase *) 0x82a47c0
subthread = (QSqlDatabase *) 0x829ee10
port = 6543
statusport = 6544
myip = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x82b2010,
static shared_null = 0x8298d98}
masterip = {static null = {
static null = <same as static member of an already seen type>,
d = 0x8298d98, static shared_null = 0x8298d98}, d = 0x82b03c8,
---Type <return> to continue, or q <return> to quit---
static shared_null = 0x8298d98}
ismaster = true
sched = (Scheduler *) 0x82adbf8
(gdb)
More information about the mythtv-dev
mailing list