
noreply at mythtv
Jul 20, 2012, 11:44 PM
Post #4 of 6
(73 views)
Permalink
|
|
Re: Ticket #10926: Deadlock on mythfrontend (was: Deadlock on mythfrontend on first start)
[In reply to]
|
|
#10926: Deadlock on mythfrontend ----------------------------------------+----------------------------- Reporter: jyavenard | Owner: Type: Bug Report - Hang/Deadlock | Status: new Priority: blocker | Milestone: 0.26 Component: MythTV - General | Version: Unspecified Severity: medium | Resolution: Keywords: | Ticket locked: 0 ----------------------------------------+----------------------------- Changes (by jyavenard): * priority: critical => blocker Old description: > Fresh, new, blank system as per #10925. > Create new mythconverg database > run mythtv-setup and create a basic system (capture card, etc..) > run mythbackend > > start mythfrontend > it prompts you to choose your language. > Save and mythfrontend now hangs. > > It is deadlocked > {{{ > void MythPainter::DeleteFormatImage(MythImage *im) > { > m_allocationLock.lock(); > DeleteFormatImagePriv(im); > }}} > > on m_allocationLock.lock(); > > {{{ > (gdb) bt full > #0 0x00007fff8bc900fa in __psynch_cvwait () > No symbol table info available. > #1 0x00007fff86c85fc9 in _pthread_cond_wait () > No symbol table info available. > #2 0x0000000105df9f5b in QMutexPrivate::wait () > No symbol table info available. > #3 0x0000000105df520c in QMutex::lockInternal () > No symbol table info available. > #4 0x00000001029ba377 in MythPainter::DeleteFormatImage > (this=0x10a62d7a0, im=0x110266d70) at mythpainter.cpp:521 > No locals. > #5 0x00000001029be060 in MythImage::~MythImage (this=0x110266d70) at > mythimage.cpp:59 > No locals. > #6 0x00000001029cb0e5 in MythQtImage::~MythQtImage (this=0x110266d70) at > mythpainter_qt.cpp:15 > No locals. > #7 0x00000001029ca7b5 in MythQtImage::~MythQtImage (this=0x110266d70) at > mythpainter_qt.cpp:15 > No locals. > #8 0x00000001029ca7d8 in MythQtImage::~MythQtImage (this=0x110266d70) at > mythpainter_qt.cpp:15 > No locals. > #9 0x00000001029ca85c in non-virtual thunk to > MythQtImage::~MythQtImage() () at mythpainter_qt.cpp:15 > No symbol table info available. > #10 0x0000000102787b64 in ReferenceCounter::DecrRef (this=0x110266d88) at > referencecounter.cpp:147 > val = 0 > #11 0x00000001029be21e in MythImage::DecrRef (this=0x110266d70) at > mythimage.cpp:73 > cached = false > cnt = 134942768 > #12 0x00000001029b686b in MythPainter::ExpireImages (this=0x10a62d7a0, > max=0) at mythpainter.cpp:569 > oldmsg = { > d = 0x110292000 > } > it = { > i = 0x1080b1030 > } > oldim = (MythImage *) 0x110266d70 > recompute = false > #13 0x00000001029b62e3 in MythPainter::~MythPainter (this=0x10a62d7a0) at > mythpainter.cpp:28 > locker = { > val = 4469217233 > } > #14 0x00000001029c9be2 in MythQtPainter::~MythQtPainter > (this=0x10a62d7a0) at mythpainter_qt.cpp:65 > No locals. > #15 0x00000001029c9b65 in MythQtPainter::~MythQtPainter > (this=0x10a62d7a0) at mythpainter_qt.cpp:63 > No locals. > #16 0x00000001029c9b18 in MythQtPainter::~MythQtPainter > (this=0x10a62d7a0) at mythpainter_qt.cpp:63 > No locals. > #17 0x00000001029a128c in MythMainWindow::ReinitDone (this=0x10a60d170) > at mythmainwindow.cpp:1248 > No locals. > #18 0x000000010000f60a in reloadTheme () at main.cpp:1230 > themename = { > d = 0x108514d40 > } > themedir = { > d = 0x1083d4020 > } > lcd = (LCD *) 0x100000000000001 > #19 0x000000010000ced8 in main (argc=10, argv=0x7fff5fbff9f0) at > main.cpp:1613 > bPromptForBackend = false > cmdline = { > <MythCommandLineParser> = { > _vptr$MythCommandLineParser = 0x1003df560, > m_appname = { > d = 0x10731d3c0 > }, > m_optionedArgs = { > { > d = 0x10731d950, > e = 0x10731d950 > } > }, > m_namedArgs = { > { > d = 0x10731d890, > e = 0x10731d890 > } > }, > m_passthroughActive = false, > m_overridesImported = true, > m_verbose = false > }, <No data fields>} > fileprefix = { > d = 0x108345580 > } > bonjour = { > d = 0x10a6266f0 > } > lcd = (LCD *) 0x0 > themename = { > d = 0x108514d40 > } > mainWindow = (MythMainWindow *) 0x10a60d170 > sysEventHandler = (MythSystemEventHandler *) 0x0 > signallist = { > { > p = { > d = 0x10a04e650 > }, > d = 0x10a04e650 > } > } > handler = { > <QObject> = { > _vptr$QObject = 0x1028882b0, > d_ptr = { > d = 0x10a04d490 > } > }, > members of SignalHandler: > m_notifier = 0x10a04d560, > m_sigMap = { > { > d = 0x10830a7f0, > e = 0x10830a7f0 > } > } > } > retval = 0 > themedir = { > d = 0x108062fe0 > } > themeUpdateChecker = (ThemeUpdateChecker *) 0x0 > bBypassAutoDiscovery = false > mon = (MediaMonitor *) 0x0 > ret = 32767 > callCleanup = { > m_cleanFunction = 0x10000ed00 <cleanup> > } > ResetSettings = false > dir = { > d_ptr = { > d = 0x10a625130 > } > } > networkControl = (NetworkControl *) 0x0 > bcm = { > <QObject> = { > _vptr$QObject = 0x0, > d_ptr = { > d = 0x0 > } > }, > members of BackendConnectionManager: > m_reconnecting = 0x0, > m_reconnect_timer = 0x0 > } > #20 0x000000010000b0e4 in start () > No symbol table info available. > }}} New description: Fresh, new, blank system as per #10925. Create new mythconverg database run mythtv-setup and create a basic system (capture card, etc..) run mythbackend start mythfrontend it prompts you to choose your language. Save and mythfrontend now hangs. It is deadlocked {{{ void MythPainter::DeleteFormatImage(MythImage *im) { m_allocationLock.lock(); DeleteFormatImagePriv(im); }}} on m_allocationLock.lock(); {{{ (gdb) bt full #0 0x00007fff8bc900fa in __psynch_cvwait () No symbol table info available. #1 0x00007fff86c85fc9 in _pthread_cond_wait () No symbol table info available. #2 0x0000000105df9f5b in QMutexPrivate::wait () No symbol table info available. #3 0x0000000105df520c in QMutex::lockInternal () No symbol table info available. #4 0x00000001029ba377 in MythPainter::DeleteFormatImage (this=0x10a62d7a0, im=0x110266d70) at mythpainter.cpp:521 No locals. #5 0x00000001029be060 in MythImage::~MythImage (this=0x110266d70) at mythimage.cpp:59 No locals. #6 0x00000001029cb0e5 in MythQtImage::~MythQtImage (this=0x110266d70) at mythpainter_qt.cpp:15 No locals. #7 0x00000001029ca7b5 in MythQtImage::~MythQtImage (this=0x110266d70) at mythpainter_qt.cpp:15 No locals. #8 0x00000001029ca7d8 in MythQtImage::~MythQtImage (this=0x110266d70) at mythpainter_qt.cpp:15 No locals. #9 0x00000001029ca85c in non-virtual thunk to MythQtImage::~MythQtImage() () at mythpainter_qt.cpp:15 No symbol table info available. #10 0x0000000102787b64 in ReferenceCounter::DecrRef (this=0x110266d88) at referencecounter.cpp:147 val = 0 #11 0x00000001029be21e in MythImage::DecrRef (this=0x110266d70) at mythimage.cpp:73 cached = false cnt = 134942768 #12 0x00000001029b686b in MythPainter::ExpireImages (this=0x10a62d7a0, max=0) at mythpainter.cpp:569 oldmsg = { d = 0x110292000 } it = { i = 0x1080b1030 } oldim = (MythImage *) 0x110266d70 recompute = false #13 0x00000001029b62e3 in MythPainter::~MythPainter (this=0x10a62d7a0) at mythpainter.cpp:28 locker = { val = 4469217233 } #14 0x00000001029c9be2 in MythQtPainter::~MythQtPainter (this=0x10a62d7a0) at mythpainter_qt.cpp:65 No locals. #15 0x00000001029c9b65 in MythQtPainter::~MythQtPainter (this=0x10a62d7a0) at mythpainter_qt.cpp:63 No locals. #16 0x00000001029c9b18 in MythQtPainter::~MythQtPainter (this=0x10a62d7a0) at mythpainter_qt.cpp:63 No locals. #17 0x00000001029a128c in MythMainWindow::ReinitDone (this=0x10a60d170) at mythmainwindow.cpp:1248 No locals. #18 0x000000010000f60a in reloadTheme () at main.cpp:1230 themename = { d = 0x108514d40 } themedir = { d = 0x1083d4020 } lcd = (LCD *) 0x100000000000001 #19 0x000000010000ced8 in main (argc=10, argv=0x7fff5fbff9f0) at main.cpp:1613 bPromptForBackend = false cmdline = { <MythCommandLineParser> = { _vptr$MythCommandLineParser = 0x1003df560, m_appname = { d = 0x10731d3c0 }, m_optionedArgs = { { d = 0x10731d950, e = 0x10731d950 } }, m_namedArgs = { { d = 0x10731d890, e = 0x10731d890 } }, m_passthroughActive = false, m_overridesImported = true, m_verbose = false }, <No data fields>} fileprefix = { d = 0x108345580 } bonjour = { d = 0x10a6266f0 } lcd = (LCD *) 0x0 themename = { d = 0x108514d40 } mainWindow = (MythMainWindow *) 0x10a60d170 sysEventHandler = (MythSystemEventHandler *) 0x0 signallist = { { p = { d = 0x10a04e650 }, d = 0x10a04e650 } } handler = { <QObject> = { _vptr$QObject = 0x1028882b0, d_ptr = { d = 0x10a04d490 } }, members of SignalHandler: m_notifier = 0x10a04d560, m_sigMap = { { d = 0x10830a7f0, e = 0x10830a7f0 } } } retval = 0 themedir = { d = 0x108062fe0 } themeUpdateChecker = (ThemeUpdateChecker *) 0x0 bBypassAutoDiscovery = false mon = (MediaMonitor *) 0x0 ret = 32767 callCleanup = { m_cleanFunction = 0x10000ed00 <cleanup> } ResetSettings = false dir = { d_ptr = { d = 0x10a625130 } } networkControl = (NetworkControl *) 0x0 bcm = { <QObject> = { _vptr$QObject = 0x0, d_ptr = { d = 0x0 } }, members of BackendConnectionManager: m_reconnecting = 0x0, m_reconnect_timer = 0x0 } #20 0x000000010000b0e4 in start () No symbol table info available. }}} This deadlock can be reproduce by simply going into Settings -> Theme Chooser and downloading another theme. Sometimes browsing Myth Videos will see the deadlock occurring too. -- -- Ticket URL: <http://code.mythtv.org/trac/ticket/10926#comment:3> MythTV <http://code.mythtv.org/trac> MythTV Media Center _______________________________________________ mythtv-commits mailing list mythtv-commits [at] mythtv http://www.mythtv.org/mailman/listinfo/mythtv-commits
|