[mythtv-commits] Ticket #5941: MythFrontend Telnet Interface Segfaults when connection is not closed cleanly

MythTV mythtv at cvs.mythtv.org
Wed Nov 26 05:58:09 UTC 2008


#5941: MythFrontend Telnet Interface Segfaults when connection is not closed
cleanly
--------------------+-------------------------------------------------------
 Reporter:  kormoc  |       Owner:  ijr    
     Type:  defect  |      Status:  new    
 Priority:  minor   |   Milestone:  unknown
Component:  mythtv  |     Version:  head   
 Severity:  medium  |     Mlocked:  0      
--------------------+-------------------------------------------------------
 Steps to reproduce with revision 19159

 {{{
 telnet frontend 6546
 kill -9 telnet-pid
 telnet frontend 6546
 }}}

 backtrace
 {{{
 Program received signal SIGSEGV, Segmentation fault.
 0x00000000025e2aa0 in ?? ()
 (gdb) bt
 #0  0x00000000025e2aa0 in ?? ()
 #1  0x0000000000503310 in NetworkControl::newConnection (this=0x162d7a0)
     at networkcontrol.cpp:314
 #2  0x000000000051b725 in NetworkControl::qt_metacall (this=0x162d7a0,
     _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff413da8b0)
     at moc_networkcontrol.cpp:67
 #3  0x0000003da9f3fb7a in QMetaObject::activate ()
    from /usr/lib/qt4/libQtCore.so.4
 #4  0x0000003daa486358 in ?? () from /usr/lib/qt4/libQtNetwork.so.4
 #5  0x0000003daa474c03 in ?? () from /usr/lib/qt4/libQtNetwork.so.4
 #6  0x0000003da8f92a2f in QApplicationPrivate::notify_helper ()
    from /usr/lib/qt4/libQtGui.so.4
 #7  0x0000003da8f972a0 in QApplication::notify ()
    from /usr/lib/qt4/libQtGui.so.4
 #8  0x0000003da9f2d545 in QCoreApplication::notifyInternal ()
    from /usr/lib/qt4/libQtCore.so.4
 #9  0x0000003da9f54000 in QEventDispatcherUNIX::activateSocketNotifiers ()
    from /usr/lib/qt4/libQtCore.so.4
 #10 0x0000003da9f544f3 in QEventDispatcherUNIXPrivate::doSelect ()
    from /usr/lib/qt4/libQtCore.so.4
 #11 0x0000003da9f54847 in QEventDispatcherUNIX::processEvents ()
    from /usr/lib/qt4/libQtCore.so.4
 #12 0x0000003da900e5fd in ?? () from /usr/lib/qt4/libQtGui.so.4
 ---Type <return> to continue, or q <return> to quit---
 #13 0x0000003da9f2caab in QEventLoop::processEvents ()
    from /usr/lib/qt4/libQtCore.so.4
 #14 0x0000003da9f2cbfe in QEventLoop::exec () from
 /usr/lib/qt4/libQtCore.so.4
 #15 0x0000003da9f2e584 in QCoreApplication::exec ()
    from /usr/lib/qt4/libQtCore.so.4
 #16 0x000000000043e5f8 in main (argc=5, argv=0x7fff413dc128) at
 main.cpp:1476
 }}}

 and bt full
 {{{
 #0  0x00000000025e2aa0 in ?? ()
 No symbol table info available.
 #1  0x0000000000503310 in NetworkControl::newConnection (this=0x162d7a0)
     at networkcontrol.cpp:314
         welcomeStr = {static null = {<No data fields>}, static shared_null
 = {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0x3daa2127a0, static codecForCStrings = 0x0}
         closedOldConn = true
         s = (struct QTcpSocket *) 0x16cbbe0
         locker = {{mtx = 0x162d7d9, val = 23255001}}
 #2  0x000000000051b725 in NetworkControl::qt_metacall (this=0x162d7a0,
     _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff413da8b0)
     at moc_networkcontrol.cpp:67
 No locals.
 #3  0x0000003da9f3fb7a in QMetaObject::activate ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #4  0x0000003daa486358 in ?? () from /usr/lib/qt4/libQtNetwork.so.4
 No symbol table info available.
 ---Type <return> to continue, or q <return> to quit---
 #5  0x0000003daa474c03 in ?? () from /usr/lib/qt4/libQtNetwork.so.4
 No symbol table info available.
 #6  0x0000003da8f92a2f in QApplicationPrivate::notify_helper ()
    from /usr/lib/qt4/libQtGui.so.4
 No symbol table info available.
 #7  0x0000003da8f972a0 in QApplication::notify ()
    from /usr/lib/qt4/libQtGui.so.4
 No symbol table info available.
 #8  0x0000003da9f2d545 in QCoreApplication::notifyInternal ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #9  0x0000003da9f54000 in QEventDispatcherUNIX::activateSocketNotifiers ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #10 0x0000003da9f544f3 in QEventDispatcherUNIXPrivate::doSelect ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #11 0x0000003da9f54847 in QEventDispatcherUNIX::processEvents ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #12 0x0000003da900e5fd in ?? () from /usr/lib/qt4/libQtGui.so.4
 No symbol table info available.
 #13 0x0000003da9f2caab in QEventLoop::processEvents ()
 ---Type <return> to continue, or q <return> to quit---
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #14 0x0000003da9f2cbfe in QEventLoop::exec () from
 /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #15 0x0000003da9f2e584 in QCoreApplication::exec ()
    from /usr/lib/qt4/libQtCore.so.4
 No symbol table info available.
 #16 0x000000000043e5f8 in main (argc=5, argv=0x7fff413dc128) at
 main.cpp:1476
         bPromptForBackend = false
         bBypassAutoDiscovery = false
         upgradeAllowed = false
         cmdline_err = false
         cmdline = {parseTypes = 255, settingsOverride = {{d = 0x76fe40,
       e = 0x76fe40}}, settingsQuery = {<QList<QString>> = {{p = {
           static shared_null = {ref = {_q_value = 18153}, alloc = 0,
             begin = 0, end = 0, sharable = 1, array = {0x0}}, d =
 0x770880},
         d = 0x770880}}, <No data fields>}, display = {
     static null = {<No data fields>}, static shared_null = {ref = {
         _q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean = 0,
       simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
       reserved = 0, array = {0}}, static shared_empty = {ref = {
         _q_value = 987}, alloc = 0, size = 0, data = 0x3daa2127ba, clean =
 0,
       simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
 ---Type <return> to continue, or q <return> to quit---
       reserved = 0, array = {0}}, d = 0x76fe20,
     static codecForCStrings = 0x0}, geometry = {
     static null = {<No data fields>}, static shared_null = {ref = {
         _q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean = 0,
       simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
       reserved = 0, array = {0}}, static shared_empty = {ref = {
         _q_value = 987}, alloc = 0, size = 0, data = 0x3daa2127ba, clean =
 0,
       simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
       reserved = 0, array = {0}}, d = 0x76fe20,
     static codecForCStrings = 0x0}, wantsToExit = false}
         a = <incomplete type>
         pluginname = {static null = {<No data fields>}, static shared_null
 = {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0x76fe20, static codecForCStrings = 0x0}
         finfo = {d_ptr = 0x8a4b20}
         binname = {static null = {<No data fields>}, static shared_null =
 {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
 ---Type <return> to continue, or q <return> to quit---
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0x8a4ae0, static codecForCStrings = 0x0}
         ResetSettings = false
         settingsOverride = {{d = 0x76fe40, e = 0x76fe40}}
         callCleanup = {
   m_cleanFunction = 0x4409f0 <(anonymous namespace)::cleanup()>}
         settingsQuery = {<QList<QString>> = {{p = {static shared_null = {
           ref = {_q_value = 18153}, alloc = 0, begin = 0, end = 0,
           sharable = 1, array = {0x0}}, d = 0x770880},
       d = 0x770880}}, <No data fields>}
         fileprefix = {static null = {<No data fields>}, static shared_null
 = {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0x8b4a10, static codecForCStrings = 0x0}
         dir = {d_ptr = 0x8cecb0}
         geometry = {static null = {<No data fields>}, static shared_null =
 {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
 ---Type <return> to continue, or q <return> to quit---
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0x76fe20, static codecForCStrings = 0x0}
         priv_thread = 1107327312
         priv_thread_created = true
         status = 0
         themename = {static null = {<No data fields>}, static shared_null
 = {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0xa68b20, static codecForCStrings = 0x0}
         randomtheme = false
         themedir = {static null = {<No data fields>}, static shared_null =
 {
     ref = {_q_value = 5432}, alloc = 0, size = 0, data = 0x76fe3a, clean =
 0,
     simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0,
     reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value =
 987},
     alloc = 0, size = 0, data = 0x3daa2127ba, clean = 0, simpletext = 0,
     righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array =
 {0}},
   d = 0xba25d0, static codecForCStrings = 0x0}
         mainWindow = (class MythMainWindow *) 0xa68b70
         pmanager = (MythPluginManager *) 0x16666d0
 ---Type <return> to continue, or q <return> to quit---
         mon = (class MediaMonitor *) 0x908ad0
         networkControl = (class NetworkControl *) 0x162d7a0
         exitstatus = 0
 }}}

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/5941>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list