Opened 3 years ago

Closed 3 years ago

#12094 closed defect (fixed)

3DS - Nightlies crashing on startup, 2.2.0 works fine - loadDetectionPlugin?

Reported by: bocki Owned by: ccawley2011
Priority: normal Component: Ports
Version: Keywords:
Cc: Game:

Description

I've recently revived my 2DS XL and the ScummVM nightlies segfault for some reason on start, even before being able to load any game. This happens with both the .3dsx and .cia version. The official stable 2.2.0 version works fine, so that's good :)

I've compiled the most recent commit myself and tried some commits dating back to December but ultimately was unable to start ScummVM at all. All builds seem to crash at the same call: PluginManagerUncached::loadDetectionPlugin

I tried disabling all engines except for scumm, this didn't change anything though.

Here's a backtrace - I'm not a programmer, so I'm only about 80% sure I got this right. I can obviously provide additional information if needed and would be glad to help with my favourite open source project! Thank you :)

(gdb) thread apply all bt

Thread 4 (Thread 275):
#0  svcWaitSynchronization () at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:263
#1  0x001110dc in gspEventThreadMain (arg=<optimized out>) at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/services/gspgpu.c:346
#2  0x0010f9f4 in _thread_begin (arg=<optimized out>) at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/thread.c:37
#3  0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 270):
#0  svcWaitSynchronizationN () at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:273
#1  0x00109bb0 in aptEventHandler (arg=<optimized out>) at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/services/apt.c:423
#2  0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 2 (Thread 277):
#0  0x0015bc74 in PluginManagerUncached::loadDetectionPlugin (this=0x800d5e8) at base/plugins.cpp:454
#1  0x00150c04 in scummvm_main (argc=<optimized out>, argv=0x0) at base/main.cpp:447
#2  0x00147cb4 in mainThreadFunc (threadParams=0x8007fe8) at backends/platform/3ds/main.cpp:49
#3  0x0010f9f4 in _thread_begin (arg=<optimized out>) at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/thread.c:37
#4  0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 269):
#0  svcWaitSynchronization () at /home/fincs/pacman-packages/libctru/src/libctru-2.0.1/libctru/source/svc.s:263
#1  0x0010f908 in threadJoin (thread=<optimized out>, timeout_ns=<optimized out>) at /home/fincs/pacman-packages/libctru
/src/libctru-2.0.1/libctru/source/thread.c:108
#2  0x00147db0 in main (argc=0, argv=0x0) at backends/platform/3ds/main.cpp:86

Change History (3)

comment:1 by ccawley2011, 3 years ago

Component: --Unset--Ports
Owner: set to ccawley2011
Resolution: fixed
Status: newpending

This should be fixed by PR #2749. I've only tested this with Citra, but it should work with real hardware as well.

comment:2 by bocki, 3 years ago

Just tried this on real hardware, works a treat - thank you!! :)

comment:3 by bluegr, 3 years ago

Status: pendingclosed

The PR has been merged, so this can be closed now

Note: See TracTickets for help on using tickets.