Bug 1172869 - libxshmfence build on Fedora uses /var/tmp for shared memory
Summary: libxshmfence build on Fedora uses /var/tmp for shared memory
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libxshmfence
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Adam Jackson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-11 00:41 UTC by Lee
Modified: 2015-01-13 00:03 UTC (History)
6 users (show)

Fixed In Version: libxshmfence-1.2-1.fc21
Clone Of:
Environment:
Last Closed: 2015-01-13 00:03:48 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.