Emulator Issues #8418
closed"Make address translation respect the CPU translation mode" issue on GC World Series of Poker, USA version
0%
Description
Game Name?
World Series of Poker
Game ID?
GW8E52
What's the problem? Describe what went wrong in few words.
since 4.0-5450 with some revision of 'Make address translation respect the CPU translation mode' the issue of warning 'unknown pointer 0x???????? 0x8011f8f8 LR 0x8011f8f8' occur every time entering the first two menu items of the game.
the game still works well with 4.0-5445
What did you expect to happen instead?
expecting the submenu with character 3d animation in background; the character animation with rotation option.
What steps will reproduce the problem?
[Don't assume we have ever played the game and know any level names. Be as
specific as possible.]
- you can choose other menu items except the first two
- when you choose the first two menu items the problem happen
- in good state the submenu with rotatable character animation in background
Dolphin 3.5 and 3.5-367 are old versions of Dolphin that have
known issues and bugs, so don't report issues about them and test the
latest Dolphin version first.
Which versions of Dolphin did you test on?
from 4.0-5450 to 4.0-5942 the problem occur
Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
yes, from 4.0-5445 to some lower versions
What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
OS: Ubuntu 14.10 64bit
CPU: Pentium(R) Dual-Core CPU E5700 @ 3.00GHz × 2
GPU: ATI Radeon™ HD 5450
Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
I just used all default settings
Updated by JMC4789 over 9 years ago
Can you try enabling the MMU on the game properties page?
Updated by hoangbathien over 9 years ago
yes, i tried to set every option to value that equaling compatible one by one at a time but it didn't work
Updated by magumagu9 over 9 years ago
I need a Dolphin stack trace to do anything here; what needs to be done here probably depends on which GetPointer() call is causing this.
Updated by hoangbathien over 9 years ago
how can i try to report neccessary infos you need? May i use internal dolphin debugger and logger or ubuntu built-in debugger?
i tried backtrace using gdb in ubuntu but met 'segmentation fault'. Latter i tried Valgrind but met warning of something sort of '... #undef map_32bit'
Updated by magumagu9 over 9 years ago
gdb should work. You probably need to tell it to ignore segfaults; something like "handle SIGSEGV noprint pass". See http://www.sourceware.org/gdb/onlinedocs/gdb/Signals.html .
Updated by hoangbathien over 9 years ago
i have used gdb to backtrace and reported in the following link http://pastie.org/10073964
the report generated in the below sequence:
-> gdb /usr/games/dolphin-emu 2>&1 | tee ~/gdb-dolphin-emu.txt
-> (gdb) handle SIGSEGV pass noprint
-> (gdb) run
The program would start. Performed any actions necessary to reproduce the warning. When the program hung but didn't crash i pressed ctrl+c in gdb. While the program was frozen and then continued with the next step
-> (gdb) backtrace full
-> (gdb) info registers
-> (gdb) x/16i $pc
-> (gdb) thread apply all backtrace
-> (gdb) quit
Updated by magumagu9 over 9 years ago
Two issues with that pastebin: 1. I need Dolphin symbols. You might need to build Dolphin yourself to get them? 2. I need a stack trace while the PanicAlert is showing.
Updated by hoangbathien over 9 years ago
i just know that dolphin-emu in debug mode has itself symbols in totaldb.dsy and has ability of generating symbols map, and then can manually save as .map file.
May i use some of above stuffs in simple debugger, such as gdb, or must i build and then debug it in some IDE, such as Eclipse?
Updated by flacs over 9 years ago
@hoangbathien: totaldb.dsy/map files contain symbols from games, not from Dolphin itself. We don't distribute symbol files for Linux builds, you need to build Dolphin yourself with CMAKE_BUILD_TYPE=Debug.
Updated by hoangbathien over 9 years ago
I built dolphin with CMAKE_BUILD_TYPE=Debug, then debugged with gdb. The report in http://pastie.org/10074981
The report was generated with the following procedures:
-> gdb dolphin-emu
-> (gdb) handle SIGSEGV pass noprint
-> (gdb) run
The program would start. Performed any actions necessary to reproduce the warning of
"unknown pointer 0x???????? 0x8011f8f8 LR 0x8011f8f8"
The question mark(?) in the warning represents a changable number as pressing OK button on warning pane for the next similar warning appeared but different numbers. But in this report i just got from starting dolphin-emu to the first warning encontered.
When the program hung but didn't crash i pressed ctrl+c in gdb. While the program was frozen and then continued with the next step
-> (gdb) backtrace full
-> (gdb) info registers
-> (gdb) x/16i $pc
-> (gdb) thread apply all backtrace
-> (gdb) quit
That's all!
Updated by magumagu9 over 9 years ago
Okay, that's what I was looking for; thanks.
Looks like the game is passing in "junk" as the address of a vertex array. And the address translation changes included some changes to make Memory::GetPointer much less tolerant of addresses where the expected behavior isn't obvious.
It seems kind of odd that Dolphin doesn't crash outright after showing the PanicAlert; not sure what's causing that. Maybe we should be doing the conversion lazily (don't convert until the vertex array is actually used)?
Updated by JMC4789 over 9 years ago
This should be fixed in latest master if my assumption is right.
Updated by phire over 9 years ago
- Status changed from New to Fixed
Yeah, it has an identical backtrace, I'm marking this as fixed.
Feel free to re-open if it's not actually fixed.
Updated by hoangbathien over 9 years ago
Great work! I was trying and the known problem of something "invalid pointer..." dissappeared at the first i had ever met before. But i need to check it through out the game to see if any issues like that happen.
Hope it work through!