mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #4961] minecraft-launcher: segfault in versions later than 0.9.66 #2836
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#2836
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 @benaryorg on GitHub (Feb 18, 2022).
Original GitHub issue: https://github.com/netblue30/firejail/issues/4961
Description
Hard SIGSEGV when running minecraft-launcher in corresponding profile.
Steps to Reproduce
firejail "--private=${custom_path?}" minecraft-launcher(LC_ALL=C.utf8 is my default)Click to expand
Seems to be a solid NULL-deref.
Expected behavior
It's supposed to launch the game as usual.
Actual behavior
The above error is thrown and no game ever appears.
Behavior without a profile
Doesn't start at all
Additional context
The problem was introduced after firejail-0.9.66.
That version works as expected, while the update to 0.9.68 introduces the error.
firejail version 0.9.66 (working)
firejail version 0.9.68 (broken)
Environment
Checklist
dae6c65005throughba437e7babbrowser-allow-drm yes/browser-disable-u2f noinfirejail.configto allow DRM/U2F in browsers: shouldn't be relevant--profile=PROFILENAMEto set the right profile. (Only relevant for AppImages)Log
Output of
LC_ALL=C firejail /path/to/programThe above output is pretty much the same with the older version too, only after that output the start button is triggered at which point the segfault occurs, but there is no more output from that point onwards.
Output of
LC_ALL=C firejail --debug /path/to/programSame as without the
--debug, but with this prepended:See attached file: log.txt
@reinerh commented on GitHub (Feb 18, 2022):
There are some GL-related error messages, and the backtrace also seems to be in a 3d-related library (while creating a window?).
We recently had a report with crashes (#4960) that was solved by removing
no3d, though I couldn't findno3dinminecraft-launcher.profile.But maybe some related 3d-library is in a different path in Gentoo.
@benaryorg commented on GitHub (Feb 19, 2022):
You know what? This thing has 24 cores idling and I've been meaning to put git-bisect to use for some time now.
[a few minutes later]
Guess I'll have a look at
ea564eb74a, I'll let you know if I find out anything.@benaryorg commented on GitHub (Feb 19, 2022):
Turns out, it's specifically that video group handling.
If I remove the
ifs around the video group handling I get a window again.Only now did I notice the
novideoline in the minecraft-launcher profile, and it seems it's been there since the initial commit for that profile.I'm not too familiar with the internals, so maybe you can shed some light on the purpose of novideo.?
Because I'm not sure whether it's just out of place in the minecraft-launcher profile, or the handling is at fault?
@rusty-snake commented on GitHub (Feb 19, 2022):
video devices mean webcam (
/dev/video*,/dev/v4l).Unless minecraft(-launcher) has a webcam feature (e.g. for streaming) it is right there.
Related discussion: https://github.com/netblue30/firejail/pull/4632#issuecomment-949886706
@benaryorg commented on GitHub (Feb 25, 2022):
What fixes it for me is this:
It seems
ignore nogroupsdoes nothing at all.For me this is a passable workaround so feel free to close the issue unless you're planning to pursue the matter further.
@kmk3 commented on GitHub (Feb 25, 2022):
@benaryorg commented on Feb 25:
Thanks for debugging and for specifying that the problem happens on nvidia.
The aforementioned bisected commit from #4632 would be my first guess as well.
Permalink to it:
https://github.com/netblue30/firejail/pull/4632/commits/ea564eb74abaefd791a8c95d51e36c21e5fffcf9?diff=unified&w=1
So as I suspected in #4632, it seems that the proprietary nvidia driver indeed
needs both the "render" and "video" groups in order to avoid breakage with
hardware acceleration.
I think I'll change the checks to keep the video group to also consider the
nvidia proprietary driver (+ no
no3d).To clarify the environment:
Are you using openrc and the proprietary nvidia driver?
Are you using udev/eudev?
Which seat manager are you using if any? Examples: logind, elogind, seatd
@benaryorg commented on GitHub (Feb 25, 2022):
Correct.
Specifically x11-drivers/nvidia-drivers-510.54.
In case it's relevant I also have cgroup support enabled in OpenRC:
udev, yes.
FYI: eudev was retired on 2022-01-01.
None, plain old startx on tty2 (at which point agetty chowns the tty device to my user for the duration of my session AFAIK).