Skip to content

Starsector crashes, possibly due to LWJGL or Java? #3397

@Bongchong1

Description

@Bongchong1

(I apologize in advance due to this most likely not being a proper bug report and missing some files and context)

  • Only "works" on box64 v0.3.5 35fa138, with the newest version v0.4.1 9f50192 crashing on the launcher or right after opening the game
  • Have reinstalled both box and starsector twice each just in case.

Issue:
Starsector crashes when either loaded completely on the title screen after a few seconds, or when immediately trying to start new game

Steps to recreate and context:
The official Linux port of the game does not seem to work, with it getting to about 35 percent at most before crashing without an error message, so all of this was on the windows version running on wine + box64 (Both versions have the same result on the Linux version)
Steps:
Open terminal in where the executable is, and enter "wine starsector.exe" to run the game.
Game launcher opens(with it rarely crashing at this point)
Game loads over the course of a minute or two
Some title screen buttons work - options and codex (in-game wiki) and the combat tutorial) while the start new game and continue buttons crashing.
Press start, game crashes with the game outputting a "Fatal: null) error at times or saying a java plugin like com.fs.starfarer.main.XXXXXX was not found with both types being a crash to desktop.

What box64 put in the terminal after launching the game: (sometimes it does nothing after the last line when trying to launch the game)

(Ran command "wine starsector.exe")
[BOX64] Box64 arm64 v0.3.5 35fa138 with Dynarec built on May 4 2025 06:37:37
[BOX64] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2
[BOX64] Running on Cortex-A57 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 19.2 MHz emulating 2.4 GHz
[BOX64] Wine64 detected, WINEPRELOADRESERVE=""
[BOX64] Didn't detect 48bits of address space, considering it's 39bits
[BOX64] WINE prereserve of 0x10000:0x8000 done
[BOX64] WINE prereserve of 0x110000:0x30000000 done
[BOX64] WINE prereserve of 0x7f000000:0x3000000 done
[BOX64] Detected running wine with "starsector.exe"
[BOX64] Counted 77 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/snap/bin/
[BOX64] Looking for /usr/local/bin/wine
[BOX64] BOX64ENV: Variables overridden via env and/or RC file:
BOX64_MAXCPU=64
[BOX64] argv[1]="starsector.exe"
[BOX64] Rename process to "wine"
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
[BOX64] Using emulated /opt/wine-9.17/bin/../lib/wine/x86_64-unix/ntdll.so
[BOX64] Using emulated /usr/lib/box64-x86_64-linux-gnu/libunwind.so.8
[BOX64] Using native(wrapped) liblzma.so.5
[BOX64] Box64 arm64 v0.3.5 35fa138 with Dynarec built on May 4 2025 06:37:37
[BOX64] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2
[BOX64] Running on Cortex-A57 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 19.2 MHz emulating 2.4 GHz
[BOX64] Wine preloader detected, loading "/opt/wine-9.17/bin/wine" directly
[BOX64] Wine64 detected, WINEPRELOADRESERVE=""
[BOX64] Didn't detect 48bits of address space, considering it's 39bits
[BOX64] WINE prereserve of 0x10000:0x8000 done
[BOX64] WINE prereserve of 0x110000:0x30000000 done
[BOX64] WINE prereserve of 0x7f000000:0x3000000 done
[BOX64] Detected running wine with "starsector.exe"
[BOX64] Counted 79 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/snap/bin/
[BOX64] Looking for /opt/wine-9.17/bin/wine
[BOX64] BOX64ENV: Variables overridden via env and/or RC file:
BOX64_MAXCPU=64
[BOX64] argv[1]="starsector.exe"
[BOX64] Rename process to "wine"
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
[BOX64] Using emulated /opt/wine-9.17/bin/../lib/wine/x86_64-unix/ntdll.so
[BOX64] Using emulated /usr/lib/box64-x86_64-linux-gnu/libunwind.so.8
[BOX64] Using native(wrapped) liblzma.so.5
[BOX64] posix_spawn(0x7f88a3e5dc, "/opt/wine-9.17/bin/wineserver", (nil), (nil), 0x7f88a3e5e0["/opt/wine-9.17/bin/wineserver", "", ...], 0x7f88a3ea70), IsX64=1, IsX86=0 IsScript=0 envp is context->envv
[BOX64] => posix_spawn(0x7f88a3e5dc, "/usr/local/bin/box64", (nil), (nil), 0x7ff393c910 ["/usr/local/bin/box64", "/opt/wine-9.17/bin/wineserver", ""...:1], 0x7ff393d6d0)
[BOX64] posix_spawn returned 0
[BOX64] Box64 arm64 v0.3.5 35fa138 with Dynarec built on May 4 2025 06:37:37
[BOX64] Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2
[BOX64] Running on Cortex-A57 with 4 cores, pagesize: 4096
[BOX64] Will use hardware counter measured at 19.2 MHz emulating 2.4 GHz
[BOX64] Didn't detect 48bits of address space, considering it's 39bits
[BOX64] Counted 79 Env var
[BOX64] Library search path:
[BOX64] Binary search path: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/games/:/usr/local/games/:/snap/bin/
[BOX64] Looking for /opt/wine-9.17/bin/wineserver
[BOX64] Rename process to "wineserver"
[BOX64] Using native(wrapped) libdl.so.2
[BOX64] Using native(wrapped) libc.so.6
[BOX64] Using native(wrapped) ld-linux-x86-64.so.2
[BOX64] Using native(wrapped) libpthread.so.0
[BOX64] Using native(wrapped) libutil.so.1
[BOX64] Using native(wrapped) librt.so.1
[BOX64] Using native(wrapped) libbsd.so.0
00a4:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
0024:err:environ:init_peb starting L"G:\home\switch\Downloads\starsector\starsector.exe" in experimental wow64 mode
[BOX64] Using emulated /opt/wine-9.17/lib/wine/x86_64-unix/win32u.so
[BOX64] Using native(wrapped) libm.so.6
[BOX64] Using native(wrapped) libfreetype.so.6
[BOX64] Using native(wrapped) libfontconfig.so.1
[BOX64] Using native(wrapped) libexpat.so.1
0034:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
0024:fixme:heap:RtlSetHeapInformation HEAP_INFORMATION_CLASS 1 not implemented!
011c:err:winediag:is_broken_driver Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead.
0128:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION

