Rust linux distro not starting after update

Linux mint 16…nvidia geforce 750 gtx ti

What do you have in /home/.steam/steam/steamapps/common/Rust/rust_Data/x86_64 directory?

rust_Data doesn’t have that dir. Folders include Managed, Mono, Plugins, Resources, and Streaming Assests the rest look like resouce and asset files.

The x86_64 is in Plugins - /home/.steam/steam/steamapps/common/Rust/rust_Data/Plugins/x86_64

The problem was that the libraries weren’t in that directory,they were in Plugins and the app only searched the x86_64 directory. The fix was to symlink or copy the library files there.

However, as of today there’s a new problem where the application is segfaulting due to trying to free up memory it can’t before it even gets to the point of asking you what resolution you want to play at. This bug was introduced in the last 24 hours, several other people have reported it as well.

I’m trying to download Rust on another linux box to validate it happens there.

==snip==
edit: Looks like I got ninja’ed by 20oz. Maybe because devel-debug gets to the resolution screen, using that version and symlinking the files will work, trying that now…nope :confused:
Output of Player.log after trying the normal branch and having the symlinked files there shows this.


*** Error in `/steam_games/SteamApps/common/Rust/rust': free(): invalid pointer: 0x00007f36387ff3c0 ***
Preloaded type GtkListStore
Preloaded type GtkWindow
Preloaded type GtkVBox
Preloaded type GtkImage
Preloaded type GtkNotebook
Preloaded type GtkHBox
Preloaded type GtkFrame
Preloaded type GtkAlignment
Preloaded type GtkTreeView
Preloaded type GtkLabel
Preloaded type GtkCheckButton
Preloaded type GtkScrolledWindow
Preloaded type GtkComboBox
Couldn't find OnScreenSelectorQuit in main module; checking child
Couldn't find OnScreenSelectorOK in main module; checking child
Couldn't find OnScreenSelectorQuit in main module; checking child
Couldn't find OnInputListRowActivated in main module; checking child
Stacktrace:


Native stacktrace:

	/steam_games/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so(+0x915d2) [0x7f363356f5d2]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f3639d74340]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f3638836bb9]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f3638839fc8]
	/lib/x86_64-linux-gnu/libc.so.6(+0x73e14) [0x7f3638873e14]
	/lib/x86_64-linux-gnu/libc.so.6(+0x800ee) [0x7f36388800ee]
	/steam_games/SteamApps/common/Rust/rust() [0x4572c4]
	/steam_games/SteamApps/common/Rust/rust() [0x1616f7f]
	/steam_games/SteamApps/common/Rust/rust() [0xd48204]
	/steam_games/SteamApps/common/Rust/rust_Data/Plugins/x86_64/ScreenSelector.so(LoadScreenSelectorWindow+0x569) [0x7f36316363a9]
	/steam_games/SteamApps/common/Rust/rust() [0xd498c7]
	/steam_games/SteamApps/common/Rust/rust() [0xd12206]
	/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f3638821ec5]
	/steam_games/SteamApps/common/Rust/rust() [0x456365]

Debug info from gdb:

ERROR: ld.so: object '/home/nail/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
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.
=================================================================


Which curiously enough, is a bug mentioned in another thread ( http://forum.facepunch.com/showthread.php?t=1438271&page=2 ). At the time that thread was posted, I didn’t have this issue, but it seems now I do.

At some point, maybe the patch that broke everything, it appears they tried to change the library bug. The symlink hack i had in place for Plugins/x86_64 is gone and the libraries are simply in that directory.

Possibly a red herring, but the only thing I caught is there’s an a.out file there that has a failed link

x86_64 ldd a.out
linux-vdso.so.1 => (0x00007fff10ea0000)
libCoherentUI_Native.so => not found

However, I did add that directory to my library path so the link for that would work and the application still won’t launch. So that might just be a wild goose chase.

Edit: I did try and install rust on another Linux box, with the same results.

Umm… Versions are Mint Linux 17. Both are 64bit platforms, one AMD hardware and the other Intel.

I am seeing similar results:



Game removed: AppID 252490 "Rust", ProcID 1733 
Game update: AppID 252490 "Rust", ProcID 1784, IP 0.0.0.0:0
ERROR: ld.so: object '/home/john5788/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/john5788/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Found path: /home/john5788/.local/share/Steam/SteamApps/common/rust/rust
Mono path[0] = '/home/john5788/.local/share/Steam/SteamApps/common/rust/rust_Data/Managed'
Mono path[1] = '/home/john5788/.local/share/Steam/SteamApps/common/rust/rust_Data/Mono'
Mono config path = '/home/john5788/.local/share/Steam/SteamApps/common/rust/rust_Data/Mono/etc'
displaymanager : xrandr version warning. 1.4
client has 4 screens
displaymanager screen (0)(DVI-I-1): 1920 x 1080
displaymanager screen (1)(DVI-D-0): 1920 x 1080
Using libudev for joystick management


Importing game controller configs
*** Error in `/home/john5788/.local/share/Steam/SteamApps/common/rust/rust': free(): invalid pointer: 0x00007f10e9ced3c0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x79013)[0x7f10e9d67013]
/lib64/libc.so.6(+0x7eba6)[0x7f10e9d6cba6]
/lib64/libc.so.6(+0x7fd72)[0x7f10e9d6dd72]
/home/john5788/.local/share/Steam/SteamApps/common/rust/rust[0x4572c4]
/home/john5788/.local/share/Steam/SteamApps/common/rust/rust[0x1616f7f]
...

