Bug 1172869

Summary: libxshmfence build on Fedora uses /var/tmp for shared memory
Product: [Fedora] Fedora Reporter: Lee <leecam>
Component: libxshmfenceAssignee: Adam Jackson <ajax>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 21CC: adel.gadllah, ajax, cunio, dap78, kazimieras.vaina, rkagan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libxshmfence-1.2-1.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-13 00:03:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lee 2014-12-11 00:41:15 UTC
Please see the following Chromium bug, comment #70 for background:
https://code.google.com/p/chromium/issues/detail?id=415681

Chromium's GPU process sandbox limits filesystem access to a predetermined whitelist. libxshmfence needs to create temporary shared memory files and the location for these files is decided at build time as a config param. This should be /dev/shm and this is the path Chromium whitelists. On Fedora builds the shared memory files are being placed in /var/tmp. 

Putting shared memory files in /var/tmp or /tmp isn't the right place for them. It doesn't seem right to whitelist these extra paths in Chromium when they should be in /dev/shm.

Would it possible to change the Fedora build config so these files are placed more appropriately (in /dev/shm), thus being inline with other distros and compatible with Chromium.

Many thanks

Comment 1 Roland Pallai 2014-12-27 00:22:26 UTC
I think I found another issue with shmfd files placed in /var/tmp: the Xorg process blocks on disk sometimes. Probably this is root cause of UI hiccups experienced in every 2-3 minutes on my desktop from Fedora 21.

The following stack trace observer in /proc/16539/stack for about 500ms while the Xorg process was in state D:

[<ffffffff812e2f9d>] do_get_write_access+0x2bd/0x4e0
[<ffffffff812e31e7>] jbd2_journal_get_write_access+0x27/0x40
[<ffffffff812c844b>] __ext4_journal_get_write_access+0x3b/0x80
[<ffffffff81294013>] ext4_free_inode+0x223/0x660
[<ffffffff8129d2ce>] ext4_evict_inode+0x31e/0x4d0
[<ffffffff81228903>] evict+0xa3/0x190
[<ffffffff812291b5>] iput+0xf5/0x1a0
[<ffffffff81224128>] __dentry_kill+0x168/0x1c0
[<ffffffff81224248>] dput+0xc8/0x1b0
[<ffffffff8120e2e2>] __fput+0x172/0x1f0
[<ffffffff8120e3ae>] ____fput+0xe/0x10
[<ffffffff810b3957>] task_work_run+0xb7/0xf0
[<ffffffff81013e37>] do_notify_resume+0x97/0xb0
[<ffffffff81746d22>] int_signal+0x12/0x17
[<ffffffffffffffff>] 0xffffffffffffffff


Should I open another ticket for this issue?

Comment 2 Fedora Update System 2015-01-05 19:11:27 UTC
libxshmfence-1.2-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/libxshmfence-1.2-1.fc21

Comment 3 Adel Gadllah 2015-01-05 19:12:52 UTC
(In reply to Lee from comment #0)
> Please see the following Chromium bug, comment #70 for background:
> https://code.google.com/p/chromium/issues/detail?id=415681
> 
> Chromium's GPU process sandbox limits filesystem access to a predetermined
> whitelist. libxshmfence needs to create temporary shared memory files and
> the location for these files is decided at build time as a config param.
> This should be /dev/shm and this is the path Chromium whitelists. On Fedora
> builds the shared memory files are being placed in /var/tmp. 
> 
> Putting shared memory files in /var/tmp or /tmp isn't the right place for
> them. It doesn't seem right to whitelist these extra paths in Chromium when
> they should be in /dev/shm.
> 
> Would it possible to change the Fedora build config so these files are
> placed more appropriately (in /dev/shm), thus being inline with other
> distros and compatible with Chromium.
> 
> Many thanks

Just updated it to 1.2 which does not use any filesystem access but just the memfd_create systemcall instead.

Comment 4 Fedora Update System 2015-01-07 01:25:25 UTC
Package libxshmfence-1.2-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libxshmfence-1.2-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-0266/libxshmfence-1.2-1.fc21
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2015-01-13 00:03:48 UTC
libxshmfence-1.2-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.