Opened 20 months ago
Last modified 7 days ago
#14390 new defect
BACKENDS: WII: Wii crashes on Daily Build
Reported by: | CrystalBen | Owned by: | digitall |
---|---|---|---|
Priority: | high | Component: | Port: Wii |
Version: | Keywords: | ||
Cc: | Game: |
Description
Hi, when i wanna use the Daily Build of ScummVM its always crash when i add
a new Game, i also tried the Stable Build and it not crashes there. i can add under the Stable Build my Games and play them. Hope someone can help me on the
Daily Build Version for the Wii
Attachments (1)
Change History (15)
by , 20 months ago
Attachment: | IMG_2672.jpg added |
---|
comment:1 by , 19 months ago
Keywords: | Wii Crash removed |
---|
comment:2 by , 19 months ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → pending |
Right. The v2.7.1pre build I linked above detects fine and does _NOT_ crash... so this is a regression between v2.7.0 and current master. SIGH.
comment:3 by , 19 months ago
Resolution: | fixed |
---|---|
Status: | pending → new |
comment:4 by , 19 months ago
I could try having a look at bisecting this, maybe this week, maybe later this month, unless someone beats me to it first.
comment:5 by , 19 months ago
Investigating a bit with Dolphin (at the moment), it looks like this *may* be related to the number of plugins, since the problem disappears when I remove all plugins starting from a
to i
included. But it doesn't appear to be related to a plugin in particular.
Dolphin gives the following output when the crash happens:
IntCPU: Unknown instruction 00000000 at PC = 906a1ea8 last_PC = 00000000 LR = 90070720
Trying to see if a bisect gives something...
comment:6 by , 19 months ago
Summary: | Wii crashes on Daily Build → BACKENDS: WII: Wii crashes on Daily Build |
---|
comment:7 by , 19 months ago
Just a quick update. Have sorted out the Docker build environment for Wii using podman and am running a bisection for this.
My test case is trying a detection for Full Throttle. This crashes to a black crash dump screen in the failure case, though it seems to softlock in some cases as well.
Have narrowed the interval for the regression to 0b7c19a0702d1c..a305fe56d6cb
None of the commits in that interval affect the Wii backend directly, but I suspect that the issue may be an out of memory issue in the detection caused by the AGS and GLK engines (hence why removing plugins a to i may work).
These engines have very large detection entry string lists and I suspect these might be causing an OOM issue.
comment:8 by , 19 months ago
Bisection complete. To be clear, I have been testing on a real Wii, so a bit slow to go round the test-build loop :)
6cf8b64c270895d1dce5ea07f693969c2188acae is the first bad commit
commit 6cf8b64c270895d1dce5ea07f693969c2188acae
Author: Walter Agazzi <walter.agazzi@…>
Date: Wed Feb 22 02:09:30 2023 +0100
AGS: Add detection for old hour-games
From AGS archives
engines/ags/detection_tables.h | 49 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 47 insertions(+), 2 deletions(-)
comment:9 by , 19 months ago
That would tend to support my assertion that it may be the size of the AGS and probably the GLK metaengine code.
comment:10 by , 19 months ago
I modified the previously failing build of 6cf8b64c to move the top four largest plugins to a new plugins-disabled folder i.e. a user could do this modification on a daily build.
These were:
5.3 MB ultima.plg
4.6 MB glk.plg
4.3 MB ags.plg
4.1 MB tsage.plg
The build was then able to do a detection of Full Throttle without crashing out so this again supports my hypothesis.
comment:11 by , 16 months ago
Still trying to sort out a debugging solution for this. Building a USB Gecko from scratch as purchasing is now not possible, but tricky to get working.
comment:12 by , 16 months ago
NB: Probably evident from regression point, but v2.7.0 and v2.7.1 releases work fine on Wii (have tested with no issues), but this bug will affect v2.8.0 release unless it is fixed or the workaround detailed previously is applied.
comment:13 by , 7 months ago
I downloaded the 2.8.1 Wii release and noticed that only the AGS plugin has been removed, so I suppose that the GLK detection tables cause no issues? If that's the case maybe it could be possibile to create a "slimmed down" AGS detection table for the Wii (e.g. removing the old versions of GOG/Steam games). Not perfect but better than removing the engine completely
comment:14 by , 7 days ago
Priority: | normal → high |
---|
We probably should at least take this into account when packaging the 2.9.0 release, or look into a proper fix.
Tested this myself with ScummVM v2.7.0 release and the latest daily build i.e. 2.8.0-git-073e0229d. As reported, v2.7.0 detects games fine including Mass Add which is slow, but completes fine.
However, the v2.8.0git nightly crashes detecting a single game. I have tried removing all the newer plugins from the folder, but the crash persists so this is either something to do with the Wii build environment with buildbot or a change to backend / engine code since v2.7.0.
Will try testing with the buildbot v2.7.0 stable nightly to see if that replicates the issue: https://buildbot.scummvm.org/dailybuilds/stable/wii-stable-c4f24b2f.tar.xz
If so, that would indicate a build environment issue with the buildbot vs. release build environment from the Porter...