[mythtv] Mythwelcome Crashes - Solution

Alan alrcan at blueyonder.co.uk
Mon Oct 6 15:19:01 UTC 2008

Mythwelcome crashes sometimes when exiting from mythfrontend into the
mythwelcome screen. Mythfrontend has been quit so user is back to

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'.


I found others with the issue v. recently on ubuntu forums when I ran
into it:


Error in logfile is: ICE default IO error handler doing an exit(), pid =
<mythwelcome PID>, errno = 32

The fix is a one liner

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

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 @


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

More information about the mythtv-dev mailing list