Other important stuff

  • If needed to try out game to test this, there is a CD key on a video about this game by SSethtzeench near the end with a code to try it out (don't worry, is not piracy because it has been approved by the developer of the game as it lets people try it out and apparently boosted sales a ton)
  • This is on the Nintendo Switch 1 with a Tegra X1 gpu/cpu
  • I tried Factorio's latest version to see if something was wrong with box64 itself, but it ran without any bugs and everything was working fine from my test. (yet another reason for me blaming LWJGL)
  • The part of starsector's log where it crashed (which is another reason why I think this is something related to LWJGL and/or the java version used by the game: (Java 17)

212235 [Thread-2] WARN com.fs.starfarer.title.Object.ooOO - Error loading mission preview
java.lang.RuntimeException: Hullmod CHM_alliance3 not found!
at com.fs.starfarer.loading.specs.HullVariantSpec.getAllMods(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetMember.updateStats(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetMember.setVariant(Unknown Source)
at com.fs.starfarer.campaign.fleet.FleetMember.setVariant(Unknown Source)
at com.fs.starfarer.title.Object.L.getPlayerFlagship(Unknown Source)
at com.fs.starfarer.title.Object.ooOO.setMission(Unknown Source)
at com.fs.starfarer.title.Object.O0oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.notifyHotspotClicked(Unknown Source)
at com.fs.starfarer.title.Object.O0oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.(Unknown Source)
at com.fs.starfarer.title.Object.E.(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.createUI(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.prepare(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
218575 [Thread-2] ERROR com.fs.starfarer.combat.CombatMain - java.util.NoSuchElementException
java.util.NoSuchElementException
at java.base/java.util.ArrayList$Itr.next(Unknown Source)
at com.fs.starfarer.combat.entities.Ship.getAllWeapons(Unknown Source)
at com.fs.starfarer.combat.entities.Ship.init(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.Ò00000(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.executeAdds(Unknown Source)
at com.fs.starfarer.title.oOOO.new(Unknown Source)
at com.fs.starfarer.title.oOOO.Ô00000(Unknown Source)
at com.fs.starfarer.title.oOOO.class(Unknown Source)
at com.fs.starfarer.title.oOOO.o00000(Unknown Source)
at com.fs.starfarer.combat.A.B.super(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.advanceInner(Unknown Source)
at com.fs.starfarer.combat.CombatEngine.advance(Unknown Source)
at com.fs.starfarer.title.TitleScreenState.advance(Unknown Source)
at com.fs.starfarer.BaseGameState.traverse(Unknown Source)
at com.fs.state.AppDriver.begin(Unknown Source)
at com.fs.starfarer.combat.CombatMain.main(Unknown Source)
at com.fs.starfarer.StarfarerLauncher.o00000(Unknown Source)
at com.fs.starfarer.StarfarerLauncher$1.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Please tell me if there's anything I can do or any files/context needed!! (This my second time ever making a bug report)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions