-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failure to start with tcmalloc "Attempt to free invalid pointer" and radeonsi built against llvm 16 #5043
Comments
Previously noted at #5007 (comment) |
This issue occurs for me even in the flatpak version of Steam, even after symlinking the system libtcmalloc. OS: Gentoo on dwm |
any news? OpenSUSE Tumbleweed no longer ships with 32-bit version of libtcmalloc so I can't transplant it |
This comment was marked as off-topic.
This comment was marked as off-topic.
I was able to launch the game via steam after symlinking (or copying) the 32bit system libtcmalloc on Gentoo LInux. USE="abi_x86_32" emerge dev-util/google-perftools # install 32bit version of libtcmalloc
cd ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2/bin
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4.bak
ln -s /usr/lib/libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4 # cp also works |
Also the gperftools have basically no dependencies so you should be able to build it yourself. Build git clone https://github.com/gperftools/gperftools.git
cd gperftools
./autogen.sh
automake
./configure --build=i686-pc-linux-gnu CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32
make Copy cd ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2/bin
mv libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4.bak # backup
cp <gperftools-dir>/.libs/libtcmalloc_minimal.so.4.5.13 ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2/bin/libtcmalloc_minimal.so.4 |
Today (29.08) archlinux udpated llvm-.libs to 16.0.x and I experienced the same issue. Possible solution for archlinuxers:
Start tf2 like this (launch options): |
Experiencing the same issue. Arch Linux Confirming @GoTeamAnt's workaround also allows 'Half-Life 2: Deathmatch' to launch properly. |
Seconding the confirmation for GoTeamAnt's workaround. |
Will add another confirmation for @GoTeamAnt 's workaround. |
confirming also on manjaro (testing), thanks :-) |
Working as well for me, thank you. However, I am slightly concerned that this could trigger a VAC ban. Is there any such risk in having an LD_PRELOAD relating to C++ code like this? Longer term: is this something that Valve has to fix, or the Arch maintainers? I would assume it being some sort of llvm library conflict, that it's on Valve's side. |
Well, I just sat down to play after using that patch and I can't connect to the TF2 game coordinator at all. According to https://steamstat.us/ it seems to be up. Wondering if that could be related? Hard to tell since I can't launch the game without the workaround EDIT: I take it back, seems to be working fine now |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Hello @LargeOunce, running Team Fortress 2 with Proton is not officially supported and your issue is unrelated to this issue report. Having written that, unofficial support for running Team Fortress 2 with Proton is being tracked at ValveSoftware/Proton#3150. |
I had it unchecked but i think it had downloaded. it's fixed now with the workaround. |
Same issue. Arch Linux, AMD Radeon 5600H.
Anyone know why? |
Based on previous comments, this works for me on Fedora 39 trying to play TF2:
|
The upcoming steam flatpak (now in
To "fix" it, remove (create backup, move it elsewhere) You can also run steam as This'll force the game to use the bundled (Use with caution, as I have no idea if it triggers anti-cheat mechanisms) |
Any updates on this? I've had llvm>=16 masked and that seems to have kept things working on my Gentoo install. I tried all the work arounds and none seemed to work so I just downgraded to LLVM 15. Can we please have confirmation that something is being done to fix this problem? |
It's still in beta, you have to wait for a full release of the update |
Just a note: Team Fortress 2 has kind of taken over this thread but many, many more games are also affected. Some are valve games and some are games developed using the source one engine by others. Just because TF2 is going to be working again does not mean this issue is fixed by any means. Just from what I can recall Valve games affected: Day of Defeat Source Non-valve games affected: Garry's mod I believe I have seen others mentioned as well but can't recall any specifically. This is an issue with the source engine itself and is only going to be fixed when the source one devs fix it or possibly valve can include the gpref-tools as part of the steam runtimes and set steam to bypass the in game libraries in preference to the ones that are included in the runtime (this is what the flatpak team did to get those games working in the flatpak version without requiring any preloading) |
I would prefer if they would make x64 binaries available for games / source 1 engine. 3rd party game devs could then compile game as x64 game, which seems to increase performance significantly at least for me. According to steam hardware review over 90% of linux users use 8gb or more ram, most likely meaning they are using 64bit CPU. Yes, I know there is some way to get 32bit OS recognize more than 4gb but i don't think there are that many are using said feature. 64bit mode should be default option and 32bit should be something you would have to select on launch menu or something. I do however agree that something should be done to make installing these games more streamlined. If some other option is easier to get to goal and Valve doesn't want to invest more time on this, that is fine as well, but if this is truly the performance increase It would be slightly sad to leave it on the table... but like I said on earlier posts, really appropriate Valve guys looking into this one especially if they fix it proper way like they seem to go with tf2. |
I've tested it out. I can't give you a performance comparison, but the game launches perfectly fine and you can play. You can't connect to public servers at the moment though. |
CSS is affected. |
still having this issue, and this resolved it. |
I've had an error: If you're attentive enough, you can see, that the game is trying to access '/run/host' for some reason. Weirldy enough, the error message is still shown: |
On Opensuse tumbleweed I can launch TF2 without crashing. Your distribution need to update gcc or cherry pick patch from this bugreport. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113258 |
Please note, though that if a distribution chooses to update GCC, they’ll need to update to an unstable version in order to get this fix. The commits from that bug report were written in 2024, but the most recent releases of GCC are all from 2023. |
There seems to be something definitely going on with VAC and running your own libtcmalloc. It's hard to say exactly WHY its happening, but it seems to also present issues connecting to servers from my experience. I suspect there are some modifications to the lib valve distributes, but its hard to say for sure. |
I've been running the lib32-gperftools workaround for TF2 on Linux for several months now without any issues whatsoever connecting to any servers, nor encountering any kind of VAC ban (knock on wood). Are you saying there's new issues coming up for users? Are people being banned? |
It looks like the official update to 64-bit has fixed this issue on TF2 (on my machine, at least). More verification needed though. |
No the new update to Team Fortress 2 did not fix the issue. This issue has affected a LOT MORE games than just TF2. This affects many games that use the source one engine so unless all those games that are affected also release a similar update the issue will persist. In fact even if all those games did release such an update, the issue would still not be "fixed" it would just be worked around. The underlaying issue in the source one engine would still exist |
A non-exhaustive list of the game that are known not to work is here. |
On Steam Deck/KDE Plasma here and still having the issue even after the update. When I run through terminal it complains about being unable to find libmimalloc.so instead of tcmalloc.so.4 |
Are you sure the update is downloaded? |
Definitely downloaded. Running through steam just closes it without anything opening, running through terminal says ''/home/deck/.local/share/Steam/steamapps/common/Team Fortress 2/tf_linux64' |
@unknownaccount11 I actually just tested it on Fedora 39 also with KDE Plasma and it works perfectly fine. Here is attached my Steam Runtime System Information Perhaps they might have yet to push the Steam Deck update into its repos? I don't know, later in the day will check with my own Steam Deck |
Good point, I meant for tf2 only. I'll update my original comment. |
Game launches with Proton 8 as I found from this steam discussion where other people are having the same problem, but TF2 launches in insecure mode so you can't connect to servers. |
@unknownaccount11 Yeah, can confirm the Steam Deck doesn't work yet, perhaps they have to update the base image of Arch Linux to the modern dependencies first. Anyway, the game works as usual with Proton if you really want to play it on the Deck for now. |
Working for me on the Deck without any compatibility enabled after I downloaded the update this morning |
NOTE:
No one utilizing the workarounds found in the comments has faced any issues with VAC, so they are most likely safe to use, but do so at your own risk.
ORIGINAL POST:
OS: Fedora 38 Workstation, GNOME (both X11 and Wayland)
CPU: Intel Core i9 10900K
GPU: AMD Radeon RX 6800
RAM: 32GB
no launch parameters used
CSS and TF2 simply refuse to even launch when running Steam from the RPM fusion repos. Running Steam Flatpak however, these problems go away and the games are playable.
Hint for potential fix, posted by user Jennie on protondb for tf2:
The text was updated successfully, but these errors were encountered: