[mythtv] backend deadlock

Stuart Auchterlonie stuarta at squashedfrog.net
Wed Sep 28 13:09:52 UTC 2005


I've managed to deadlock the backend a number of times too....

Here's where it is deadlocked...


Stuart

-------------- next part --------------
(gdb) bt full
#0  0xb660b179 in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0xb6607ee7 in _L_mutex_lock_29 () from /lib/tls/libpthread.so.0
No symbol table info available.
#2  0x00000000 in ?? ()
No symbol table info available.
#3  0x01dcb53c in ?? ()
No symbol table info available.
#4  0x0d60d268 in ?? ()
No symbol table info available.
#5  0x0d60d268 in ?? ()
No symbol table info available.
#6  0xbfa5fe38 in ?? ()
No symbol table info available.
#7  0xb6dcb53c in ?? () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#8  0x08110e88 in ?? ()
No symbol table info available.
#9  0x08110eac in ?? ()
No symbol table info available.
#10 0xbfa5fe48 in ?? ()
No symbol table info available.
#11 0xb6bff7dc in QRecursiveMutexPrivate::lock () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#12 0xb6bff7dc in QRecursiveMutexPrivate::lock () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#13 0xb6bffbe4 in QMutex::lock () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#14 0x080a4d4b in QMutexLocker (this=0xbfa5fea0, m=0x81138d4) at qmutex.h:96
No locals.
#15 0xb7bbdc56 in TVRec::IsBusy (this=0x8113800) at tv_rec.cpp:2405
        lock = {mtx = 0x81138d4}
        retval = 191
#16 0x0806478f in EncoderLink::IsBusy (this=0x81146d0) at encoderlink.cpp:93
No locals.
#17 0x0809bf8f in MainServer::endConnection (this=0x810cc90, socket=0xd51ca98) at mainserver.cpp:3410
        enc = (EncoderLink *) 0x81146d0
        i = {node = 0x81145a0}
        sock = (struct QSocket *) 0xd51ca98
        it = {<std::iterator<std::random_access_iterator_tag, PlaybackSock*, int, PlaybackSock**, PlaybackSock*&>> = {<No data fields>}, _M_current = 0x8116f0c}
        ft = {<std::iterator<std::random_access_iterator_tag, FileTransfer*, int, FileTransfer**, FileTransfer*&>> = {<No data fields>}, _M_current = 0x0}
        rt = {<std::iterator<std::random_access_iterator_tag, QSocket*, int, QSocket**, QSocket*&>> = {<No data fields>}, _M_current = 0x8116b10}
#18 0x080c91af in MainServer::qt_invoke (this=0x810cc90, _id=6, _o=0xbfa60110) at moc_mainserver.cpp:102
No locals.
#19 0xb696371c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#20 0x080c96ce in MythServer::endConnect (this=0x810d2f0, t0=0xd51ca98) at moc_server.cpp:117
        clist = (struct QConnectionList *) 0x810cb08
        o = {{type = 0x80e5c04, payload = {b = 224, c = -32 'à', s = 8672, i = -1236196896, l = -1236196896, uc = 224 'à', us = 8672, ui = 3058770400,
      ul = 3058770400, f = -3.11631447e-06, d = 1.6371586224280322e-244, byte = "à!Q¶ÀâQ\r8\001¦¿|ZP¶", bytearray = {data = 0xb65121e0 "", size = 223470272},
      ptr = 0xb65121e0, voidstar = {ptr = 0xb65121e0, owner = 192}, charstar = {ptr = 0xb65121e0 "", owner = 192}, utf8 = {ptr = 0xb65121e0 "", owner = 192},
      local8bit = {ptr = 0xb65121e0 "", owner = 192}, iface = 0xb65121e0, idisp = 0xb65121e0}}, {type = 0x80e5b84, payload = {b = 152, c = -104 '\230',
      s = -13672, i = 223464088, l = 223464088, uc = 152 '\230', us = 51864, ui = 223464088, ul = 223464088, f = 6.46469607e-31, d = -9.6867745301185237e-46,
      byte = "\230ÊQ\rå\036\226¶x×\020\b\230ÊQ\r", bytearray = {data = 0xd51ca98 "èþ\f\b@\"Q¶", size = 3063291621}, ptr = 0xd51ca98, voidstar = {ptr = 0xd51ca98,
        owner = 229}, charstar = {ptr = 0xd51ca98 "èþ\f\b@\"Q¶", owner = 229}, utf8 = {ptr = 0xd51ca98 "èþ\f\b@\"Q¶", owner = 229}, local8bit = {
        ptr = 0xd51ca98 "èþ\f\b@\"Q¶", owner = 229}, iface = 0xd51ca98, idisp = 0xd51ca98}}}
#21 0x080c6a14 in MythServer::discardClient (this=0x810d2f0) at server.cpp:27
        socket = (RefSocket *) 0xd51ca98
#22 0x080c976f in MythServer::qt_invoke (this=0x810d2f0, _id=3, _o=0xbfa60210) at moc_server.cpp:123
No locals.
#23 0xb696371c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#24 0xb6963544 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#25 0xb6cd201e in QSocket::connectionClosed () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#26 0xb6b60572 in QSocket::sn_read () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#27 0xb6cd2183 in QSocket::qt_invoke () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#28 0xb696371c in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#29 0xb696387d in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#30 0xb6ca3452 in QSocketNotifier::activated () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#31 0xb697ff00 in QSocketNotifier::event () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#32 0xb6906e1f in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#33 0xb690641e in QApplication::notify () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#34 0xb68f681a in QEventLoop::activateSocketNotifiers () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#35 0xb68afcb3 in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#36 0xb69191d8 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#37 0xb6919088 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#38 0xb6907071 in QApplication::exec () from /usr/lib/libqt-mt.so.3
No symbol table info available.
#39 0x08077aa2 in main (argc=3, argv=0xbfa61ce4) at main.cpp:623
        a = <incomplete type>
        binname = {static null = {static null = <same as static member of an already seen type>, d = 0x80e8070, static shared_null = 0x80e8070}, d = 0x80fe0c8,
  static shared_null = 0x80e8070}
        verboseString = {static null = {static null = <same as static member of an already seen type>, d = 0x80e8070, static shared_null = 0x80e8070},
  d = 0x80fe108, static shared_null = 0x80e8070}
        daemonize = false
        printsched = false
        testsched = false
        resched = false
        nosched = false
        printexpire = false
        pidfs = <incomplete type>
        port = 6543
        statusport = 6544
        myip = {static null = {static null = <same as static member of an already seen type>, d = 0x80e8070, static shared_null = 0x80e8070}, d = 0x8109690,
  static shared_null = 0x80e8070}
        masterip = {static null = {static null = <same as static member of an already seen type>, d = 0x80e8070, static shared_null = 0x80e8070}, d = 0x8109970,
  static shared_null = 0x80e8070}
        ismaster = true
        fatal_error = false
        runsched = true



More information about the mythtv-dev mailing list