If the game won't start properly

Started by Tynan, July 16, 2014, 04:46:40 PM

Previous topic - Next topic

Tynan

SrSalem your log concludes with

"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."

I'm really kind of worried. I hope there's not some horrible Unity or Mono bug on Linux...
Tynan Sylvester - @TynanSylvester - Tynan's Blog

SrSalem

#196
I could play Rimworld A13 before... and for some reasons launching the game detected 3 screens.

Set current directory to /home/sergio/.local/share/Steam/steamapps/common/RimWorld
Found path: /home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux.x86_64
Mono path[0] = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Managed'
Mono path[1] = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Mono'
Mono config path = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Mono/etc'
displaymanager : xrandr version warning. 1.5
client has 3 screens
displaymanager screen (0)(LVDS1): 1366 x 768
Using libudev for joystick management


By the way thanks for the attention milon and Tynan.

Lukron

I have the same problem on Ubuntu 14.04, with a similar message at the end of the logfile.

terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_S_construct null not valid
Stacktrace:


Native stacktrace:

/home/luke/My Games/RimWorld/RimWorld1234Linux_Data/Mono/x86_64/libmono.so(+0x91772) [0x7f9c39e22772]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10330) [0x7f9c3e001330]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7f9c3c88bc37]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f9c3c88f028]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZN9__gnu_cxx27__verbose_terminate_handlerEv+0x155) [0x7f9c3d196535]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5e6d6) [0x7f9c3d1946d6]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5e703) [0x7f9c3d194703]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x5e922) [0x7f9c3d194922]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZSt19__throw_logic_errorPKc+0x67) [0x7f9c3d1e61c7]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xf02f36]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xef4f0b]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xee7549]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xef37db]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xe7a225]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0xe76fba]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0x696e7a]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0x7b2e78]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0x789c9d]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0x4686cd]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f9c3c876f45]
/home/luke/My Games/RimWorld/RimWorld1234Linux.x86_64() [0x472889]

Debug info from gdb:

Could not attach to process.  If your uid matches the uid of the target
process, check the setting of /proc/sys/kernel/yama/ptrace_scope, or try
again as the root user.  For more details, see /etc/sysctl.d/10-ptrace.conf
ptrace: Operation not permitted.
No threads.

=================================================================
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.
=================================================================

tskx

#198
Quote from: Tynan on July 15, 2016, 04:59:27 PM
SrSalem your log concludes with

"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."

I'm really kind of worried. I hope there's not some horrible Unity or Mono bug on Linux...
i hope it's not something in unity, but there seams to end somewhere in »libmono.so«, but on the other hand KSP(unity 5) works fine .... (always at [0x7f9c39e22772] btw.)

Quote from: SrSalem on July 15, 2016, 05:02:14 PM
I could play Rimworld A13 before... and for some reasons launching the game detected 3 screens.

Set current directory to /home/sergio/.local/share/Steam/steamapps/common/RimWorld
Found path: /home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux.x86_64
Mono path[0] = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Managed'
Mono path[1] = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Mono'
Mono config path = '/home/sergio/.local/share/Steam/steamapps/common/RimWorld/RimWorldLinux_Data/Mono/etc'
displaymanager : xrandr version warning. 1.5
client has 3 screens
displaymanager screen (0)(LVDS1): 1366 x 768
Using libudev for joystick management


By the way thanks for the attention milon and Tynan.
thats fine, mine reports 6 screens but got only 4 monitors. Guess the report ist about the connections you have not the connected ones.

UPDATE: little note since i got a workaround in case the linux version won't start whatsoever. You can play the windows version of rimworld with wine and "winetricks tahoma corefonts" since the fonts used missing otherwise.

barberousse

#199
Hi,
I have the same problem on debian jessie.
The issue seems to come from the libmono.so included with rimworld. That's why we have this issue either with STEAM or SendOwl version.

As it worked without any problem in A13, I wonder if the libmono.so has been updated in any way?

How libmono.so is build? (so we can try to replace the buggy one)

UPDATE
QuoteUPDATE: little note since i got a workaround in case the linux version won't start whatsoever. You can play the windows version of rimworld with wine and "winetricks tahoma corefonts" since the fonts used missing otherwise.
This way, visitors and raiders don't move and finally die at the edge of the map. Maybe it's not related, but this make the game not so fun.


solidus311

I have the steam version and upon launching it just says "running". It's in the taskbar but I see nothing else.

win 7 64 bit
i7 6700k stock clock
980ti
16 gb ram

WooDWakA

Hello there,

I bought RimWorld at the 7 alpha version, if I'm not wrong, and I always had great fun playing it. This time, with the steam version, I have some issues. The game initialize and, after few seconds at the menu screen yet, the game crash and stop work. I'm attaching my output_log.txt at this message. It is a little bit strange, the log says that are some errors at the definitions links.

Maybe this is important: I did have the alpha 13 installed. I just deleted the alpha 13 folder and then I instaled the alpha 14 version from steam.

Anyway, thank you for your time and hope for the problem solve!

[attachment deleted by admin - too old]

ttoocs

#203
Running it on Arch Linux,
Getting the above errors, Game shows up as a black box, and then crashes down.
Included in the link the a strace, (it scans /sys! and closes EVERYTHING IT CAN.)

Oddly, running it with LIBGL_ALWAYS_SOFTWARE=1 works, however is slow.
(I will also include a strace going to the menu and exiting)

