Emulator Issues #5035
closedLatest Dolphin revisions crash on OS X
Added by jurpie almost 13 years ago.
0%
Description
- Game Name and ID (as it appears in right click > properties: "GZ2P01",
"RSBE01", etc):
Zelda: Skyward Sword: SOUE01 (maybe more)
2) What is the expected output? What do you see instead?
After Wiimote setup(+ / IR callibration) I expect to see the Menu, but Dolphin crashes
3) Did the game ever work correctly (i.e. not have this problem) on an
earlier version of dolphin? Please specify the exact revision when the
problem began.
it works OK on v3.0
4) What steps will reproduce the problem?
- Run game
- Connect Wiimote
- Crash
5) What version of dolphin are you using (32bit/64bit along with the
version as it appears in the title bar, etc)?
On what operating system, drivers, and hardware? Be sure to list OS,
graphics driver information, and video card model if you are having
graphics problems, for example.
Tried 32/64 bit modes. OS X 10.7.2, for info about hardware see attachment.
6) Please provide any additional information below.
See attachment voor a Crashlog
Updated by jurpie almost 13 years ago
Forgot to mention, I'm running the latest build (3.0-211).
And just found out that Wii Sports crashes on the 64 bits version (32 bits works perfectly).
Updated by jurpie almost 13 years ago
I'm not really into GDB, but if you can give me a few pointers (pun intended) on how to debug it, I'll look what I can do :)
Updated by Anonymous almost 13 years ago
Hm the trace2 looks interesting, relevant code (code changed, was looking at the wrong branch):
void Renderer::SetPSConstant4f(unsigned int const_number, float f1, float f2, float f3, float f4)
{
float f[4] = { f1, f2, f3, f4 };
glProgramEnvParameter4fvARB(GL_FRAGMENT_PROGRAM_ARB, const_number, f);
}
Same thing though:
So I'm guessing that it's related to alignment or location of the function(glProgramEnvParameter4fvARB).
Can you breakpoint on SetPSConstant4f and show the location of the function SetPSConstant4f as well as glProgramEnvParameter4fvARB ? Just google for gdb stuff :P
Updated by jurpie almost 13 years ago
I've attached some gdb output, please tell me what to look for.
Updated by jurpie almost 13 years ago
forgot to add this:
(gdb) print $xmm4
$1 = {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
}
Updated by Anonymous almost 13 years ago
0x0000000000212648 <_ZN3OGL8Renderer15SetPSConstant4fEjffff+8>: movaps %xmm4,(%rsp)
This is the problem, because rsp is not 16 byte aligned. However I'm not really sure what's causing it, since I don't use osx and am not familiar with their compiler...
So, time for guessing. Can you try commenting line 135 in Source\Core\VideoCommon\Src\OpcodeDecoding.cpp ? This should make it so the Display List is always interpreted. Seems like the jit calls into LoadIndexedXF, which eventually calls a function which has been optimized by g++ such that alignment is wrong when calling from jit'd code.
Updated by mthuurne almost 13 years ago
The issue from the first trace might be solved by commit 98981cc72486. Can you test that?
Updated by jurpie almost 13 years ago
I'll try that, compiling right know.
Is it possible to compile and link the changed files only?
If I try to just run ./SConstruct . it does that, but the output binary still shows it's version 3.0-211
Updated by jurpie almost 13 years ago
Great! the issue from the first trace is fixed
Updated by jurpie almost 13 years ago
The issue from the second trace is fixed by commenting line 135 of Source/Core/VideoCommon/Src/OpcodeDecoding.cpp
Updated by Anonymous almost 13 years ago
Issue 4801 has been merged into this issue.
Updated by Anonymous almost 13 years ago
Issue 5037 has been merged into this issue.
Updated by Anonymous almost 13 years ago
- Status changed from New to Accepted
Looks like a great percentage of the OS X crashes are caused by calling functions which expect certain alignment conditions to be met, which are not, since they are called through JIT'd code.
Hopefully it can be fixed either in the JIT or in the compiler, instead of attributes on each function...
Updated by jurpie almost 13 years ago
Would compiling using the non-LLVM (plain gcc) compiler make a difference?
I tried that once, but it gave some errors during the compile stage..
Updated by celgilles almost 13 years ago
Compiling with llvm-gcc 3 (which comes with XCode 4.2) works for me. it seems that Marteen has fixed most of the OS X issues in version 211 & 212, even the latest version 220 works great! I have no more crashes (JITCache and EFB related crashes) anymore on OS X in 64bit mode....I tested ZSS yesterday with a Wii+ and worked great at all resolutions. But not sure if my crash is your crash ;-) I always delete the folder "Source" in the "Build" > "Darwin-x86_64-release" folder before compiling (if you delete the "Externals" folder it will recompile "wxWidgets3" and that takes most of the time compiling it).
Updated by jurpie almost 13 years ago
I think your crashes are different, the JITCache? and EFB related crash is fixed, but I've some other crashes related to alignment.
Attached is another crash in Mario Kart
Updated by jurpie almost 13 years ago
Another crash for Super Mario Galaxy (function is way too big for full disas, so only included relevant lines)
Updated by Sonicadvance1 almost 13 years ago
The mario kart wii trace shows failure happening in the OpenCL texture decoder?
Updated by Anonymous over 12 years ago
Issue 5442 has been merged into this issue.
Updated by Anonymous over 12 years ago
Issue 5528 has been merged into this issue.
Updated by Anonymous over 12 years ago
Issue 5442 has been merged into this issue.
Updated by Anonymous over 12 years ago
Issue 5442 has been merged into this issue.
Updated by Anonymous over 12 years ago
Issue 4077 has been merged into this issue.
Updated by Billiard26 almost 12 years ago
- Issue type set to Bug
- Operating system OS X added
Updated by ariff.isk over 11 years ago
Is there a fix? or atleast a reason this problem persists? I've heard about the OpenGL issue that's been pulled back but for most osx users this bug still persists. Even for me. I have no problem with Dolphin 3.5 but the dev builds have easier configurable options that r3.5 just doesnt have.
Updated by pauldacheez over 11 years ago
ariff, your issue is completely different from this one (and I don't know if this old issue is even relevant anymore) - yours is more likely because Dolphin now requires 10.7/10.8 and a graphics card that supports all of GL 3.2 properly. If you're running 10.6 or you've got an old GPU on 10.7/10.8 it's just gonna crash.
Here's the last build that'll still work on 10.6 or with older GPUs: http://dolphin-emu.org/download/dev/8767b30f75db5732023d9ebf9d93573f3b839e50/
Updated by ariff.isk over 11 years ago
paul, I'm running 10.7.5 on an early 2011 macbook pro with Intel HD 3000 and 4GB RAM (Haven't updated to 8GB yet) and it's still an issue. :| I've searched that osx 10.7.5 supports GL 3.2 But apparently i still can't open recent dev versions. The only version i CAN open whats fairly recent is v3.5-1382 albeit with MAJOR graphical glitching (even with optimized settings). Everything above that crashes. I've posted it as an issue.
http://code.google.com/p/dolphin-emu/issues/detail?id=6346&thanks=6346&ts=1370373440
Updated by pauldacheez over 11 years ago
The OS, the GPU, and the drivers in between all need to support the necessary parts of GL 3.2 - and support them properly, mind you - to be able to run Dolphin. The drivers are broken in this case.