Project

General

Profile

Actions

Emulator Issues #8180

closed

Super Paper Mario: WriteRest Op Out of Range

Added by jschulma about 9 years ago. Updated over 8 years ago.

Status:
Fixed
Priority:
Urgent
Assignee:
-
% Done:

0%

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

Description

Game Name?
Super Paper Mario

Game ID?
R8PE01

What's the problem? Describe what went wrong in few words.
In world 2-3, I blew up the cracked blocks near the grandfather clock in the first room, and got some error messages. First was something about memory exceeding 2gb, and then the next was "WriteRest: Op out of Range 0x8e7d001c uses 0x13660c0". (the game did not crash.)

What did you expect to happen instead?
No error message.

What steps will reproduce the problem?

  1. Play to chapter 2-3, "breaking the bank".
  2. Break Mimi's vase, then go to the floor above, with the grandfather clock. Flip to 3D to see a cracked wall.
  3. Use Boomer to blow up the wall.

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?
4.0-5384

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
N/A

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
http://www.newegg.com/Product/Product.aspx?Item=%20N82E16834152553

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)
I'm using the high-res texture pack and having Dolphin automatically convert them to the new name format. The error happened shortly after/during a conversion, but might not be related (no errors with any of the others, after all).
Note that the game didn't crash, and I can continue to play it.

Actions #1

Updated by redherochildboss about 9 years ago

One of these days I will remember to make sure I'm signed into my gmail account and not my school email when reporting an error.

Actions #2

Updated by redherochildboss about 9 years ago

Just got another error.
First it was the same thing - executable memory exceeded 2gb range, then "WriteRest: Op out of Range 0x8e7d001c uses 0x13660c0", but then another error happened afterwards with a different code: "WriteRest: Op out of Range 0x8fd20034 uses 0x13611350".

Actions #3

Updated by redherochildboss about 9 years ago

And after THAT, it continues with another..."WriteRest: Op out of Range 0x8fd20034 uses 0x1366090", then "WriteRest: Op out of Range 0x8fd20053 uses 0x1366140", "WriteRest: Op out of Range 0x8fd20068 uses 0x1361418", "WriteRest: Op out of Range 0x8fd2006f uses 0x13611360", and after that, "Dolphin.exe has stopped working".

Actions #4

Updated by magumagu9 about 9 years ago

It's possible the new vertex loader JIT is causing this: it allocates executable memory much later than we otherwise would.

Actions #5

Updated by JMC4789 about 9 years ago

  • Priority set to Urgent

This needs to be looked into.

Actions #6

Updated by jschulma about 9 years ago

Any additional info I can provide? The issue's happened three more times, so it's getting a bit annoying, and I'm eager to help fix it. :P

Actions #7

Updated by JMC4789 about 9 years ago

Bisect down to the exact build when it starts.

Actions #8

Updated by jschulma about 9 years ago

Hm, I'll try. The issue is that there doesn't seem to be any way to force the crash, save for "Play until memory exceeds 2gb", so testing will take quite a while.

Actions #9

Updated by JMC4789 about 9 years ago

  • Milestone set to Current

Does letting it just run work for that? I do have the game.

This needs to be sorted out before a release.

Actions #11

Updated by jschulma about 9 years ago

I'll test that build out. I planned to spend most of today playing it anyway. :P

How long should it go with no crash before we assume it's fixed?

Actions #12

Updated by jschulma about 9 years ago

Well, I've been playing with that build for a few hours with no problem, I'd like a few more days to test though.

Actions #13

Updated by As.I.Lay.Dreaming about 9 years ago

I would like to add that I've been getting the same problems playing Super Smash Bros Brawl. After playing a few matches I would get the memory exceeded 2gb message and then several warnings of "WriteRest: Op out of range" with memory addresses.

Using build 4.0-5154

Actions #14

Updated by As.I.Lay.Dreaming about 9 years ago

Also still getting the problem with that recently posted build.

Actions #15

Updated by flacs about 9 years ago

  • Status changed from New to Accepted

Any of the following would be very useful:

  • a way to consistently reproduce it
  • a backtrace
  • bisecting it down to a specific commit

Disowning since the vertex loader JIT is apparently not the culprit.

Actions #16

Updated by jschulma about 9 years ago

Sorry for stupid question: What is a backtrace?

Actions #17

