[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
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





More information about the mythtv-dev mailing list