You are not logged in.

#1 2015-12-22 04:05:18

hagabaka
Member
Registered: 2010-12-15
Posts: 35

[SOLVED] segmentation fault with Lords of Xulima (uses mono)

Hello, I got Lords of Xulima from GOG and it's crashing with a segfault on start up. I've posted on their support forum too, but I wonder if other Arch users have seen similar problems or found solutions.

If I run the game with the GOG launcher, I get a stack trace:

Lords of Xulima> ./start.sh
Running Lords of Xulima
Stacktrace:

  at <unknown> <0xffffffff>
  at System.Windows.Forms.XplatUIX11..ctor () <0x00167>
  at System.Windows.Forms.XplatUIX11.GetInstance () <0x00057>
  at System.Windows.Forms.XplatUI..cctor () <0x000db>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at System.Windows.Forms.SystemInformation.get_VirtualScreen () <0x00013>
  at System.Windows.Forms.Screen..cctor () <0x0002f>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at DXVision.DXHelper_Screen.get_ScreenSize () <0x00027>
  at DXVision.DXScene..cctor () <0x0010f>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

support/gog_com.shlib: line 94: 30066 Segmentation fault      (core dumped) ./"${bin_64}"

I also tried bypassing the GOG launcher like this, although I'm not sure it's right. I get two errors before the same stack trace:

Lords of Xulima/game> LD_LIBRARY_PATH=./Linux/lib ./LOXLinux
gmisc-unix.c:70: assertion 'filename != NULL' failed
gpath.c:133: assertion 'filename != NULL' failed
Stacktrace:


Native stacktrace:

        ./Linux/lib/libmonoboehm-2.0.so.1(+0xcb5f4) [0xf74265f4]
        ./Linux/lib/libmonoboehm-2.0.so.1(+0x11e728) [0xf7479728]
        ./Linux/lib/libmonoboehm-2.0.so.1(+0x29d7e) [0xf7384d7e]
        linux-gate.so.1(__kernel_rt_sigreturn+0) [0xf7702bd0]
        ./Linux/lib/libmonoboehm-2.0.so.1(mono_runtime_run_main+0xe2) [0xf753de22]
        ./Linux/lib/libmonoboehm-2.0.so.1(mono_jit_exec+0x62) [0xf73f6ed2]
        ./LOXLinux() [0x8048870]
        /usr/lib32/libc.so.6(__libc_start_main+0xf7) [0xf715e497]
        ./LOXLinux() [0x8048641]

Debug info from gdb:

ptrace: Operation not permitted.
No threads.

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================

[1]    30178 abort (core dumped)  LD_LIBRARY_PATH=./Linux/lib ./LOXLinux

The c files with assertion "filename != NULL" are from mono source, and they are checking whether some file path is absolute. But since they're getting a NULL I guess there's no way to find out what file the game is trying to open.

The above is with the mono bundled with the game. If I use the Arch packaged mono, it gets a little farther, showing a window titled "Lords of Xulima" briefly, but then it shows an error reporting dialog about the sound library "Un4seen". I'm guessing this is because I don't have the library installed system wide, but there's no package for it in repo or AUR, I have no idea how to build it. I feel like it would be less effort to try to get the bundled mono to run...

ERROR MESSAGE

 ID  1F72FE77
