Open SetOfAllSets opened 1 year ago
Hello @SetOfAllSets, src/tcmalloc.cc:278] Attempt to free invalid pointer 0xa7bb900
reads like #5043. Can you check if your build of mesa is built against llvm 16?
After a few googles I can't find how I would check that, my system also has llvm 15 and 16 installed so it's possible it's either
I've rebuilt the package and checked what version of LLVM it build against, it was 16
Thanks, it's likely that you're seeing the same issue that's being tracked in #5043 and rebuilding mesa against llvm 15 or using the NVIDIA proprietary driver should workaround it.
EDIT: I don't know how I would compile mesa against a specific version of llvm and I cannot use the official nvidia drivers due to them not being supported by the sway compositor
alright, I will try that, first however I should mention that upon installing all the missing libraries for engine.so and vguimatsurface.so I need to copy the gameinfo file from tf/ to hl2/ and the entire scripts folder from tf/ to hl2/, at which point hl2.sh says
Loaded program cache file "glbaseshaders.cfg", total keyvalues: 266, total successfully linked: 227
Could not load program cache file glshaders.cfg
Could not find user GL shader cache file
Precache: Took 144 ms, Vertex 80, Pixel 171
server.so loaded for "Team Fortress"
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
08/05 12:46:54 Init: Installing breakpad exception handler for appid(440)/version(8227024)/tid(12169)
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/admin/.local/share/Steam/linux32/steamclient.so' OK.
[S_API FAIL] SteamAPI_Init() failed; create pipe failed.[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/conf.c:5181:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/conf.c:5181:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/conf.c:5181:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/conf.c:5704:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.2.9/work/alsa-lib-1.2.9/src/pcm/pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM default
SDLAUDIO: SDL_OpenAudioDevice() failed: ALSA: Couldn't open audio device: No such file or directory
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
08/05 12:46:59 Init: Installing breakpad exception handler for appid(440)/version(8227024)/tid(12169)
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Loaded '/home/admin/.local/share/Steam/linux32/steamclient.so' OK.
[S_API FAIL] SteamAPI_Init() failed; create pipe failed../hl2.sh: line 72: 12169 Segmentation fault ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
and exits. Running from the client still shows the valve intro and crashes.
I decided to run stream from the command line and saw it was trying to run lsof
and xdg-user-dirs
both of which I did not have installed. Upon installing them and running the game from steam I get the error ERROR: ld.so: object '/home/admin/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
. I am now investigationg gameroverlayrenderer.so, it may also be missing dependencies.
It turns out the part of the error "wrong ELF class: ELFCLASS64" was indicative of gameoverlayrenderer.so being 64 bit when it should be 32 bit.
After some investigation it turns out that it's normal for steam to load both the 32 and 64 bit vers of the overlay renderer (and for one to not load), the real issue seems to be
(process:20762): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
A breakthrough! When running steam and launching the game via hl2.sh not using steam but with steam open it runs! I have no clue what could be causing this or if the issue should be closed (probably not since this seems to be very unintended)
Ah. When I load into the game the steam overlay (and the mann co store as a result) do not work. Audio is completely gone and loading into a game just presents a blank pop up window with an ok button. Clicking the button blanks the screen and requires me to force stop the game. It seems launching from within steam may be an necessity.
It seems that src/tcmalloc.cc:278] Attempt to free invalid pointer 0xa88fad0
may be part of the issue as I get (process:20762): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
even when launching some games successfully.
Adding LD_PRELOAD=/usr/lib/libtcmalloc.so
to the start of hl2.sh lets me start, fixes audio, and lets me join games! The only broken thing I've encountered thus far is the overlay not working!
Is this ever gonna get fixed eventually? I run into VAC issues and I don't know if this is due to me symlinking libtcmalloc every single time I have to install the game...
Is this ever gonna get fixed eventually? I run into VAC issues and I don't know if this is due to me symlinking libtcmalloc every single time I have to install the game...
Don't symlink, edit the script with the argument.
I get the same error, on Arch Linux running wayland/sway. Running
LD_PRELOAD=/usr/lib/libtcmalloc.so steam open ./hl2.sh
yields
ERROR: ld.so: object '/usr/lib/libtcmalloc.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Replying to https://github.com/ValveSoftware/Source-1-Games/issues/5125#issuecomment-1848859355
Try using a 32 bit version of libtcmalloc, TF2 is 32 bit
Turns out I can launch just fine when I set the TF2 compatability to Proton 8.0, from inside steam. EDIT: Never mind, it crashes once I actually try to join a game...
Turns out I can launch just fine when I set the TF2 compatability to Proton 8.0, from inside steam. EDIT: Never mind, it crashes once I actually try to join a game...
That's also using the windows version in proton, which is slower
Unfortunately, installing the 32 bit version, i.e. lib32-gperftools
from the AUR, still yields a similar error:
LD_PRELOAD=/usr/lib32/libtcmalloc.so ./hl2.sh
yields
ERROR: ld.so: object '/usr/lib32/libtcmalloc.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
I'll leave it for tonight...
I'm on Lubuntu 22.04... What ended up working for me was:
EDIT: Discovered that Aperture Desk Job has a similar issue with libtcmalloc, but that game uses the 64 bit version... Also discovered that Steam's update feature was overwriting my symlinked libtcmalloc... So I made this little shell script to quickly unbreak what the update function breaks... https://gist.github.com/Kate6/49e2ac0b2274c524df8f6995df7855c8
This worked for me too (I use Arch btw).
On Fedora following worked for me.
sudo dnf install gperftools-libs.i686
Then in Steam, launch options
LD_PRELOAD=$LD_PRELOAD:/usr/lib/libtcmalloc_minimal.so.4 %command% -novid
When trying to run from terminal, I was getting AppFramework : Unable to load module engine.so!
no matter what, no idea why.
When trying to run from terminal, I was getting
AppFramework : Unable to load module engine.so!
no matter what, no idea why.
Do
ldd ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2/bin/engine.so
to see which of engine.so's dependencies it's bombing on. Though obviously if it's working inside the Steam launcher the culprit will most likely be Steam launcher setting something like LD_PRELOAD or LD_LIBRARY_PATH differently than your terminal shell sets it.
Affected games: team fortress 2 System: x86_64 gentoo linux openrc, nvidia 2070 max-q, tested with X/bspwm and wayland/sway
When running from the steam launcher TF2 launches and shows the valve intro (the person with a suction cup on the back of their head) and plays the sound, before immediately crashing. Running from the command line (by going to $HOME/.local/share/Steam/steamapps/common/Team\ Fortress\ 2 and running hl2.sh with bash) I get the output
Further investigation shows that the output of
is
If I install all the necessary libraries (for this and another file I forgot that also has missing dependencies) with 32 bit support, the game refuses to launch at all through steam, and via hl2.sh it launches but doesn't show me my level or let me join servers (with or without VAC)