
alrcan at blueyonder
Oct 6, 2008, 8:19 AM
Post #1 of 2
(317 views)
Permalink
|
|
Mythwelcome Crashes - Solution
|
|
Mythwelcome crashes sometimes when exiting from mythfrontend into the mythwelcome screen. Mythfrontend has been quit so user is back to desktop. I can't find this issue reported on mythtv-dev, but it was logged as a bug on trac long ago and closed as 'wont-fix'. http://svn.mythtv.org/trac/ticket/3322 I found others with the issue v. recently on ubuntu forums when I ran into it: http://ubuntuforums.org/showthread.php?t=608573 Error in logfile is: ICE default IO error handler doing an exit(), pid = <mythwelcome PID>, errno = 32 The fix is a one liner http://svn.mythtv.org/trac/browser/branches/release-0-21-fixes/mythtv/programs/mythwelcome/welcomedialog.cpp 104 if (state == 1 && bAutoStartFrontend) 105 startFrontend(); needs to be 104 if (state == 1 && bAutoStartFrontend) 105 QTimer::singleShot(500, this, SLOT(startFrontend())); Defect is that mythwelcome can start myth front-end before its event loop gets a chance to run, leaving something half initialised. Windowmanager/X (somewhere deep in the code) times out killing the mythwelcome context. When user quits mythfrontend back up to mythwelcome, its window dies. Back to the desktop :-( Fix is to defer falling into main menu for 500ms to give time for event loop to run & window to properly initialise. It looks like a random crash, but actually is reproducible, you just need to arrange for the the condition @ line 104 to run and then wait for a timeout in X before returning to mythwelcome. I pasted @ the end of this email the procedure for reproducing the fault. I built mythwelcome off 0-21-fixes with this change, and for my setup mythwelcome/ACPI shutdown/wakeup is now flawless on a default mythbuntu install. I've never contributed to an OSS project before, would enjoy making the change myself - anyone able to help me get started? I'd like to contribute to other bugfixes in the future. ------------------------------------------------------------------- How to Reproduce: Issue may vary dependent on windowmanager, I'm using a default installation of mythbuntu 8.04 as a combined frontend/backend. I followed the guide @ https://help.ubuntu.com/community/MythTV/Install/WhatNext/ACPIWake to get shutdown wakeup working (which is v. cool BTW). 1. mythwelcome needs to be configured to automatically start mythfrontend ('i' menu, option checked). 2. Mythtv idle (e.g. mythshutdown --verbose all --check returns OK to shut down). 4. Shutdown the mythtv 5. Manual boot from front panel or wake on LAN (_not_ wake on timer). 6. Let mythtv fall into main menu (press no keys, do nothing). 7. Wait 5 minutes to guarantee that X will timeout waiting for mythwelcome initialisation. 8 Press escape to pop up from mythtv main window to mythwelcome The GUI will crash, error message in logfile: ICE default IO error handler doing an exit(), pid = <mythwelcome PID>, errno = 32 _______________________________________________ mythtv-dev mailing list mythtv-dev[at]mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
|