I don’t think there’s anything we can do for this until a fix comes. Looks like I’m on windows till then :confused:

This is the only game I would make that sacrifice for.

I had the same kind of problem with broken symlinks to libraries a couple of months ago. Fixing the symlinks solved the problem but not this time. This time it’s not just the target of the symlinks that are missing. It looks like the forgot to put the libs in their release …
I guess there is nothing we can do but wait for them to fix it. Maybe use older versions of those libs but that’s asking for problems.

It’s not that, there’s a memory issue. Look at the logs that mention invalid pointer.

This is really hard for me to debug. Did it make an output.log somewhere? Can you paste the contents?

Hi Garry,

I’m at work and don’t have access to my pc at the moment. Here’s a brief recap of what I recall from digging into this.

  1. There was an a.out file in Plugins/x86_64 and when I did an ldd on that file I found it was failing to find the Native_Coherent library (I forget exact file name, it’s there in the same directory).

I updated my ldconfig to include that directory in my library path, confirmed the link was working, but the game still did not start. Same error.

  1. I recall for some reason I believe something was linking to the steam ubuntu32 directory, but off the top of my head I don’t remember why I was down that path. I did try to move that directory and symlink the ubuntu64 directory to it and start the game, that failed as well.

The problem, at least in my case, was easy to reproduce, both attempts on mint 17 64bit regardless of hardware had the same issue, game installed via Steam.

I don’t recall seeing any log files, however I’m not super familiar with the folder structure so I may have missed it. Is there a specific places those files get dumped?

Hi Garry,

here is what is happening in the console when I click on “play rust” :



Generating new string page texture 185: 256x256, total string texture memory is 393.22 KB
Game update: AppID 252490 "Rust", ProcID 2832, IP 0.0.0.0:0
Installing breakpad exception handler for appid(steam)/version(1420861509)
ERROR: ld.so: object '/home/g/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/g/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Found path: /home/g/.local/share/Steam/SteamApps/common/Rust/rust
Mono path[0] = '/home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Managed'
Mono path[1] = '/home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono'
Mono config path = '/home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/etc'
displaymanager : xrandr version warning. 1.4
client has 4 screens
displaymanager screen (0)(DVI-I-1): 1680 x 1050
Using libudev for joystick management


