Install: the launcher accepts a romfs folder with no game files in it, and the build crashes at boot (indirect call to 0x1000200000000) #467
Labels
No labels
area/accessibility
area/audio
area/input
area/install
area/menu
area/renderer
area/saves
area/upscaling
beanstalk: approved @ 1697603
beanstalk: approved @ 2c5a62e
beanstalk: approved @ 4fd82b7
beanstalk: approved @ 64d6d09
beanstalk: approved @ 6f91fae
beanstalk: approved @ 70a78f9
beanstalk: approved @ 8015c9a
beanstalk: approved @ 8d361dc
beanstalk: approved @ 9d8356e
beanstalk: approved @ abf2227
beanstalk: approved @ d82f202
beanstalk: approved @ e5f1e40
beanstalk: approved @ ee8ab5f
ci: approved
good first issue
gpu/amd
gpu/igpu
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
needs measurements
platform/linux
platform/macos
platform/steam-deck
platform/windows
preview
priority
critical
priority
high
priority
low
regression
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
testing wanted
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Longshot#467
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What you used
Linux AppImage
Version
Launcher nightly-30-286144f5, Longshot nightly-133-55e5599c (source dd3d611f); also nightly-132-5e072fc8
Channel
Nightly
Where it stopped
Starting the game
The error
Operating system and free space on the output drive
CachyOS (Linux 7.3.3), 217 GB free (btrfs)
Visual Studio or Build Tools version, and Windows SDK version
No response
Log
What happened
I set the launcher's romfs to a folder that did not hold the extracted romfs. It held another tool's packed copy (NX2Navi's format): just
index.jsonand a single 25 GBromfs.bin. The launcher accepted the folder and the build finished, hard-linking those two files into<build>/romfs. The game then crashed every time at boot with the error above.The exefs build ids match the supported version (main
e0f3ccfa…, sdk1643a838…, subsdk0b0110087…, rtld8e213f22…), so the dump itself was fine. Only the romfs folder was wrong.Cause
With
HOS_TRACE=1, the game can't find its own system files:With no HeapDef, the function at 0x836d8ad0 calls
sead::ExpHeap::create(0, "ares::System", parent, 8, …)on a parent heap with no free space. That returns null and the game doesn't check it. Low guest memory reads back as zeros, so the vtable calls through it become the "skipped an indirect call to 0" lines. The last one,vtable[16]at 0x836d8de4, reads garbage (0x1000200000000) and the game stops.Suggestion
The launcher (or
nx2/make_game.py) could check the romfs before building and refuse a folder that is missingSystem/HeapSize/Product.Nin_Ounce_NVN2.HeapDef.byml.zs, or that has far fewer files than the expected ~186,583. It could also recognise anindex.json+romfs.binpair and explain that this is a packed copy that has to be extracted first. Right now the build takes about 15 minutes and 27 GB, and the only symptom is an unexplained crash at boot.Log
The full
longshot_log.txtis the error above, preceded by the normal boot lines (nothing else unusual).Before you send it