Jump to content

Linux crash in native libraries when joining world with Undead Legacy mod


copygirl

Recommended Posts

I've been very unsuccessfully trying to run the game with Undead Legacy (EAC friendly version) on my Arch desktop, for the last 5 hours or so. Whenever I generate or load a world, it crashes. Most of the time on the loading screen, sometimes a second after the game has started rendering the world.

 

Here's my latest log file: output_log__2018-01-17__02-10-26.txt

 

Excerpts: (for indexing / search engines)

 

Native stacktrace:

   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x91772) [0x7fe41b6ec772]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x348a5) [0x7fe41b68f8a5]
   /usr/lib/libpthread.so.0(+0x11db0) [0x7fe41fae9db0]

[...]

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

 

System information:

 

OS: Arch Linux

CPU: AMD Ryzen7 1700X

GPU: Radeon R9 270X (mesa drivers)

Memory: 16GB

 

I've tried the 32 and 64 bit versions, tried with EAC disabled, installed steam-native-runtime package which includes a ton of libraries, run Steam natively, and probably a hundred different things along the way, including trying to figure out what native library or call from Mono might've caused the error. If output from GDB would be of any use (I used it the first time, today!), I could provide that, too. The same issue has been present throughout - with the exception of other errors popping up as I was trying things unsuccessfully, such as running the 32bit version with missing libraries.

 

I have installed the Valmod Pack (Overhaul version) too, and it generated and launched me into a world properly, so it appears to be more specific issue to something this mod does.

 

Since Undead Legacy (without the 80 slot inventory size version that modifies the game .dll) only comes with additions and changes to the content files, I would assume these should not crash the game in such a way.

 

I'd be happy to provide more information and testing as required. In fact, tomorrow I might have a go at finding out which specific change or addition to the content files are causing the issue.

 

Thank you!

-copygirl

Link to comment
Share on other sites

Since you are running mods, this is not a bug report.

 

Going to move to the mod section.

 

I doubt the game should crash in this way if only the asset files are modified. It could be an issue with the game, Unity3D or the shipped Mono library. If the thread being moved means the developers are less likely to look at it, please reconsider.

Link to comment
Share on other sites

I doubt the game should crash in this way if only the asset files are modified. It could be an issue with the game, Unity3D or the shipped Mono library. If the thread being moved means the developers are less likely to look at it, please reconsider.

 

Can you post your full output log?

 

If the game normally runs under Linux for you, but fails when you are playing a mod, then it's likely a mod issue.

Link to comment
Share on other sites

Can you post your full output log?

 

I believe I linked the output log you're talking about in the first post.

 

If the game normally runs under Linux for you, but fails when you are playing a mod, then it's likely a mod issue.

 

Sure, you could argue that it is a mod issue as it only happens when a mod is present. But this isn't your typical IndexOutOfRangeException game crash from something being done incorrectly, it appears to be problem deeper down with native libraries, that just happens to surface when trying to play with said mod.

 

Do you expect a modder that is juggling .xml files and just adding content to debug an engine crash on Linux? Most people wouldn't even know where to start with that, and I've been struggling for 5 hours myself trying to fix it or narrow it down. Thankfully I appeared to have at least been able to do the latter to some degree.

Link to comment
Share on other sites

I believe I linked the output log you're talking about in the first post.

 

 

 

Sure, you could argue that it is a mod issue as it only happens when a mod is present. But this isn't your typical IndexOutOfRangeException game crash from something being done incorrectly, it appears to be problem deeper down with native libraries, that just happens to surface when trying to play with said mod.

 

Do you expect a modder that is juggling .xml files and just adding content to debug an engine crash on Linux? Most people wouldn't even know where to start with that, and I've been struggling for 5 hours myself trying to fix it or narrow it down. Thankfully I appeared to have at least been able to do the latter to some degree.

 

In your error log,

 

ERROR: ld.so: object '/home/copygirl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

 

Do you, or Steam, set the LD_PRELOAD somewhere? It looks like it's trying to load ubuntu12_32 version of the overlay, which looks 32-bit, vs your 64-bit.

Link to comment
Share on other sites

