Opened 12 years ago

Last modified 12 years ago

#10926 closed Bug Report - Hang/Deadlock

Deadlock on mythfrontend — at Version 3

Reported by: JYA Owned by:
Priority: blocker Milestone: 0.26
Component: MythTV - General Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description (last modified by JYA)

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.

Change History (3)

comment:1 Changed 12 years ago by JYA

Killing mythfrontend and restarting it, it will run successfully this time

comment:2 Changed 12 years ago by beirdo

Type: Bug Report - GeneralBug Report - Hang/Deadlock

comment:3 Changed 12 years ago by JYA

Description: modified (diff)
Priority: criticalblocker
Summary: Deadlock on mythfrontend on first startDeadlock on mythfrontend
Note: See TracTickets for help on using tickets.