Dolphin, the GameCube and Wii emulator - Forums

Full Version: Failed to compile shader (GWLE6L)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4
It needs to be a smaller test case to figure out exactly where the issue is so we can report it to the mesa devs.
(07-30-2014, 12:41 PM)Sonicadvance1 Wrote: [ -> ]It needs to be a smaller test case to figure out exactly where the issue is so we can report it to the mesa devs.

How does one go about obtaining such? Is there any way in Dolphin to help narrow down a specific cause? (Ideally I'd like to be able to play around with disabling shaders one at a time in order to isolate a particular one causing problems... Is there any way to do that?)
Fifo logs are the greatest way to narrow down the problem area.
(07-30-2014, 10:03 PM)Sonicadvance1 Wrote: [ -> ]Fifo logs are the greatest way to narrow down the problem area.

How would I find the issue from such? Or do you mean I should post one? (If yes, is there anything special I should know about producing one?)
(07-30-2014, 10:03 PM)Sonicadvance1 Wrote: [ -> ]Fifo logs are the greatest way to narrow down the problem area.

Umm... I recorded a FIFO. After picking the file name, dolphin crashed (SEGV). So I'm not sure if it saved okay or not.

When I try to load it, I get:
Code:
FifoPlayer: Unknown Opcode (0x7f).
Aborting frame analysis.

...and then another SEGV:
Code:
#0  FifoPlayer::WriteFramePart (this=this@entry=0x10f1840 <FifoPlayer::GetInstance()::instance>, dataStart=0,
    dataEnd=55, nextMemUpdate=@0x7fff9ea9f89c: 0, frame=..., info=...)
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoPlayer.cpp:235
#1  0x000000000059e06a in FifoPlayer::WriteFrame (this=this@entry=0x10f1840 <FifoPlayer::GetInstance()::instance>,
    frame=..., info=...) at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoPlayer.cpp:222
#2  0x000000000059e438 in FifoPlayer::Play (this=0x10f1840 <FifoPlayer::GetInstance()::instance>)
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoPlayer.cpp:94
#3  0x000000000056a095 in Core::FifoPlayerThread ()
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/Core.cpp:326

[edit] With dual-core off, I get an unending stream of similar messages of the "dolphin will likely crash now" variety. If I turn off panic handlers also I still get just a black render window.
(07-31-2014, 03:32 PM)Jhonn Wrote: [ -> ]This should help...

No, not really. I already read that. Please be more specific; what, exactly, does it tell me to do differently that I overlooked?

(What would help is if dolphin didn't crash. Or if I could run it in either valgrind¹ or gdb² to at least have some clue why it crashed Sad. Well, maybe we'll figure out valgrind...)

(¹ See https://forums.dolphin-emu.org/Thread-running-dolphin-in-valgrind?pid=333814 .)
(² Under gdb, I get dumped back into the debugger with breaks immediately and repeatedly, to the point I can't actually do anything useful.)
Our IRC channel is a great place to discuss what is happening quickly.
You've got to disable Fastmem otherwise our JIT cores will kick you out immediately since it requires sigsegv to function,(Sounds insane, works great)
Valgrind is another issue.
I'd recommend recording and playing the FIFO log in single core mode. Then get to a problem area and record like ten frames.
(08-01-2014, 12:54 PM)Sonicadvance1 Wrote: [ -> ]You've got to disable Fastmem otherwise our JIT cores will kick you out immediately since it requires sigsegv to function.

See, that's helpful Smile. (Well... more helpful... ah, maybe I'm just dense, but how do I do that?)

Anyway, I tried poking again, this time with a fifo recorded but not saved and emulation paused. Then and only then, I attached gdb.

So here's what I'm getting:
Code:
Program received signal SIGSEGV, Segmentation fault.
#0  0x00000033474895d0 in __mempcpy_sse2 () from /lib64/libc.so.6
#1  0x0000003347479339 in __GI__IO_default_xsputn () from /lib64/libc.so.6
#2  0x0000003347477362 in __GI__IO_file_xsputn () from /lib64/libc.so.6
#3  0x000000334746cfad in fwrite () from /lib64/libc.so.6
#4  0x0000000000598c01 in PadFile (file=..., numBytes=<optimized out>, this=0x7fffffffcb80)
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoDataFile.cpp:202
#5  FifoDataFile::WriteMemoryUpdates (this=this@entry=0x21598d0,
    memUpdates=std::vector of length 3156, capacity 3156 = {...}, file=...)
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoDataFile.cpp:222
#6  0x000000000059902a in FifoDataFile::Save (this=this@entry=0x21598d0,
    filename="/home/sandbox/.dolphin-emu/Fifo/GWLE6L-bad-textures.dff")
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/Core/FifoPlayer/FifoDataFile.cpp:108
#7  0x00000000004b732a in FifoPlayerDlg::OnSaveFile (this=0x20e56e0)
    at /usr/local/src/sandbox/dolphin-emu/Source/Core/DolphinWX/FifoPlayerDlg.cpp:416

Thus, I doubt the FIFO is valid Sad.

I can try posting it anyway if you like, but I can't play it on my system and don't hold much hope it will work anywhere else.
(08-01-2014, 11:53 PM)triad Wrote: [ -> ]<crash report>
Thus, I doubt the FIFO is valid Sad.

I can try posting it anyway if you like, but I can't play it on my system and don't hold much hope it will work anywhere else.

I "finally" managed to save a FIFO without dolphin crashing. (And when I say "finally", I mean I tried the load screen for a change, which starts out okay and goes wonky about halfway into loading. Capturing a FIFO from within the first level still crashes.) I can load this on my machine.

It looks like one of the shaders is reducing the green and blue channels to 1 bit (0 or 255). I see this in most if not all games to varying extents, but GWLE6L is probably the worst.
Pages: 1 2 3 4