In your error log,

 

ERROR: ld.so: object '/home/copygirl/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

 

Do you, or Steam, set the LD_PRELOAD somewhere? It looks like it's trying to load ubuntu12_32 version of the overlay, which looks 32-bit, vs your 64-bit.

 

If you google this, there's numerous sources saying this "error" message can be ignored and isn't the source of the crash - hence the "ignored" at the end of it. Indeed I've launched the game and got the same crash without this message being printed before. Steam overlay is disabled in my Steam settings.

Link to comment
Share on other sites

You can give this a try:

 

sed -i 's@\\@/@g' styles.xml

 

which is in the XUI folder of Data/Config. Could be the file references in the UI.

 

We narrowed down the issue in discord to the User Interface. The game world loaded in just fine with just XMLs and Mods folder without XUi folder and xui.xml changes. So it's definitely a UI related bug, aka game somehow doesn't want to handle my UI overhaul

 

Apparently it indeed was because of this syntax, that caused the error:

<style_entry name="texture" value="@file:Mods\UndeadLegacy\Textures\UI\Windows\CenterPanel\title.png"/>

 

Changing all entries to look like this:

<style_entry name="texture" value="@file:Mods/UndeadLegacy/Textures/UI/Windows/CenterPanel/title.png"/>

 

Solved the crash issue. So next update of Undead Legacy will feature the updated syntax in styles.xml to support Linux. I tested and windows accepts this kind of syntax too.

Link to comment
Share on other sites

You can give this a try:

 

sed -i 's@\\@/@g' styles.xml

 

which is in the XUI folder of Data/Config. Could be the file references in the UI.

We narrowed down the issue in discord to the User Interface. The game world loaded in just fine with just XMLs and Mods folder without XUi folder and xui.xml changes. So it's definitely a UI related bug, aka game somehow doesn't want to handle my UI overhaul

 

Thank you both so much! Turns out the issue was indeed due to the file references in Data/Config/XUi/styles.xml! Replacing all backslashes (\) with regular ones (/) has made it possible to play the game without it immediately crashing. I would still consider this a game bug, as these file references should be platform-agnostic. Valmod also uses backslashes in their custom UI, but it doesn't crash. I feel like this should be looked into, still.

 

For now, I'll enjoy some Undead Legacy! ♥ I will continue monitoring the thread for responses in case I'm needed.

Link to comment
Share on other sites

I think it depends on which textures you are referencing. Also, Valmod's "mac" version is meant to have references to remotely hosted files to get around the pathing:

 

<style_entry name="texture" value="@file:Mods\SMX\UITextures\compassbg.png" /> <!-- Online Mac: @http://i.imgur.com/t3XdV7o.png -->

 

 

I did think that the slashes were fixed across platforms, but I guess I was incorrect on that assumption.

 

 

For others that find this thread, the command I posted does this:

 

Sed -i : update the file in-place

s : Switch the first parameter with the second

@\\ : Find the \ as first parameter. Have to use two because \ is an escape character

@/ : with / as the second parameter

@g : globally, rather than just first time

styles.xml : in this file.

 

The @ signs separate the parameters, rather than the tradition /, since it'd look weird :)

 

Link to comment
Share on other sites

I don't know what happened, but it appears that I'm back to where I started.

Absolutely NO idea why it worked briefly, but now it's back to crashing:

 

Full log: output_log__2018-01-17__20-57-10.txt

 

Native stacktrace:

   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x91772) [0x7ff4a276d772]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x348a5) [0x7ff4a27108a5]
   /usr/lib/libpthread.so.0(+0x11db0) [0x7ff4a63a3db0]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d49b]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d5a6]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d618]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61ad4e]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64(_Znwm+0x44) [0x61b264]
   /usr/lib/libstdc++.so.6(_ZNSs4_Rep9_S_createEmmRKSaIcE+0x5a) [0x7ff4a71129fa]
   /usr/lib/libstdc++.so.6(_ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag+0x26) [0x7ff4a7114696]
   /usr/lib/libstdc++.so.6(_ZNSsC2EPKcRKSaIcE+0x3e) [0x7ff4a7114ade]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x8e0ded]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x8e12e4]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d3a1]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d5a6]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d618]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61ad4e]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61b359]
   /data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x8aa259]
   /usr/lib/libpthread.so.0(+0x708c) [0x7ff4a639908c]
   /usr/lib/libc.so.6(clone+0x3f) [0x7ff4a519de1f]