https://drive.google.com/folderview?id=0B4wyUKnRBUrTc0cwODY4RWhWc28&usp=sharing
https://drive.google.com/folderview?id=0B85eUDW66FPNWlAtMFE0b0dqYzQ&usp=drive_web

thuban

#204
Quote from: ttoocs on July 18, 2016, 09:10:59 PM
Running it on Arch Linux,
Getting the above errors, Game shows up as a black box, and then crashes down.
Included in the link the a strace, (it scans /sys! and closes EVERYTHING IT CAN.)

Oddly, running it with LIBGL_ALWAYS_SOFTWARE=1 works, however is slow.
(I will also include a strace going to the menu and exiting)

https://drive.google.com/folderview?id=0B4wyUKnRBUrTc0cwODY4RWhWc28&usp=sharing
Oh boy, this is working finally!

For others, here is the start_Rimworld.sh file :

#!/bin/bash
#Launcher for the Linux version of RimWorld

# cd into the directory containing this script
SCRIPT=$(readlink -f "$0")
DIR=$(dirname "$SCRIPT")
cd "$DIR"

#Getting game executable name.
GAMEFILE=`ls | egrep x86$`

#Checking if OS is 32 or 64 bits and adjusting the game executable name accordingly.
OSVERSION=`uname -m`
if [[ $OSVERSION == "x86_64" ]]
    then GAMEFILE=${GAMEFILE}_64
fi

#Puts the game executable as... executable if not the case.
if [ ! -x $GAMEFILE ]
    then chmod +x $GAMEFILE
fi

#If this is a dev version, we want to activate logs.
#if [[ $GAMEFILE == *Dev* ]]
#    then LOG="-logfile /tmp/rimworld_log"
#    else LOG=""
#fi

#We always want to activate logs
LOG="-logfile /tmp/rimworld_log"

#Locale resetting (important for Ubuntu players who are not native speakers of English) and launching the game.
LC_ALL=C LIBGL_ALWAYS_SOFTWARE=1 ./$GAMEFILE $LOG


EDIT : well, it's very slow indeed, almost unplayable. But it works...

ttoocs

#205
Oh, wow, my post made it. (The site seemed to have gone down as I was trying to do it)
I made a post on the reddit aswell: https://www.reddit.com/r/RimWorld/comments/4til60/black_screen_linux_issuecause_the_website_is_down/

On this google drive link, I do have an strace of both when it works/doesn't, and the GDB-output of when it crashes (The built-in script to get it doesn't seem to work) And a screenshot of comparing where the game crashes in the strace's.
https://drive.google.com/folderview?id=0B85eUDW66FPNWlAtMFE0b0dqYzQ&usp=drive_web
If there is anymore debugging I can do, feel free to ask away.

On the note of LIBGL_ALWAYS_SOFTWARE=1, If you run it on a lower resolution it does run faster.

ttoocs

Found, a working (for me), accelerated (not slow), fix.
Run the game with -force-opengl (A unity argument)
Here is a new start-script implementing it:


#!/bin/bash
#Launcher for the Linux version of RimWorld

# cd into the directory containing this script
SCRIPT=$(readlink -f "$0")
DIR=$(dirname "$SCRIPT")
cd "$DIR"

#Getting game executable name.
GAMEFILE=`ls | egrep x86$`

#Checking if OS is 32 or 64 bits and adjusting the game executable name accordingly.
OSVERSION=`uname -m`
if [[ $OSVERSION == "x86_64" ]]
    then GAMEFILE=${GAMEFILE}_64
fi

#Puts the game executable as... executable if not the case.
if [ ! -x $GAMEFILE ]
    then chmod +x $GAMEFILE
fi

#If this is a dev version, we want to activate logs.
#if [[ $GAMEFILE == *Dev* ]]
#    then LOG="-logfile /tmp/rimworld_log"
#    else LOG=""
#fi

#We always want to activate logs
LOG="-logfile /tmp/rimworld_log"

#Locale resetting (important for Ubuntu players who are not native speakers of English) and launching the game.
LC_ALL=C ./$GAMEFILE $LOG -force-opengl


Note: I was playing with LIBGL_ALWAYS_SOFTWARE=1
and MESA_GL_VERSION_OVERRIDE=3.1 -- Crashes.
MESA_GL_VERSION_OVERRIDE=3.2 -- Works fine.
And reading unity's site: https://docs.unity3d.com/Manual/OpenGLCoreDetails.html
It seems it requires openGL 3.2... (So only older hardware would be effected)
However, for some reason, "-force-opengl: To use the legacy OpenGL back-end" Works! So Horrah! I can play the game!
Sorry for the 3 posts in the thread, almost in a row, but as this one works well, and contains new info, I didn't want anyone to miss it.

thuban

May I say "I love you"?
Thanks a lot!!!  :)

EDIT : stupid question : how to add this option in steam?

ttoocs

https://support.steampowered.com/kb_article.php?ref=1040-JWMT-2947
Tl;dr right click it, add lunch options, add options. (Given, if it runs that startup script.. you'll have to modify the startup script)
I cannot verify that though, steam doesn't run for me.

MechanoidHater

The game just started with a black screen. Removal of the config/save folder didn't help. Also there is no log files so I have no idea whats the deal with the game. I'm on the alpha 14 C