Project

General

Profile

Actions

Emulator Issues #8418

closed

"Make address translation respect the CPU translation mode" issue on GC World Series of Poker, USA version

Added by hoangbathien over 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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.]

  1. you can choose other menu items except the first two
  2. when you choose the first two menu items the problem happen
  3. 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

Actions #1

Updated by JMC4789 over 9 years ago

Can you try enabling the MMU on the game properties page?

Actions #2

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

Actions #3

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.

Actions #4

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'

Actions #5

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 .

Actions #6

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

Actions #7

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.

Actions #8

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?

Actions #9

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.

Actions #10

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!

Actions #11

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)?

Actions #13

Updated by phire about 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.

Actions #14

Updated by hoangbathien about 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!

Actions

Also available in: Atom PDF