diasurgical / devilutionX

Diablo build for modern operating systems
Other
7.98k stars 781 forks source link

[3DS] Game crashes when entering Hive/Nest #1429

Open warnwar opened 3 years ago

warnwar commented 3 years ago

Important information Using a New 3DS XL with sys ver. 11.14.0-46U, Devilution ver. 1.2.0

Describe The game crashes when entering the underground hive/nest. I took my save file and loaded it up in Windows and was able to enter the hive successfully, so it is not a problem with my specific save. I even saved the game inside the nest and transferred it back to the 3DS, but it still crashed.

To Reproduce Steps to reproduce the behavior:

  1. Get far enough in game to enter hive
  2. Try to enter hive

Expected behavior Character enters hive properly

Actual behavior Game crashes while loading assets for the nest

Additional context crash_dump.zip

AJenbo commented 3 years ago

you can make it much easier to test by attaching the save.

how can i view the dump? it dosent appear to be text based.

could you try with a debug build to get some better output.

warnwar commented 3 years ago

I did some digging into the Luma3DS dumps, and they are basically the hex values of the registers when the crash happened. Not exactly the most useful thing. I thought there was more in them. If you view the file in a hex editor it's at least possible to see how... unhelpful the data is.

I also found out something interesting. I downloaded 1700c77 from CircleCI, which I assume are all debug builds, and it did not crash. After that I switched back to the official 1.2.0 one more time to double-check the problem, and it was still happening in that version. 1700c77 is the same revision that became the 1.2.0 release, so it would lead me to believe that something in making the release builds is causing the crash.

For now I'm happy playing with the build from CircleCI.

AJenbo commented 3 years ago

the test builds aren't full blown debug builds, but also not as optimized as the release. despite it being less than a week since the release of 1.2.0 there has been some major changes to the code, so for a more valid test try running the circleci build of 1.2.0 https://app.circleci.com/pipelines/github/diasurgical/devilutionX/4075/workflows/8fc4db78-160c-4e70-9265-a6d2f72a9869/jobs/26041/artifacts

warnwar commented 3 years ago

That 4075 build from CircleCI is the one I tested and it worked for this issue. I am actually playing using it right now.

AJenbo commented 3 years ago

Then it's probably an optimization issue.