[mythtv] MythControls seg faults on frontend-only machines (formerly QGDictIterator::toFirst: Dictionary has been deleted)

Micah F. Galizia mfgalizi at uwo.ca
Sun Feb 19 00:31:01 UTC 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brent Fisher wrote:
> The "Edit Keys" menu option seems to cause a segmentation fault on
> machines that are not running mythbackend.  I've got 3 machines running
> mythfrontend.  Only one of these runs mythbackend.  "Edit Keys" causes
> the two frontend-only machines to crash but works fine on the backend
> machine.

It does the same thing on my frontend as well.  I'm looking into it, but
 if anybody gets to it first, feel free.  I'm creating a ticket.

> Please see the attached back trace.
> 
> My setup:
> 
> mythbackend server:
> 
> $ uname -a
> Linux smeagol 2.6.13-gentoo-r5 #1 Mon Nov 7 21:40:38 MST 2005 i686 AMD
> Duron(tm) Processor AuthenticAMD GNU/Linux
> 
> # mythbackend --version
> Library API version: 0.19.20060121-2
> Source code version: Unknown
> Options compiled in:
> linux release using_v4l using_oss using_alsa using_ivtv using_lirc
> using_x11 using_xv using_xrandr using_xvmc using_opengl_vsync
> using_frontend using_backend
> 
> mythfrontend #1:  (back trace generated on this machine)
> 
> $ uname -a
> Linux samwise 2.6.13-gentoo-r5 #4 Mon Jan 9 22:01:26 MST 2006 i686 VIA
> Nehemiah CentaurHauls GNU/Linux
> 
> $ mythfrontend --version
> Library API version: 0.19.20060121-2
> Source code version: Unknown
> Options compiled in:
> linux debug using_xvmcw using_v4l using_oss using_alsa using_ivtv
> using_lirc using_x11 using_xv using_xrandr using_xvmc using_xvmc_vld
> using_opengl_vsync using_frontend using_backend
> 
> mythfrontend #2:
> 
> $ uname -a
> Linux stewie 2.6.15-gentoo-r1 #4 PREEMPT Thu Feb 2 21:51:07 MST 2006
> x86_64 AMD Athlon(tm) 64 Processor 3700+ AuthenticAMD GNU/Linux
> 
> $ mythfrontend --version
> Library API version: 0.19.20060121-2
> Source code version: Unknown
> Options compiled in:
> linux release using_v4l using_alsa using_ivtv using_x11 using_xv
> using_dvdnav using_xrandr using_opengl_vsync using_frontend using_backend
> 
> -Brent
> 
> 
> ------------------------------------------------------------------------
> 
> [Thread debugging using libthread_db enabled]
> [New Thread -1240209728 (LWP 9923)]
> [New Thread -1243243600 (LWP 9934)]
> [New Thread -1251681360 (LWP 9947)]
> [New Thread -1269826640 (LWP 9950)]
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread -1240209728 (LWP 9923)]
> 0xb6bc98e2 in QGDictIterator::QGDictIterator () from /usr/qt/3/lib/libqt-mt.so.3
> 
> Thread 4 (Thread -1269826640 (LWP 9950)):
> #0  0xffffe402 in __kernel_vsyscall ()
> No symbol table info available.
> #1  0xb6587e7c in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #2  0xb688d50d in QThread::exit () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #3  0xb688d60d in QThread::msleep () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #4  0xb72c5dbc in MonitorThread::run (this=0xb4d1ec20) at mythmediamonitor.cpp:77
> No locals.
> #5  0xb688d0d5 in QThreadInstance::start () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #6  0xb6585380 in start_thread () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #7  0xb6422c6e in clone () from /lib/tls/libc.so.6
> No symbol table info available.
> 
> Thread 3 (Thread -1251681360 (LWP 9947)):
> #0  0xffffe402 in __kernel_vsyscall ()
> No symbol table info available.
> #1  0xb658a43b in __read_nocancel () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #2  0xb633cce1 in lirc_nextcode () from /usr/lib/liblirc_client.so.0
> No symbol table info available.
> #3  0xb72d101a in LircClient::Process (this=0x82854d0) at lirc.cpp:68
> 	code = 0x0
> 	ir = 0x0
> 	ret = 0
> #4  0xb724f122 in SpawnLirc (param=0x8334db8) at mythdialogs.cpp:53
> 	main_window = (MythMainWindow *) 0x8334db8
> 	config_file = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82a1988, static shared_null = 0x8181070}
> 	program = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82a1a18, static shared_null = 0x8181070}
> 	cl = (class LircClient *) 0x82854d0
> #5  0xb6585380 in start_thread () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #6  0xb6422c6e in clone () from /lib/tls/libc.so.6
> No symbol table info available.
> 
> Thread 2 (Thread -1243243600 (LWP 9934)):
> #0  0xffffe402 in __kernel_vsyscall ()
> No symbol table info available.
> #1  0xb6587c06 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #2  0xb6baf773 in QWaitCondition::wait () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #3  0xb71938f9 in MythContext::waitPrivRequest (this=0x8258310) at mythcontext.cpp:2711
> No locals.
> #4  0x080729f6 in run_priv_thread (data=0x0) at main.cpp:679
> No locals.
> #5  0xb6585380 in start_thread () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #6  0xb6422c6e in clone () from /lib/tls/libc.so.6
> No symbol table info available.
> 
> Thread 1 (Thread -1240209728 (LWP 9923)):
> #0  0xb6bc98e2 in QGDictIterator::QGDictIterator () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #1  0xb4e2e77c in QDictIterator (this=0xbfca1c50, d=@0x0) at qdict.h:104
> No locals.
> #2  0xb4e2d7a4 in ActionSet::actionStrings (this=0xb4d8307c, context_name=@0xbfca1d80) at actionset.cpp:143
> 	action_strings = (QStringList *) 0xb4d60fd8
> 	it = {<QGDictIterator> = {dict = 0x0, curNode = 0xb4d1bd60, curIndex = 3217693800}, <No data fields>}
> #3  0xb4e3b9fb in KeyBindings::getActions (this=0xb4d83070, context=@0xbfca1d80) at keybindings.h:83
> No locals.
> #4  0xb4e39fcf in MythControls::addBindings (this=0xbfca1f80, bindings=@0xbfca1dd0, context=@0xbfca1d80, contextParent=@0xbfca1e50, bindlevel=3) at mythcontrols.cpp:843
> 	actions = (QStringList *) 0x80dea25
> #5  0xb4e3a3b4 in MythControls::getKeyBindings (this=0xbfca1f80, context=@0xbfca1e50) at mythcontrols.cpp:883
> 	level = 3
> 	curcontext = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0xb4ded848, static shared_null = 0x8181070}
> 	it = {node = 0xb4d61478}
> 	bindings = {<> = {<No data fields>}, <No data fields>}
> 	contextList = {sh = 0xb4da5078}
> 	keys = {<QValueList<QString>> = {sh = 0xb4ded848}, <No data fields>}
> 	retval = (BindingList *) 0x3
> #6  0xb4e3a739 in MythControls::refreshKeyBindings (this=0xbfca1f80) at mythcontrols.cpp:915
> 	context = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0xb4daa9e8, static shared_null = 0x8181070}
> 	list = (BindingList *) 0xb4ded8e0
> 	i = 2
> #7  0xb4e3908f in MythControls::loadHost (this=0xbfca1f80, hostname=@0xbfca1f10) at mythcontrols.cpp:710
> 	actions = (QStringList *) 0xb4d72a38
> #8  0xb4e33bb6 in MythControls (this=0xbfca1f80, parent=0x8334db8, ui_ok=@0xbfca217f) at mythcontrols.cpp:99
> No locals.
> #9  0xb4e3fe6d in mythplugin_run () at main.cpp:58
> 	uiloaded = true
> 	window = (class MythMainWindow *) 0x8334db8
> 	controls = {<MythThemedDialog> = {<MythDialog> = {<> = {<No data fields>}, static metaObj = 0xb4d12eb8, wmult = 1.17999995, hmult = 1.20666671, screenwidth = 944, screenheight = 724, xbase = 32, ybase = 40, m_parent = 0x8334db8, rescode = 0, in_loop = false, defaultBigFont = {d = 0xb4d41268}, defaultMediumFont = {d = 0xb4da6c40}, defaultSmallFont = {d = 0xb4d9bfb0}}, static metaObj = 0xb4db2da0, widget_with_current_focus = 0x0, my_background = <incomplete type>, my_foreground = <incomplete type>, theme = 0xb4d54220, xmldata = <incomplete type>, context = -1, my_containers = {<QGList> = {<> = {<No data fields>}, firstNode = 0xb4d42df8, lastNode = 0xb4d20768, curNode = 0xb4d20768, curIndex = 1, numNodes = 2, iterators = 0xb4d20758}, <No data fields>}, focus_taking_widgets = {<QGList> = {<> = {<No data fields>}, firstNode = 0xb4d83010, lastNode = 0xb4d83060, curNode = 0xb4d83060, curIndex = 5, numNodes = 6, iterators = 0x0}, <No data fields>}, redrawRect = {x1 = 0, y1 = 0, x2
 = 943, y2 = 723}}, _vptr.MythControls = 0xb4e4b34c, static metaObj = 0x0, focused = 0xb4de9588, LeftList = 0xb4de9588, RightList = 0xb4dc1468, description = 0xb4db2ce0, LeftDesc = 0xb4d3f780, RightDesc = 0xb4d3f830, ActionButtons = {0xb4d82318, 0xb4d9e830, 0xb4def458, 0xb4da51d8}, key_bindings = 0xb4d83070, container = 0xb4da71d0, contexts = {<QValueList<QString>> = {sh = 0xb4d82f60}, <No data fields>}, keys = {<QValueList<QString>> = {sh = 0xb4d82ff0}, <No data fields>}, m_contexts = {<> = {<No data fields>}, <No data fields>}, contextKeys = {<> = {<No data fields>}, <No data fields>}, keyActions = {<> = {<No data fields>}, <No data fields>}, leftType = MythControls::kContextList, rightType = MythControls::kActionList}