Link to comment
Share on other sites

This is a unique command line parameter:

 

/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64 LD_LIBRARY_PATH=/usr/lib:/data/games/Steam/steamapps/common/7\ Days\ To\ Die/:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib:/usr/lib/ffmpeg2.8:/usr/lib/libfakeroot:/usr/lib32:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu:/home/copygirl/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib: -noeac -logfile 7DaysToDie_Data/output_log__2018-01-17__20-57-10.txt

 

Do you have $LD_LIBRARY_PATH in your command to start?

Link to comment
Share on other sites

Supquake mentioned that if you loaded without his XUI folder, it worked as expected? Is this still true?

 

Yes. If I keep the XUi folder and .xml file Vanilla, the game loads.

 


 

For the heck of it I just uploaded all the textures to my personal webserver and used @https instead of @file. Still no luck. At this point I'm less sure whether it is the asset files or something else. The errors aren't helpful at all!

 

Full log: output_log__2018-01-18__02-04-48.txt

 

Native stacktrace:

/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x91772) [0x7f6dc1b00772]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie_Data/Mono/x86_64/libmono.so(+0x348e4) [0x7f6dc1aa38e4]
/usr/lib/libpthread.so.0(+0x11db0) [0x7f6dc5efddb0]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d23e]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d5a6]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61d618]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x61ad4e]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64(_Znwm+0x44) [0x61b264]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep9_S_createEmmRKSaIcE+0x5a) [0x7f6dc504f9fa]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep8_M_cloneERKSaIcEm+0x1c) [0x7f6dc50508bc]
/usr/lib/libstdc++.so.6(_ZNSs7reserveEm+0x45) [0x7f6dc5050975]
/usr/lib/libstdc++.so.6(_ZNSs6appendEPKcm+0x5b) [0x7f6dc5050c3b]
/data/games/Steam/steamapps/common/7 Days To Die/7DaysToDie.x86_64() [0x8e0ea1]
[...]

Link to comment
Share on other sites

Trying to reproduce the issue with just a subset of the changes from the mod, I ran across this error message in one of the logs:

 

Using memoryadresses from more that 16GB of memory

 

This actually rang a bell, as when I debugged the game with gdb before, I saw this in the ... trace? As I said I'm new to this. So very likely, I'm just a victim of the same issue as, for example, vitamin and TOR. So, as sphereii pointed out in the other thread, I might just have to wait the devs to update to a newer Unity version.

Link to comment
Share on other sites

One more thing I tried is replacing the libmono.so file from another Unity project, with no luck.

 

So I gave up running the game natively, and with the release of Wine 3.0, I used that instead. And the game runs and loads fine, even with mods, at least so far.

 


 

Also, since I think it's related, I had messaged SylenThunder, who moved the thread from the Bug Reports forum, and they said it's okay to share this conversation we had in PMs:

 

 

Hello SylenThunder!

 

Since you're the moderator who moved my Linux crash thread into the Game Mods section, I hope it's okay to contact you via PM.

 

As seen in the most recent post, I traced back the issue to what appears to be a bug with Unity3D, which has been reported before, including in other games. Would you reconsider, and possibly move the thread back for visibility?

 

If you have a more direct line to the developers, and they don't frequent the Bug Reports forum that much, of course I'd also appreciate if you could let them know. I'd be happy to provide further assistance with this issue, if needed.

 

Thank you!


Unfortunately, since it's not a vanilla game, it would still not be considered a bug. This is because the issue is in the mod code, and not the original code.

I will bring it to testers attention though, so they can see if there is anything in the vanilla client, and keep an eye for future changes.


Unfortunately, since it's not a vanilla game, it would still not be considered a bug. This is because the issue is in the mod code, and not the original code.

 