Importing game controller configs
*** Error in `/home/g/.local/share/Steam/SteamApps/common/Rust/rust': free(): invalid pointer: 0x00007feab30793c0 ***
Aborted
Installing breakpad exception handler for appid(steam)/version(1420861509)
Game removed: AppID 252490 "Rust", ProcID 2832


Unfortunately there is no output.log.

PS: thank you for all the good work :wink:

[editline]15th January 2015[/editline]

I am not sure but maybe this also helps.



g@g:~/.local/share/Steam/SteamApps/common/Rust$ ldd rust
	linux-vdso.so.1 (0x00007fffa41fe000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd2aaaff000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd2aa8e2000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd2aa6d9000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fd2aa38d000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fd2aa04a000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fd2a9e3e000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fd2a9c34000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd2a9933000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd2a971c000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd2a9373000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fd2aad29000)
	libnvidia-tls.so.340.65 => /usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.340.65 (0x00007fd2a9170000)
	libnvidia-glcore.so.340.65 => /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.340.65 (0x00007fd2a655b000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fd2a6349000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fd2a6127000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fd2a5f1c000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fd2a5d16000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fd2a5b11000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fd2a590c000)
g@g:~/.local/share/Steam/SteamApps/common/Rust$ file rust
rust: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=bf0ba115c11066e243a67c770d8cc5d7b289744e, stripped
g@g:~/.local/share/Steam/SteamApps/common/Rust$ uname -a
Linux g 3.14-2-amd64 #1 SMP Debian 3.14.15-2 (2014-08-09) x86_64 GNU/Linux
g@g:~/.local/share/Steam/SteamApps/common/Rust$ cat /etc/debian_version 
8.0


When I replace /home/g/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so by /home/g/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
is only get that :



*** Error in `/home/g/.local/share/Steam/SteamApps/common/Rust/rust': free(): invalid pointer: 0x00007f14acd793c0 ***


What if you add:

to the launch options in your steam client?

Oh, the morning (EST) of 1/13/2015 is when I was first unable to log in, maybe that will help narrow down the change?

I did notice that the hack necessary for creating the symlink to the libraries in x86_64 was gone that morning as well. Could this problem have been a result of the changes made to address that? Maybe a 32 bit compile snuck in there?

As someone else said, if you run with the full debug version the pop up for resolution does pop up and it’s after that you get the free memory crash attempt. Which some basic googling (sorry I’m an ops guy, not a real programmer) the error is generally related to an attempt to free a memory block you’re not allowed to free. Maybe a recent optimization?

Looks like it’s a unity bug - sorry guys :frowning:

If there isn’t a fix forthcoming from Unity any time soon, I’d suggest skipping the select resolution screen and just starting it windowed so people can Alt+F11 fullscreen into whatever resolution they have. Not ideal, but better than nothing.

And thanks for keeping us in the know.

Too bad there is no reversed version:

ugh, is it ok if I ask how quickly you update to new unity releases right now? I’m guessing if you’re having a major content update going with radtowns, maybe not so fast for a bit?