Updated by As.I.Lay.Dreaming about 9 years ago

Personally, my way of reproducing it (faster than just playing regularly) is as follows:

1 - Play NTSC version of Super Smash Bros Brawl (or Project M patched ISO, happens to me in either of those two).
2 - In VS Mode set 4 players to random (can be 1 human and 3 CPU) and continue to the stage select screen.
3 - Choose a Random stage and start.
4 - Press Start to get out of the match.
5 - Repeat step 3 until the error comes up and dolphin crashes.

It also happened to me the past month while trying F-zero GX in dolphin but back then I didn't think much of it and I'm not sure how to reproduce it there.

My specs:
CPU: i5-4690K OC'd to 4.3
GPU: nVidia 970 GTX Asus Strix
Hard Drive: Samsung 840 EVO 500GB SSD
RAM: 8GB (x2 4GB)
OS: Windows 8.1

About a backtrace, the only thing I see is the exceptioninfo.txt file, if that's it then this is what's showing to me since the last error:

Unhandled Exception
Code: 0xC0000005
Call stack info:
0x8FFE002A : ?

I don't know exactly since which commit this started happening but I will try to find out.

Actions #18

Updated by magumagu9 about 9 years ago

Start a game (any game; I was experimenting with MP3), then set a breakpoint on AllocateExecutableMemory, then continue playing; you'll hit the breakpoint, with a stacktrace pointing at VertexLoaderX64::VertexLoaderX64. There isn't any other code that calls AllocateExecutableMemory after a game starts.

Actions #19

Updated by As.I.Lay.Dreaming about 9 years ago

So, I've been testing and these are my results:

From 4.0-5118 to 4.0-4894 (as far as I went back, testing each 20 builds) none of the builds I tested gave me the afromentioned error, BUT there was a different issue in that for every battle I entered, the CPU usage kept rising until it started affecting FPS, more and more as I entered more battles.

At build 4.0-5124 I started to get the "executable memory exceeded 2gb range" messages BUT the game didn't crash and didnt throw any "WriteRest" warnings, I could continue as long as I closed the popups, but still had the same problem of CPU usage rising.

Build 4.0-5143 is the exact one where I start experiencing the current behaviour of the 2GB warnings as well as the WriteRest and dolphin crashes.

So basically:

Builds <= 4.0-5118 = Framedrops due to CPU usage increases progresibly, no warnings, doesn't crash.
Build 4.0-5124 = Framedrops due to CPU usage increases progresibly, 2GB warnings, doesn't crash.
Builds >= 4.0-5143 = Framedrops start more or less at the same point dolphin is about to crash, 2GB warnings and WriteRest warnings, crashes.

Regarding the stacktrace, I'm not able to do it right now since I'm not building from source, instead I'm using the builds found in the download section of the dolphin website. If it's necessary I could setup a dev environment for it in my PC and check the issue.

Actions #20

Updated by flacs about 9 years ago

  • Status changed from Accepted to Work started

See PR 2184.

Actions #21

Updated by JMC4789 about 9 years ago

Please try this build. I was able to play for several hours no problem. https://dl.dolphin-emu.org/prs/pr-2184-dolphin-latest-x64.7z

Actions #22

Updated by As.I.Lay.Dreaming about 9 years ago

I have tested that build and the errors/warnings have indeed disappeared, sadly the performance drop over time is still present, the same behavior seen on Builds <= 4.0-5118.

This is only on the OGL backend by the way, none of this happens in the D3D backend.

Actions #23

Updated by JMC4789 about 9 years ago

  • Status changed from Work started to Fix pending

It's due to some kind of ram leak that doesn't occur on my PC. So I can't reproduce anything further, unfortunately.

Fixed by PR 2184 -> https://dl.dolphin-emu.org/prs/pr-2184-dolphin-latest-x64.7z

Actions #24

Updated by sam.brereton about 9 years ago

I too can confirm this happens but in a different game entirely.

Metroid: Other M (NTSC)

CPU: Intel Core i5-4690 (Non-OC)
RAM: 8GB HyperX Kingston 1600MHz DDR3
GPU: NVIDIA GeForce 650 Ti 1GB

Game runs at a solid 60fps, going down to 30fps during cutscenes, and slight skips everynow and again (Special effects/shader cache maybe).

RAM for some reason has ballooned to 1,975,283KB in Task Manager. Killing other processes to free up RAM does nothing.

