mirror of
https://github.com/netblue30/firejail.git
synced 2026-05-15 14:16:14 -06:00
[GH-ISSUE #552] freshplayerplugin Flash causing graphics glitching under firejail #388
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#388
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 @laniakea64 on GitHub (Jun 1, 2016).
Original GitHub issue: https://github.com/netblue30/firejail/issues/552
Since upgrading firejail from 0.9.38 to a .deb self-build of
a81568d4f0, running SeaMonkey in firejail with--overlay-tmpfswhere freshplayerplugin Flash is now causing bad graphics glitches (mostly on scrollbars, but can be anything in SeaMonkey). This is the possibly-relevant output in the Terminal:I don't think all Flash objects are affected, one example URL where this issue occurs is http://www.yoarcade.net/ability/cubefield_content.html where also the entire screen is frozen for around 15 seconds upon allowing the game Flash object in NoScript.
Nothing except firejail has changed between when it worked and when this issue started.
Lubuntu 14.04, PPAPI Flash 21.0.0.182, unknown freshplayerplugin version (but judging by date modified I think it's
7ba5f2de0e), system theme is oxygen-gtkAlso I use a custom firejail profile for SeaMonkey which I can provide if needed.
@netblue30 commented on GitHub (Jun 1, 2016):
Does it work if you install version 0.9.40 from https://sourceforge.net/projects/firejail/files/firejail/ ?
Also, does it work if you run the sandbox without a profile "firejail --noprofile seamonkey"
@laniakea64 commented on GitHub (Jun 1, 2016):
Thanks for the fast reply.
Issue does occur with official release 0.9.40.
Issue still occurs using
--noprofile.I have additionally noticed since the initial report, that another symptom is that fonts in every window title looked "smudged" - worst-rendered character I saw was "I" (capital i). Had to reboot the computer to set that straight.
Plus I can't reproduce this issue in a VM 😢
(Would using firejail's X11 [Xephyr] sandbox feature help work around this at all, to at least confine the graphics weirdness/freezing to stuff inside the sandbox?)
@netblue30 commented on GitHub (Jun 2, 2016):
If it doesn't run with "--noprofile", there is nothing we can do. Some programs are breaking when you run them inside user namespaces, a common example is PulseAudio.
My problem with your setup is nobody tested SeaMonkey with freshplayerplugin, at least not freshplayerplugin developers. I would stay with more mainstream software. For example I use Firefox with the regular flash plugin from Adobe. Mozilla and Adobe developers are testing it, they even give you notifications to update the plugin when security problems are fixed.
@laniakea64 commented on GitHub (Jun 2, 2016):
But this works flawlessly under firejail 0.9.38, even now if I downgrade firejail back to 0.9.38 it's working well as before. Are you saying that it's only working due to bug(s) in firejail 0.9.38 that has been fixed for 0.9.40?
Maybe I wasn't clear on something. The Flash object itself seems to work fine once it starts. All of the graphics "glitches" are outside the Flash object, and seem to happen when it starts loading.
Unfortunately that is not possible for me.
There are significant accessibility issues and privacy concerns with Firefox itself that make it not an option. SeaMonkey has exactly the same backend as Firefox, things like plugin handling are part of the shared backend and thus work the same.
I would personally prefer to use the standard Adobe Flash plugin from apt-get but it's "too old" for many Flash content, and the only way to get Flash player > 11.2 on Linux is PPAPI / through freshplayerplugin.
@netblue30 commented on GitHub (Jun 2, 2016):
It is very simple, look at the error you are getting:
Your flash plugin tries to compile a file and crashes your GPU. I assume the hardware acceleration is off from that moment on, and you are seeing graphics glitches on your screen. Definitely not a firejail problem.
@laniakea64 commented on GitHub (Jun 3, 2016):
Thanks, looks like that is basically what's going on - if I run firejail with
--debug, this shows up in the syslog:Since this is not a firejail bug, and I'd like to upgrade firejail, can you please re-open this as tagged "information"?
Still confused that it works fine in 0.9.38... Did some more playing around with my self-built firejail 0.9.41, and I'm wondering if it's that initial MESA-LOADER message that's the key here? Running glxinfo inside the SeaMonkey sandbox shows a similar error:
This is not shown running glxinfo outside firejail, nor
firejail --noprofile glxinfo, BUT it is shown runningfirejail --noprofile --overlay-tmpfs glxinfo.With firejail 0.9.38,
firejail --noprofile --overlay-tmpfs glxinfodoes not show that error.So, this issue is related to the use of
--overlay-tmpfs, and this not being a firejail bug, the answer here is surely to edit the profiles to allow something back into the sandbox. What options to start looking at?Thank you again @netblue30 for your time and help.
@requiredregistration commented on GitHub (Jun 3, 2016):
seamonkey is not a project of mozilla anymore, and the latest version of it is behind the latest firefox version. you can disable everything in firefox that could be a privacy issue in your case.
google chrome and opera are based on chromium.
@netblue30 commented on GitHub (Jun 3, 2016):
One solution is to get rid of --overlay-tmpfs. OverlayFS was introduced in kernel 3.18, and the kernel guys are still fixing bugs big time. Also, there have been some bugfixes in firejail for handling overlayfs, this could explain what's going on.
You can also install 0.9.38 in parallel with 0.9.40, and use 0.9.38 for your seamonkey setup. Grab the source code for 0.9.38 from https://sourceforge.net/projects/firejail/files/firejail/ and:
To start seamonkey use "/opt/firejail/bin/firejail --overlay-tmpfs seamonkey"
@laniakea64 commented on GitHub (Jun 3, 2016):
I could reproduce the glxinfo thing in a disposable VM, so did some more testing. And apparently X11 [Xephyr] sandboxing completely stops the problem! 😮
(Well, according to glxinfo the Xephyr in my main environment is using a different renderer, but not sure that fully explains it as the Xephyr in the VM uses the same renderer as main X11.)
However, cannot copy+paste from inside the Xephyr sandbox to outside the sandbox. So I've "backport" a few fixes on 0.9.38 and modified the .deb build to A) install to /opt/firejail-0.9.38 like suggested by netblue30, B) allow to install concurrently with "standard" firejail. So far it's working well 👍
Problem solved as much as it can be I guess. Thanks again netblue30!
Closing this issue since I'm good to go for now, but I might later try to find the exact git commit where the problem first appears.
@netblue30 commented on GitHub (Jun 4, 2016):
This is because xephyr doesn't have support for hardware acceleration.
This is because your browser is isolated on a different X11 server. cut&paste works only if both applications are running on the same server.
@laniakea64 commented on GitHub (Apr 6, 2017):
I finally had the time to find the commit that affected this, and it looks like
c89ebb846aMore specifically, I would suspect the change in how mounting
/sysis handled. On my systems, it results in an empty/sysinside the overlay.@netblue30 Any other insights here based on this finding?
Also, if I were to revert that change locally in a current version of firejail, what would I lose out on?
@netblue30 commented on GitHub (Apr 9, 2017):
Indeed, it results in an empty /sys - jsut tested it on debian stable. I'll have to look into it, thanks for the bug.
@netblue30 commented on GitHub (Apr 13, 2017):
All fixed. You were right, /sys was left unmounted. It was also affecting --chroot setups.
@laniakea64 commented on GitHub (Apr 13, 2017):
I confirm that this is all fixed in a self build of
e7c7b3171d. Thanks netblue30!