Emulator Issues #704
closedCrash loading plugins on Mac OS X
0%
Description
What steps will reproduce the problem?
- Run Dolphin.app
- Click on any of the plugin config buttons (i.e. audio)
- Dismiss the error stating that the .dylib cannot be found (despite it
existing in the path specified in the message) - The program will crash after the dialog is dismissed
What is the expected output? What do you see instead?
I expect to get the audio config dialog, but failing that, would expect the
system to not crash if it isn't finding it correctly.
What version of the product are you using? On what operating system?
SVN r2540
Please provide any additional information below.
This incident was reported in the forums. Here is the last forum post:
Interestingly, the program did not crash the first time I tried this in the
debugger. In my experience this means that there is a variable that was not
initialized to a default value, and depending on the compiler/OS, either
gets a sane default value or trash. However, it looks like m_DllConfig is
getting set to NULL in the CPlugin constructor, then set again using
m_hInstLib.Get. Maybe that .Get is returning garbage:
Download source Code
(gdb) print m_DllConfig
Cannot access memory at address 0x18
I do get an error message that pops up and then gets dismissed - that of
saying "Panic, can't open this dynlib plugin, it's missing" when in fact
the file is there, but I think the program state is corrupted much earlier
in execution, before the dialog.
Full backtrace:
Download source Code
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000018
0x00102939 in Common::CPlugin::Config (this=0x0, _hwnd=0x112ec80) at
Source/Core/Common/Src/Plugin.cpp:94
94 if (m_DllConfig != NULL)
(gdb) bt
#0 0x00102939 in Common::CPlugin::Config (this=0x0, _hwnd=0x112ec80) at
Source/Core/Common/Src/Plugin.cpp:94
#1 0x00068790 in CPluginManager::OpenConfig (this=0x181680,
_Parent=0x112ec80, _rFilename=0x11434dc
"/Users/brent/code/dolphin-emu/Binary/Darwin-i386/Dolphin.app/Contents/PlugIns",
Type=PLUGIN_TYPE_DSP) at Source/Core/Core/Src/PluginManager.cpp:533
#2 0x00016605 in CFrame::OnPluginDSP (this=0x1824600) at
Source/Core/DolphinWX/Src/FrameTools.cpp:629
#3 0x00873ac3 in wxEvtHandler::ProcessEventIfMatches ()
#4 0x00873c3f in wxEventHashTable::HandleEvent ()
#5 0x008744ef in wxEvtHandler::ProcessEvent ()
#6 0x009ba502 in wxWindowBase::TryParent ()
#7 0x0087449c in wxEvtHandler::ProcessEvent ()
#8 0x009b228d in wxToolBarBase::OnLeftClick ()
#9 0x008fb0e9 in wxMacToolBarToolEventHandler ()
#10 0x94d6a143 in DispatchEventToHandlers ()
#11 0x94d6957d in SendEventToEventTargetInternal ()
#12 0x94d85ed2 in SendEventToEventTarget ()
#13 0x94ddfb95 in SendControlHit ()
#14 0x94ddfa15 in HIView::NotifyControlHit ()
#15 0x94e49934 in HIView::ClickInternal ()
#16 0x94ec7b35 in HandleControlClick ()
#17 0x00900256 in wxMacTopLevelMouseEventHandler ()
#18 0x00900846 in wxMacTopLevelEventHandler ()
#19 0x94d6a143 in DispatchEventToHandlers ()
#20 0x94d6957d in SendEventToEventTargetInternal ()
#21 0x94d85ed2 in SendEventToEventTarget ()
#22 0x94d980a8 in ToolboxEventDispatcherHandler ()
#23 0x94d6a4fc in DispatchEventToHandlers ()
#24 0x94d6957d in SendEventToEventTargetInternal ()
#25 0x94d85ed2 in SendEventToEventTarget ()
#26 0x00899b56 in wxApp::MacHandleOneEvent ()
#27 0x00899c2f in wxApp::MacDoOneEvent ()
#28 0x008b5273 in wxEventLoop::Dispatch ()
#29 0x009627ef in wxEventLoopManual::Run ()
#30 0x009397b3 in wxAppBase::MainLoop ()
#31 0x0081d5fa in wxEntry ()
#32 0x000404b8 in main (argc=1, argv=0xbffff5dc) at
Source/Core/DolphinWX/Src/Main.cpp:57
(gdb)