Steam game crashing on Ubuntu 20.04

The bundled game is crashing on Steam launch, Ubuntu 20.04:

INFO:CRASH: Successfully wrote Crashdump to file: /home/klayton/.Defold/_crash
ERROR:CRASH: CALL STACK:
ERROR:CRASH: /home/klayton/.local/share/Steam/steamapps/common/Cx6/Cx6.x86_64() [0x5b50e5]
ERROR:CRASH: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7f501d925420]

No other info… The files delivered in the Linux Steam depot are exactly what Defold creates when bundling for Linux in release mode:

Screenshot from 2023-02-16 16-47-37

Can you share /home/klayton/.Defold/_crash ?

It is a binary file, but I had to add the .txt extension to upload to the forums… Should remove the extension before opening.

_crash.txt (50.0 KB)

The Windows version is working as expected.

I bundled the Linux release on a Windows machine… maybe that’s causing an issue? Is it advisable to do this on a Linux host instead?

I bundle on Windows and haven’t had this issue.

So my previous test was on Ubuntu, but I just tested it on Steam Deck with a similar result… only difference is the crash log mentioned libc.so.6 instead of libpthread.so.0.

I also bought @Alex_8BitSkull’s Void Scrappers just to check the Linux files downloaded, and they’re the exact same as mine as far as I can tell (besides the executable name of course.)

I wish there was an easier way to see crash details… the log isn’t giving me much.

2 Likes

I dual-booted Ubuntu on my laptop and set up Defold. Tried to launch the game in the editor, but came across the error noted here: https://github.com/britzl/steamworks-defold/issues/8

/home/klayton/Documents/Defold/projects/game-cx6/build/x86_64-linux/dmengine: error while loading shared libraries: libsdkencryptedappticket.so: cannot open shared object file: No such file or directory

@Mathias_Westerdahl Is there a known way to launch the game in the editor? If I can fix this, maybe that’ll solve the problem with the release build as well.

Regarding the release bundle, I followed the steps in the ticket then used ldd on the binary, it found the library paths:

klayton@klayton-ubuntu:~/Downloads/x86_64-linux/Cx6$ ldd Cx6.x86_64 
	libsdkencryptedappticket.so => /home/klayton/Downloads/x86_64-linux/Cx6/./libsdkencryptedappticket.so (0x00007fe90bac1000)
	libsteam_api.so => /home/klayton/Downloads/x86_64-linux/Cx6/./libsteam_api.so (0x00007fe90ba5a000)

However it still complains when trying to launch.

We have currently no way of setting the correct library paths before loading your executable from the editor, you need to do that yourself at this moment.

One way to debug your app is to run it through a debugger. E.g. lldbor gdb.
That should likely give you a better callstack.

Aha! Found the issue. @britzl I am using one or two new features in the dev-update-to-1.55 branch of the steamworks extension. This is what causes the segmentation fault crash. After swapping to master, the game successfully launches. I suppose this branch hasn’t been used by anybody yet for release?

There’s not a whole lot of games on Steam yet (see here).

Void Scrappers uses steamworks-defold 2.0.0.

That is probably true. The update to SDK 1.55 is not complete yet. The whole Steamworks extension is a mess, or rather the API definitions provided by Steam makes it really hard to auto-generate a Lua API. I’ve been thinking of creating a new version of the extension by hand.

4 Likes

This would be great. I think it is very important to have a solid and up-to-date Steamworks extension since it is so important for release. It really has been horrible and buggy so far.

If you decide to restart, please let me know so I can contribute to whatever foundation you make!

2 Likes