Modding is still a big part of the game, and if a mod runs fine on Windows, but crashes on Linux, it can't really be the mods' fault anymore. Shifting blame to a party that can't realistically resolve the issue because there's odd things happening internally in the engine, is going to leave all parties involved dissatisfied. Maybe with the exception of the developers who don't have to look at this as a valid issue and thus don't have to resolve it. Something like "this issue has been recognized and we will address it in the next major / minor update" would be nice.

 

I will bring it to testers attention though, so they can see if there is anything in the vanilla client, and keep an eye for future changes.

 

I suppose the engine isn't strained enough that the issue occurs in the Vanilla client. I could play just fine for longer than an hour without this mod. I'm unsure myself which combination of changes cause the problem, only that it is quite strange.

 

Hopefully we can at some point run 7 Days to Die natively without too much of a problem. Go Linux master race! <3

Link to comment
Share on other sites

  • 1 month later...

well i've got the same issue and even worse. with the mod the game crashes within a minute after loading a game. without it crashes often and very random.

 

system info

Distributor ID:	LinuxMint
Description:	Linux Mint 18.1 Serena
Release:	18.1
Codename:	serena
bus                A780LB
memory         64KiB BIOS
processor      AMD Phenom(tm) 9650 Quad-Core Processor
memory         512KiB L1 Cache
memory         2MiB L2 Cache
memory         2MiB L3 Cache
memory         8GiB Systemmemory
memory         4GiB DIMM DDR2 Synchron 400 MHz (2,5 ns)
memory         4GiB DIMM DDR2 Synchron 400 MHz (2,5 ns)
memory         Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Cr
memory         Project-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>POT-Cr
bridge            RS780 Host Bridge
bridge            RS780 PCI to PCI bridge (ext gfx port 0)
display          GK107 [GeForce GT 640]
multimedia    GK107 HDMI Audio Controller
bridge          RS780/RS880 PCI to PCI bridge (PCIE port 3)
network        RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller

Link to comment
Share on other sites

  • 3 weeks later...

Well I got it to work by commenting out all of the file:Mods/UndeadLegacy/Textures/UI/Slots textures in Data/Config/XUi/styles.xml file. Without this game uses LOTS more memory and immediately crashes. No idea why this isn't an issue on windows. Might be difference in the engine itself.

 

Still looks like UI uses lots more RAM then vanilla and it doesn't run for very long before dying due to 16 GB limit.

Link to comment
Share on other sites

  • 1 month later...

Same problem here, I use Solus OS (have good compatibility tool: Steam Linux Integration. Sure no problem with library compatibility, and sure no problem with many mods. Only problem with Undead Legacy, why, yes, the UI and the momory out of 16Gb; maybe we can ask to the autor to make a little patch ith this informations. I have crash many times at loading map with 32bag, but many times I can start with 80bag (after 5-10min crash, i have 8Gb RAM. Sorry for bad english.

Link to comment
Share on other sites

  • 2 months later...

Same issue.

 

Ubuntu 16.04lts and 18.04lts. Intel i5 7th gen, 16gb ram, Radeon X280.

7d2d A16 thru Mod Launcher 4 Linux, mod: Undead Legacy 1.3.0.3.

Output log (available for 60 days only) : https://framadrop.org/r/f2bfkD20mT#HjUtNx8S3owoJ4OfZ/FNV5ovNH0MiyhvkdvgyYGY3N8=

 

As far as I could investigate that issue, the 16gb limit is Unity3d related and has been fixed since version 5.4.1 ( https://unity3d.com/fr/unity/whats-new/unity-5.4.1 - see 5th improvement in the list).

 

However, I have absolutely no knowledge that makes my inquiry valuable.

 

I'm merely experimenting the same issue (textures failed to load, even if properly addressed according to this thread - backslashes are slashes in styles.xml - and 16gb limitation crashes) and looking for a way to make the game playable.

 

If commenting all: file:Mods/UndeadLegacy/Textures/UI/Slots, in Data/Config/XUI/styles.xml is a good workaround. I'll give it a try, because it's unplayable as is.

 

Regards,

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...