Sometimes the error will go away if you hold down on the Return/Enter key, but other times it will simply crash the emulator.

Only happened once through a playthrough.

Can anyone confirm whether this is a bug in Dolphin or an issue with our systems?

Actions #25

Updated by zombiedowd about 9 years ago

I too am experiencing this problem, but in Super Smash Brothers Melee.

The game plays fine at a constant 60fps but will inevitably [and randomly] crash,
giving me a 2GB warning and multiple warnings.

I don't think this is an issue with my system.

CPU: AMD FX-8350 4.0GHz 8-Core (Non-OC)
RAM: 32 GB Corsair Vengeance Pro DDR3-1600
GPU: Gigabyte GeForce GTX 970 4GB Windforce 3X
SSD: Samsung 840 EVO 1TB
OS: Windows 7 Ultimate

There is nothing I know of that seems to reliably trigger this annoying crash..
I am convinced that this is definitely a problem with Dolphin and not our systems.

Actions #26

Updated by kamijoan almost 9 years ago

Same problem here, Pandora´s Tower.

Processor: Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz (8 CPUs), ~2.3GHz
Memory: 8192MB RAM
Card name: NVIDIA GeForce GT 630M 2Gb

Using Dolphin 6268

Actions #27

Updated by flacs almost 9 years ago

Actions #28

Updated by flacs almost 9 years ago

  • Status changed from Fix pending to Fixed

Couldn't reproduce the crash, but it should be fixed in https://dolphin-emu.org/download/dev/9f1505435877cf8f5abe7b66fb2717c7e39c1988/

Actions #29

Updated by enverex over 8 years ago

I'm not entirely convinced this is fixed. I had this happen a few days ago after playing a few rounds in Super Smash Bros. Brawl on Dolphin 4.0-6904 - the error "executable memory exceeded 2gb range" popping up over and over.

Actions #30

Updated by zombierasenmaehermann over 8 years ago

I got the same error today playing Smash Bros. Melee for about two hours using version 4.0-7084

Actions #31

Updated by flacs over 8 years ago

  • Status changed from Fixed to Accepted

Well, I guess this isn't fixed. (Removing myself as owner to show that I'd welcome contributions.)

Actions #32

Updated by KaiNKaleo23 over 8 years ago

problem still present as of today using build 4.0-7204 while playing kirby returns to dreamland. the game isnt crashing but i am receiving memory exceeding 2gb message and the writerest messages (different error codes) the only thing though is im not always getting the writerest codes and sometime dismissing the pop up will allow me to continue the game no problem othertimes dismissing the message will constantly cause it to pop back up immediatly. if it does let me play the game when the messages go away there is somewhat of a "lag spike" before the game returns to normal. otherwise the game plays perfectly fine at 60fps...
Processor: Intel(R) Core(TM) i5-5200UCPU @ 2.20GHz 2.20 GHz
Memory: 12GB Ram
Display: Intel(R) HD Graphics 5500

Actions #33

Updated by samkostka over 8 years ago

I just experienced this problem playing Super Smash Bros Melee today. Normally, my brother and I stick to the same 6 stages and only pley from a set of ~8 characters, and haven't gotten the problem before. However, today we started playing random characters and stages, and experience the over 2GB popup, but not the Write errors or crashes. This is the first time seeing this error in any game. One other thing to note, RAM usage of dolphin according to task manager was only at about 540MB.

Dolphin Version: 4.0-7216
CPU: Intel Core i5 3570k @ 3.4 GHz
8GB of RAM
GPU: nVidia GTX 650 Ti BOOST

Actions #34

Updated by degasus over 8 years ago

  • Status changed from Accepted to Fixed

To be honest, I guess the original issue was fixed. "WriteRest Op Out of Range" is a very generic error message which could happen because of lots of different bugs.

If you still have this error message, please open a new bug report with a backtrace. Without such a backtrace, we have really no chance to look for the issue. With the backtrace however, it will likely take 5 minutes ...

Edit: Stacktrace of this error message of course, not the stacktrace of the crash afterwards. Please also push the stacktrace if the game won't crash afterwards,

Actions #35

Updated by flacs over 8 years ago

For the record, the "Executable memory ended up above 2GB!" warning was fixed in 4.0-7698.

Actions

Also available in: Atom PDF