SO: Unix 4.3.2.1 
64 bits: True 
LOX Version: V.2.0.4 
LOX Mod: (None) 
 MESSAGE  The type initializer for 'Un4seen.Bass.Bass' threw an exception.
 SOURCE  DXVision
 TRACE    at DXVision.SoundPlayer_Bass.Init () <0x40adb760 + 0x0009f> in <filename unknown>:0 
  at DXVision.DXSoundSystem.Initialize (DXVision.DXSoundPlayer soundPlayer) <0x40adb420 + 0x0011b> in <filename unknown>:0 
  at DXVision.DXSoundSystem.Initialize () <0x40adb200 + 0x0001f> in <filename unknown>:0 
  at DXVision.DXSoundSystem.PauseAll (Boolean pause) <0x40af9e30 + 0x00047> in <filename unknown>:0 
  at DXVision.DXViewerForm.Application_Idle (System.Object sender, System.EventArgs e) <0x40af98c0 + 0x00033> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.UpdateMessageQueue (System.Windows.Forms.XEventQueue queue, Boolean allowIdle) <0x40af3270 + 0x0022a> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.UpdateMessageQueue (System.Windows.Forms.XEventQueue queue) <0x40af3240 + 0x00017> in <filename unknown>:0 
  at System.Windows.Forms.XplatUIX11.GetMessage (System.Object queue_id, System.Windows.Forms.MSG& msg, IntPtr handle, Int32 wFilterMin, Int32 wFilterMax) <0x40aefdd0 + 0x002b3> in <filename unknown>:0 
  at System.Windows.Forms.XplatUI.GetMessage (System.Object queue_id, System.Windows.Forms.MSG& msg, IntPtr hWnd, Int32 wFilterMin, Int32 wFilterMax) <0x40aefd80 + 0x00047> in <filename unknown>:0 
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) <0x40a74b50 + 0x00df3> in <filename unknown>:0 
  at System.Windows.Forms.Form.ShowDialog (IWin32Window owner) <0x40ae2ac0 + 0x0084f> in <filename unknown>:0 
  at System.Windows.Forms.Form.ShowDialog () <0x40ae2aa0 + 0x0000f> in <filename unknown>:0 
  at System.Windows.Forms.MessageBox+MessageBoxForm.RunDialog () <0x40adf240 + 0x00073> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox+MessageBoxForm:RunDialog ()
  at System.Windows.Forms.MessageBox.Show (System.String text) <0x40ade3a0 + 0x00053> in <filename unknown>:0 
  at JXApp.Render.JXRender.StartScene (DXVision.DXObject rootObject) <0x40ab7c20 + 0x00227> in <filename unknown>:0 
  at JXApp.Render.JXRender.StartScene (System.Drawing.Image image) <0x40ab7830 + 0x00137> in <filename unknown>:0 
  at JXApp.Render.JXRender.StartScene () <0x40ab6f50 + 0x0003b> in <filename unknown>:0 
  at JXApp.Windows.JXFMain.FMain_Shown (System.Object sender, System.EventArgs e) <0x40ab6940 + 0x0005b> in <filename unknown>:0 
  at System.Windows.Forms.Form.OnShown (System.EventArgs e) <0x40ab6890 + 0x00065> in <filename unknown>:0 
  at System.Windows.Forms.Form.SetVisibleCore (Boolean value) <0x40a76050 + 0x006aa> in <filename unknown>:0 
  at System.Windows.Forms.Control.set_Visible (Boolean value) <0x40a5d730 + 0x00032> in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:set_Visible (bool)
  at System.Windows.Forms.Application.RunLoop (Boolean Modal, System.Windows.Forms.ApplicationContext context) <0x40a74b50 + 0x00323> in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.ApplicationContext context) <0x40a74ab0 + 0x0003f> in <filename unknown>:0 
  at System.Windows.Forms.Application.Run (System.Windows.Forms.Form mainForm) <0x40a747a0 + 0x00033> in <filename unknown>:0 
  at JXApp.Program.Main () <0x409f0c70 + 0x00533> in <filename unknown>:0 
 INNER EXCEPTION  System.DllNotFoundException: libbass.so
  at (wrapper managed-to-native) Un4seen.Bass.Bass:BASS_SetConfig (Un4seen.Bass.BASSConfig,int)
  at Un4seen.Bass.Bass.b () <0x40adc790 + 0x0002f> in <filename unknown>:0 
  at Un4seen.Bass.Bass..cctor () <0x40adc370 + 0x0011f> in <filename unknown>:0 

Last edited by hagabaka (2015-12-24 03:28:00)

Offline

#2 2015-12-24 03:29:58

hagabaka
Member
Registered: 2010-12-15
Posts: 35

Re: [SOLVED] segmentation fault with Lords of Xulima (uses mono)

OK, I found the solution:
Since I'm on 64-bit, I need to replace game/libbass.so with its 64-bit version, which is included in the "x64" directory from http://www.un4seen.com/download.php?bass24-linux
After that the game runs with Arch packaged mono:

cd game
mono LoX.exe

Offline

Board footer

Powered by FluxBB