mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #5745] steam: crashes with private-tmp (dbus) #3079
Labels
No labels
LTS merge
LTS merge
bug
bug
converted-to-discussion
doc-todo
documentation
duplicate
enhancement
file-transfer
firecfg
firejail-in-firejail
firetools
graphics
help wanted
information_old
installation
invalid
modif
moved
needinfo
networking
notabug
notourbug
old-version
overlayfs
packaging
profile-request
pull-request
question
question_old
removal
runtime-permissions
sandbox-ipc
security
stale
wiki
wiki
wontfix
wordpress
workaround
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/firejail#3079
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @amano-kenji on GitHub (Mar 21, 2023).
Original GitHub issue: https://github.com/netblue30/firejail/issues/5745
Steps to Reproduce
LC_ALL=C firejail /usr/bin/steamExpected behavior
No segmentation fault.
Actual behavior
Behavior without a profile
It works without an issue.
Environment
firejail --version).Checklist
/usr/bin/vlc) "fixes" it).https://github.com/netblue30/firejail/issues/1139)browser-allow-drm yes/browser-disable-u2f noinfirejail.configto allow DRM/U2F in browsers.--profile=PROFILENAMEto set the right profile. (Only relevant for AppImages)Log
Output of
LC_ALL=C firejail /path/to/programOutput of
LC_ALL=C firejail --debug /path/to/programsteam.log
@kmk3 commented on GitHub (Mar 21, 2023):
What is the output of the following?
Make sure to include the output of firejail as well.
@amano-kenji commented on GitHub (Mar 22, 2023):
steam.log
@kmk3 commented on GitHub (Mar 22, 2023):
I can't think of anything in particular that might be causing this, so I'd
suggest commenting out lines in the profile until you find the offending
line.
Does it work with
--noprofile?@amano-kenji commented on GitHub (Mar 22, 2023):
It worked with
--noprofile.@amano-kenji commented on GitHub (Mar 23, 2023):
Adding
ignore private-tmptosteam.localeliminated segmentation fault.Why does
private-tmpcause segmentation fault?@kmk3 commented on GitHub (Apr 5, 2023):
Doing the following might help narrow it down:
@amano-kenji commented on GitHub (Apr 6, 2023):
@amano-kenji commented on GitHub (Apr 6, 2023):
Adding
instead of
to
steam.localalso fixed the crash.@kmk3 commented on GitHub (Apr 6, 2023):
Are there any changes in this file?
Does steam work with
firejail --ignore='include globals.local'?Interesting; do you have dbus running?
Does anything change if this is unset when running steam?
Does anything change if you set the
DBUS_SESSION_BUS_ADDRESSenv var to thesocket path in /tmp when running steam?
Does anything change when using only the following modifications in
steam.local?
@amano-kenji commented on GitHub (Apr 6, 2023):
If I have
it crashes.
With
it doesn't crash. It requires access to session dbus, but it uses system dbus to contact (e)logind when system dbus is available.
@amano-kenji commented on GitHub (Apr 6, 2023):
/etc/firejail/globals.local
~/.config/firejail/globals.local
Yes
Yes. system dbus and session dbus.
After
unset DBUS_SESSION_ADDRESS, it doesn't crash because it launches its own dbus. steam's own dbus processes die with steam.@amano-kenji commented on GitHub (Apr 7, 2023):
So, the crash happens if DBUS_SESSION_ADDRESS is set but points to a non-existent user session dbus.
whitelist /tmp/dbus-*fixes the crash by whitelisting dbus sockets in /tmp.Absence of system dbus doesn't crash steam.profile, but if it is available, steam contacts (e)logind through system dbus which launches (e)logind. This breaks
nogroupsandnorootfor systems that have but don't use (e)logind. My system has elogind but doesn't use it. It uses seatd.If DBUS_SESSION_ADDRESS is not set, steam launches its own dbus processes and kills them when it dies.
Presenting a session dbus proxy with
prevents crash.