Opened 4 years ago

Closed 4 years ago

#11300 closed defect (fixed)

3DS Port Crashing - Development Build.

Reported by: MarioKartFan Owned by: bgK
Priority: normal Component: --Unset--
Version: Keywords:
Cc: Game:


Hello bgK:

The latest development build still crashes for me upon game launch. It does not matter what game I choose, I still receive the same ARM11 - Translation error that I received before you pushed commit 9454346.

Again, this is using a New 2DS XL with latest Luma installed.

Attachments (1)

crash_dump_00000026.dmp (1.7 KB ) - added by MarioKartFan 4 years ago.
Luma 3DS dump

Download all attachments as: .zip

Change History (11)

by MarioKartFan, 4 years ago

Attachment: crash_dump_00000026.dmp added

Luma 3DS dump

comment:1 by bgK, 4 years ago

The development build has not been updated with the fix yet (will be in about 10 hours). Did you build yourself?

comment:2 by MarioKartFan, 4 years ago

Hello @bgK

You were correct, I was using a build that did not have your fix. I downloaded the latest nightly build and although it does not crash, it now pops up a message that ScummVM “Could not find any engine capable of running the selected game”.

This happens for Scumm, SCI32 and Tinsel games.

comment:3 by bgK, 4 years ago

Mhhh. Works fine for me.

What happens when you start a game in version 2.2 for the first time coming from version 2.1 or earlier is that we try to find the engine id for the game. The crash was related to this process. To rule out that the upgrade process is the cause of the issue, could you try removing a game from the list and then adding it again?

comment:4 by MarioKartFan, 4 years ago

Hi @bgK. I tried that. I also tried deleting the scummvm.ini and starting from scratch. I get the same error regardless. Thanks.

comment:5 by MarioKartFan, 4 years ago

I also tried both 3dsx and cia versions.

comment:6 by bgK, 4 years ago

Thank you for testing. I don't know what's wrong. Would it be possible for you to grab the logs of what happens when you try to start a game?

It's mostly the same as with getting a backtrace:

  1. Install the development build on your 3DS. The one from buildbot is fine. Have devkitARM installed on your computer.
  2. On your SD card, set debuglevel=3 in the [scummvm] section of scummvm.ini.
  3. Start ScummVM on your 3DS, go to the Rosalina menu (L+Down+Select), enable the debugger (Debugger options > enable debugger), go to the process list and select ScummVM (3dsx_app if you used the homebrew launcher). Take note of the IP address of your 3DS and the debugger port.
  4. On your computer in the devkitARM shell, run "arm-none-eabi-gdb". Then, in GDB, enter "target remote" (with your IP and port) to connect to the 3DS. Enter 'c' to resume execution.
  5. On the 3DS, try to start a game.
  6. On the computer, GDB should have printed the logs.

comment:7 by MarioKartFan, 4 years ago

Here you go:

User picked target 'monkey2' (engine ID 'scumm', game ID 'monkey2')...
WARNING: 'scumm' is an invalid engine ID. Use the --list-engines command to list supported engine IDs!
3ds initsize w:320 h:200

comment:8 by bgK, 4 years ago

There's something very wrong happening. Looks like ScummVM cannot find the engines' plugin files.

In ScummVM, if you go to the Add Game file browser, go up all the way to the root directory, and then in romfs:/, plugins. Do you see the plugin files? There should be one .plg file per game engine.

comment:9 by MarioKartFan, 4 years ago

Hi bgK:

Yes, I see the plugin files when using the add game file browser. They are in the directory you identified above.

comment:10 by bgK, 4 years ago

Owner: set to bgK
Resolution: fixed
Status: newclosed

Ok, thanks for the test.

I've been able to fix the issue in commit f17a7a9. I've queued a development build on buildbot so it contains the fix. Should be ready in ~ 1 hour with version number 2.2.0git-1799.

Note: See TracTickets for help on using tickets.