[mythtv] OS X 10.3 and MythTV 0.20

Andrew Kimpton awk at awkward.org
Wed Nov 1 04:09:31 UTC 2006


On Oct 31, 2006, at 11:16 AM, Piers Kittel wrote:

> Ah of course... :)
>
> Attached is the crash text from Console (hope that's what you were  
> referring to.... :))
>
> A better description of how exactly it crashes:
>
> It starts up fine, shows the menu and all the correct theme/ 
> settings but after a second or two after showing the main menu, it  
> shows the beach ball for a few seconds then shows the "The  
> application mythfrontend has unexpectedly quit" message.  I'm never  
> able to select or do anything.
>
> Thanks very much for your help!
>
> Cheers - Piers
> ===== Tue Oct 31 2006 ===== 15:58:44 Europe/London =====
> **********
>
> Host Name:      ukyo.10sca.intranet
> Date/Time:      2006-10-31 15:59:05 +0000
> OS Version:     10.3.9 (Build 7W98)
> Report Version: 2
>
> Command: mythfrontend
> Path:    /Applications/MythFrontend.app/Contents/MacOS/mythfrontend
> Version: 0.20.0 (0.20.0)
> PID:     337
> Thread:  0
>
> Exception:  EXC_BAD_ACCESS (0x0001)
> Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000010
>
> Thread 0 Crashed:
> 0   org.mythtv.macx.mythui       	0xcc055e64 0xcc000000 + 0x55e64
> 1   org.mythtv.macx.mythui       	0xcc003a24  
> MythMainWindowPrivate::TranslateKeyNum(QKeyEvent*) + 0x24  
> (mythmainwindow.cpp:188)
> 2   org.mythtv.macx.mythui       	0xcc00c7d4  
> MythMainWindow::TranslateKeyPress(QString const&, QKeyEvent*,  
> QStringList&, bool) + 0x58 (mythmainwindow.cpp:707)
> 3   org.mythtv.macx.mythui       	0xcc042fc0  
> MythThemedMenuPrivate::keyPressHandler(QKeyEvent*) + 0x6c  
> (myththemedmenu.cpp:1744)
> 4   org.mythtv.macx.mythui       	0xcc0430e0  
> MythThemedMenu::keyPressEvent(QKeyEvent*) + 0x68  
> (myththemedmenu.cpp:2267)
> 5   org.mythtv.macx.mythui       	0xcc005edc  
> MythMainWindow::eventFilter(QObject*, QEvent*) + 0x27c  
> (mythmainwindow.cpp:1096)
> 6   org.mythtv.macx.qt-mt        	0xb20791f8  
> QObject::activate_filters(QEvent*) + 0x68
> 7   org.mythtv.macx.qt-mt        	0xb20792a0 QObject::event 
> (QEvent*) + 0x48
> 8   org.mythtv.macx.qt-mt        	0xb20aa238 QWidget::event 
> (QEvent*) + 0x2c
> 9   org.mythtv.macx.mythui       	0xcc003e4c MythMainWindow::event 
> (QEvent*) + 0x7c (mythmainwindow.cpp:496)
> 10  org.mythtv.macx.qt-mt        	0xb203854c  
> QApplication::internalNotify(QObject*, QEvent*) + 0x310
> 11  org.mythtv.macx.qt-mt        	0xb20399a8 QApplication::notify 
> (QObject*, QEvent*) + 0x398
> 12  org.mythtv.macx.qt-mt        	0xb200bfe0  
> QApplication::globalEventProcessor(OpaqueEventHandlerCallRef*,  
> OpaqueEventRef*, void*) + 0x2588
> 13  com.apple.HIToolbox          	0x97beae50  
> DispatchEventToHandlers + 0x150
> 14  com.apple.HIToolbox          	0x97beb0c4  
> SendEventToEventTargetInternal + 0x174
> 15  com.apple.HIToolbox          	0x97bef544  
> SendEventToEventTargetWithOptions + 0x28
> 16  com.apple.HIToolbox          	0x97c23fec HandleKeyboardEvent 
> (OpaqueEventRef*, unsigned long) + 0x160
> 17  com.apple.HIToolbox          	0x97bfbae0  
> ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*,  
> OpaqueEventRef*, void*) + 0x1f8
> 18  com.apple.HIToolbox          	0x97beaf0c  
> DispatchEventToHandlers + 0x20c
> 19  com.apple.HIToolbox          	0x97beb0c4  
> SendEventToEventTargetInternal + 0x174
> 20  com.apple.HIToolbox          	0x97bfd530 SendEventToEventTarget  
> + 0x28
> 21  org.mythtv.macx.qt-mt        	0xb2005010 qt_mac_send_event 
> (unsigned int, OpaqueEventRef*, OpaqueWindowPtr*) + 0xd4
> 22  org.mythtv.macx.qt-mt        	0xb202bc6c  
> QEventLoop::processEvents(unsigned int) + 0x118
> 23  org.mythtv.macx.qt-mt        	0xb204aa10 QEventLoop::enterLoop 
> () + 0x70
> 24  org.mythtv.macx.qt-mt        	0xb204a904 QEventLoop::exec() + 0x44
> 25  org.mythtv.macx.mythfrontend 	0x000115e4 main + 0x4610
> 26  org.mythtv.macx.mythfrontend 	0x0000646c _start + 0x154 (crt.c: 
> 272)
> 27  org.mythtv.macx.mythfrontend 	0x00006314 start + 0x3c

Unfortunately I don't have a 10.3 system to reproduce this - and it  
looks rather like something might have broken somewhere in the Qt  
libraries on 10.3 (possibly a recent Qt update might have broken  
something).

It looks like the event being passed through the methods is invalid  
(possibly null) - the crash may be avoided by a small change at  
mythmainwindow.cpp line 188 by changing

     int keynum = e->key();

to

   int keynum = (e ? e->key() : 0);

however it's doesn't seem likely that  
MythMainWindowPrivate::TranslateKeyNum would be called with a null  
event unless something had gone wrong much earlier - hence my  
suspicion that something has changed with the Qt event handling  
mechanisms such that MythMainWindow::eventFilter is being called with  
an event which appears to be a KeyPress event but really isn't so the  
dynamic cast at mythmainwindow.cpp line 1096 fails.

Perhaps Nigel (if he has the time) can fire up one of his older 10.3  
systems if he still has one and reproduce this ? It might also be  
worth checking which specific version of the Qt libraries your build  
was built against (and if you have the time trying different versions  
if they're available or likely to work at all for you).

Generally speaking Nigel (who watches most of the Mac related  
changes) is pretty careful about spotting likely OS version specific  
things - but a change in the Qt libraries would likely sneak under  
the radar.

Andrew 8-)




More information about the mythtv-dev mailing list