Posted June 29, 2021
Hey,
I experienced a crash on Linux / debian buster which seems to originate not in the game code itself but in the GOG Galaxy libraries. Stacktrace:
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) Galaxy.Api.GalaxyInstancePINVOKE.Init (System.Runtime.InteropServices.HandleRef) <0x0006f>
at Galaxy.Api.GalaxyInstance.Init (Galaxy.Api.InitParams) <0x00023>
at StardewValley.SDKs.GalaxyHelper.Initialize () <0x0004b>
at StardewValley.GameRunner.Initialize () <0x0004a>
at Microsoft.Xna.Framework.Game.DoInitialize () <0x0002b>
at Microsoft.Xna.Framework.Game.Run (Microsoft.Xna.Framework.GameRunBehavior) <0x0009f>
at Microsoft.Xna.Framework.Game.Run () <0x00027>
at StardewModdingAPI.Framework.SCore.RunInteractively () <0x00fbb>
at StardewModdingAPI.Program.Start (string[]) <0x00147>
at StardewModdingAPI.Program.Main (string[]) <0x001c3>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0x000c8>
Native stacktrace:
./StardewModdingAPI.bin.x86_64() [0x45124d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f8bf488b730]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x10b) [0x7f8bf46d58bb]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x121) [0x7f8bf46c0535]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x84fb65) [0x7f8b1d960b65]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8bc6) [0x7f8b1d8c9bc6]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8c11) [0x7f8b1d8c9c11]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8d44) [0x7f8b1d8c9d44]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x80551a) [0x7f8b1d91651a]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x84ff74) [0x7f8b1d960f74]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7bf75c) [0x7f8b1d8d075c]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7c069a) [0x7f8b1d8d169a]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x5b5f63) [0x7f8b1d6c6f63]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x174953) [0x7f8b1d285953]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(_ZN6galaxy3api4InitERKNS0_11InitOptionsE+0x19) [0x7f8b1d27c059]
./lib64/libGalaxyCSharpGlue.so(_Z4InitRK10InitParams+0x56) [0x7f8b1debb786]
./lib64/libGalaxyCSharpGlue.so(CSharp_GalaxyfApi_Init___+0xb) [0x7f8b1ded2e6b]
[0x41ad4c50]
Debug info from gdb:
AL lib: (EE) alc_cleanup: 1 device not closed
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted
Fortunately, removing both libGalaxy libraries work arounds the issue. Just do:
cd game/
mv lib64/libGalaxy* ~/
(for example)
Then the game will throw you an error on Galaxy.Api.GalaxyInstancePINVOKE (saying libGalaxyCSharpGlue.so couldn't be found, naturally) but it'll still run fine after that.
I experienced a crash on Linux / debian buster which seems to originate not in the game code itself but in the GOG Galaxy libraries. Stacktrace:
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) Galaxy.Api.GalaxyInstancePINVOKE.Init (System.Runtime.InteropServices.HandleRef) <0x0006f>
at Galaxy.Api.GalaxyInstance.Init (Galaxy.Api.InitParams) <0x00023>
at StardewValley.SDKs.GalaxyHelper.Initialize () <0x0004b>
at StardewValley.GameRunner.Initialize () <0x0004a>
at Microsoft.Xna.Framework.Game.DoInitialize () <0x0002b>
at Microsoft.Xna.Framework.Game.Run (Microsoft.Xna.Framework.GameRunBehavior) <0x0009f>
at Microsoft.Xna.Framework.Game.Run () <0x00027>
at StardewModdingAPI.Framework.SCore.RunInteractively () <0x00fbb>
at StardewModdingAPI.Program.Start (string[]) <0x00147>
at StardewModdingAPI.Program.Main (string[]) <0x001c3>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <0x000c8>
Native stacktrace:
./StardewModdingAPI.bin.x86_64() [0x45124d]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12730) [0x7f8bf488b730]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x10b) [0x7f8bf46d58bb]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x121) [0x7f8bf46c0535]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x84fb65) [0x7f8b1d960b65]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8bc6) [0x7f8b1d8c9bc6]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8c11) [0x7f8b1d8c9c11]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7b8d44) [0x7f8b1d8c9d44]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x80551a) [0x7f8b1d91651a]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x84ff74) [0x7f8b1d960f74]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7bf75c) [0x7f8b1d8d075c]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x7c069a) [0x7f8b1d8d169a]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x5b5f63) [0x7f8b1d6c6f63]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(+0x174953) [0x7f8b1d285953]
/home/user/games/Stardew Valley/game/./lib64/libGalaxy64.so(_ZN6galaxy3api4InitERKNS0_11InitOptionsE+0x19) [0x7f8b1d27c059]
./lib64/libGalaxyCSharpGlue.so(_Z4InitRK10InitParams+0x56) [0x7f8b1debb786]
./lib64/libGalaxyCSharpGlue.so(CSharp_GalaxyfApi_Init___+0xb) [0x7f8b1ded2e6b]
[0x41ad4c50]
Debug info from gdb:
AL lib: (EE) alc_cleanup: 1 device not closed
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Aborted
Fortunately, removing both libGalaxy libraries work arounds the issue. Just do:
cd game/
mv lib64/libGalaxy* ~/
(for example)
Then the game will throw you an error on Galaxy.Api.GalaxyInstancePINVOKE (saying libGalaxyCSharpGlue.so couldn't be found, naturally) but it'll still run fine after that.
Post edited June 29, 2021 by solozerk