> #10 0xb724b9f5 in MythPlugin::run (this=0xb4d08898) at mythplugin.cpp:45
> 	rfunc = (PluginRunFunc) 0xb4e3fe28 <mythplugin_run>
> #11 0xb724ce07 in MythPluginManager::run_plugin (this=0xb4d090c8, plugname=@0xbfca2470) at mythplugin.cpp:187
> 	newname = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0xb4d1d9a0, static shared_null = 0x8181070}
> #12 0xb71d6232 in ThemedMenuPrivate::handleAction (this=0xb4d3c768, action=@0xb4d9c748) at themedmenu.cpp:2491
> 	rest = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0xb4d1b758, static shared_null = 0x8181070}
> 	pmanager = (MythPluginManager *) 0xb4d090c8
> 	ok = true
> #13 0xb71d4907 in ThemedMenuPrivate::keyPressHandler (this=0xb4d3c768, e=0xbfca2da0) at themedmenu.cpp:2336
> 	it = {node = 0xb4d9c740}
> 	action = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0xb4d00758, static shared_null = 0x8181070}
> 	i = 0
> 	lastbutton = (ThemedButton *) 0xb4d638a8
> 	oldrow = 2
> 	handled = true
> 	actions = {<QValueList<QString>> = {sh = 0xb4d61d20}, <No data fields>}
> #14 0xb71d7d01 in ThemedMenu::keyPressEvent (this=0xb4d1bd60, e=0xbfca2da0) at themedmenu.cpp:2714
> No locals.
> #15 0xb69335c9 in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #16 0xb6895bbf in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #17 0xb6896445 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #18 0xb7257662 in MythMainWindow::keyPressEvent (this=0x8334db8, e=0xbfca2da0) at mythdialogs.cpp:750
> 	current = (struct QWidget *) 0xb4d1bd60
> #19 0xb69335c9 in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #20 0xb6895bbf in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #21 0xb6896445 in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #22 0xb7269132 in QApplication::sendEvent (receiver=0x8334db8, event=0xbfca2da0) at qapplication.h:491
> No locals.
> #23 0xb7257e0f in MythMainWindow::customEvent (this=0x8334db8, ce=0x8276850) at mythdialogs.cpp:845
> 	k = 4100
> 	ascii = 0
> 	key = {<> = {<No data fields>}, txt = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8181070, static shared_null = 0x8181070}, k = 4100, s = 0, a = 0 '\0', accpt = 1, autor = 0, c = 1}
> 	mod = 0
> 	text = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8181070, static shared_null = 0x8181070}
> 	key_target = (struct QObject *) 0x8334db8
> 	lke = (class LircKeycodeEvent *) 0x8276850
> 	keycode = 4100
> #24 0xb68f6ddf in QObject::event () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #25 0xb693306f in QWidget::event () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #26 0xb6895bbf in QApplication::internalNotify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #27 0xb6895d5c in QApplication::notify () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #28 0xb6896e80 in QApplication::sendPostedEvents () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #29 0xb6896f14 in QApplication::sendPostedEvents () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #30 0xb6841ca6 in QEventLoop::processEvents () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #31 0xb68ac4e1 in QEventLoop::enterLoop () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #32 0xb6894d5f in QApplication::enter_loop () from /usr/qt/3/lib/libqt-mt.so.3
> No symbol table info available.
> #33 0xb7258c3d in MythDialog::exec (this=0xb4d1bd60) at mythdialogs.cpp:1047
> 	res = -1222276154
> #34 0x0807065e in RunMenu (themedir={static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82852b0, static shared_null = 0x8181070}) at main.cpp:498
> 	exitstatus = 0
> #35 0x08076aee in main (argc=5, argv=0xbfca37f4) at main.cpp:1062
> 	geometry = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8197c28, static shared_null = 0x8181070}
> 	a = <incomplete type>
> 	logfile = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82580c0, static shared_null = 0x8181070}
> 	finfo = {fn = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8258120, static shared_null = 0x8181070}, fic = 0x0, cache = true, symLink = false}
> 	logfd = 9
> 	fileprefix = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8258238, static shared_null = 0x8181070}
> 	themename = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8286be8, static shared_null = 0x8181070}
> 	randomtheme = false
> 	status = 0
> 	mainWindow = (class MythMainWindow *) 0x8334db8
> 	pmanager = (MythPluginManager *) 0xb4d090c8
> 	pluginname = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82580d8, static shared_null = 0x8181070}
> 	binname = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x8258138, static shared_null = 0x8181070}
> 	priv_thread = 3051723696
> 	themedir = {static null = {static null = <same as static member of an already seen type>, d = 0x8181070, static shared_null = 0x8181070}, d = 0x82852b0, static shared_null = 0x8181070}
> 	exitstatus = 29293
> 	mon = (class MediaMonitor *) 0xb4d1ebf0
> 	ResetSettings = false
> 	dir = <incomplete type>
> 	networkControl = (class NetworkControl *) 0x0
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


- --
Micah F. Galizia
mfgalizi at uwo.ca

"The mark of an immature man is that he wants to die nobly for a cause,
while the mark of the mature man is that he wants to live humbly for
one."   --W. Stekel
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFD97xFfZqZRvBjAbwRAn86AJwIrWaB9lSx+gneptO+iTwVwzFKwgCg2fKs
+3TbcqCnmrqaAVvrd9j3wzY=
=JBjm
-----END PGP SIGNATURE-----


More information about the mythtv-dev mailing list