g@g:~/.local/share/Steam/SteamApps/common/Rust$ ./rust -logFile "output.log"
Set current directory to /home/g/.local/share/Steam/SteamApps/common/Rust
Found path: /home/g/.local/share/Steam/SteamApps/common/Rust/rust
*** Error in `./rust': free(): invalid pointer: 0x00007f5da8bd4660 ***
Aborted
g@g:~/.local/share/Steam/SteamApps/common/Rust$ cat output.log 
Preloaded type GtkListStore
Preloaded type GtkWindow
Preloaded type GtkVBox
Preloaded type GtkImage
Preloaded type GtkNotebook
Preloaded type GtkHBox
Preloaded type GtkFrame
Preloaded type GtkAlignment
Preloaded type GtkTreeView
Preloaded type GtkLabel
Preloaded type GtkCheckButton
Preloaded type GtkScrolledWindow
Preloaded type GtkComboBox
Stacktrace:


Native stacktrace:

	/home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so(+0x915d2) [0x7f5daae085d2]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0xf8d0) [0x7f5db04648d0]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7f5daef1e107]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f5daef1f4e8]
	/lib/x86_64-linux-gnu/libc.so.6(+0x73044) [0x7f5daef5c044]
	/lib/x86_64-linux-gnu/libc.so.6(+0x7881e) [0x7f5daef6181e]
	/lib/x86_64-linux-gnu/libc.so.6(+0x79526) [0x7f5daef62526]
	./rust() [0x4572c4]
	./rust() [0x1616f7f]
	./rust() [0xd48204]
	/home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Plugins/x86_64/ScreenSelector.so(LoadScreenSelectorWindow+0x569) [0x7f5da97873a9]
	./rust() [0xd498c7]
	./rust() [0xd12206]
	/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f5daef0ab45]
	./rust() [0x456365]

Debug info from gdb:

81	../sysdeps/unix/syscall-template.S: No such file or directory.
[New LWP 4338]
[New LWP 4337]
[New LWP 4336]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f5db0463add in read () at ../sysdeps/unix/syscall-template.S:81
  Id   Target Id         Frame 
  4    Thread 0x7f5daa654700 (LWP 4336) "rust" 0x00007f5db046418d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
  3    Thread 0x7f5daa5c3700 (LWP 4337) "rust" sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
  2    Thread 0x7f5daa3c2700 (LWP 4338) "rust" sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
* 1    Thread 0x7f5db0a66740 (LWP 4335) "rust" 0x00007f5db0463add in read () at ../sysdeps/unix/syscall-template.S:81

Thread 4 (Thread 0x7f5daa654700 (LWP 4336)):
#0  0x00007f5db046418d in nanosleep () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f5daaee7095 in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#2  0x00007f5db045d0a4 in start_thread (arg=0x7f5daa654700) at pthread_create.c:309
#3  0x00007f5daefceccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f5daa5c3700 (LWP 4337)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x00007f5daaf024eb in mono_sem_wait () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#2  0x00007f5daae6d3db in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#3  0x00007f5daaed499b in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#4  0x00007f5daaefa3ff in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#5  0x00007f5daaf1af11 in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#6  0x00007f5db045d0a4 in start_thread (arg=0x7f5daa5c3700) at pthread_create.c:309
#7  0x00007f5daefceccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f5daa3c2700 (LWP 4338)):
#0  sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:85
#1  0x000000000085c9b8 in ?? ()
#2  0x000000000085d1a9 in ?? ()
#3  0x0000000000825213 in ?? ()
#4  0x00007f5db045d0a4 in start_thread (arg=0x7f5daa3c2700) at pthread_create.c:309
#5  0x00007f5daefceccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f5db0a66740 (LWP 4335)):
#0  0x00007f5db0463add in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f5daae0871d in ?? () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Mono/x86_64/libmono.so
#2  <signal handler called>
#3  0x00007f5daef1e107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#4  0x00007f5daef1f4e8 in __GI_abort () at abort.c:89
#5  0x00007f5daef5c044 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f5daf04ec60 "*** Error in `%s': %s: 0x%s ***
") at ../sysdeps/posix/libc_fatal.c:175
#6  0x00007f5daef6181e in malloc_printerr (action=1, str=0x7f5daf04ad1e "free(): invalid pointer", ptr=<optimized out>) at malloc.c:4996
#7  0x00007f5daef62526 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840
#8  0x00000000004572c4 in ?? ()
#9  0x0000000001616f7f in ?? ()
#10 0x0000000000d48204 in ?? ()
#11 0x00007f5da97873a9 in LoadScreenSelectorWindow () from /home/g/.local/share/Steam/SteamApps/common/Rust/rust_Data/Plugins/x86_64/ScreenSelector.so
#12 0x0000000000d498c7 in ?? ()
#13 0x0000000000d12206 in ?? ()
#14 0x00007f5daef0ab45 in __libc_start_main (main=0xd117f0, argc=3, argv=0x7fff4e724a18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff4e724a08) at libc-start.c:287
#15 0x0000000000456365 in ?? ()
#16 0x00007fff4e724a08 in ?? ()
#17 0x000000000000001c in ?? ()
#18 0x0000000000000003 in ?? ()
#19 0x00007fff4e72561e in ?? ()
#20 0x00007fff4e725625 in ?? ()
#21 0x00007fff4e72562e in ?? ()
#22 0x0000000000000000 in ?? ()

=================================================================
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 hope the people behind unity will fix that soon.