Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 675952

Summary: games-arcade/supertux-0.6.0 - supertux2: [FATAL] .../work/SuperTux-v0.6.0-Source/src/supertux/main.cpp:604 Unexpected exception: boost::filesystem::status: Permission denied: ".../work/SuperTux-v0.6.0-Source/data/credits.stxt"
Product: Gentoo Linux Reporter: Scall <scall>
Component: Current packagesAssignee: Gentoo Games <games>
Status: UNCONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info games-arcade/supertux

Description Scall 2019-01-21 00:09:38 UTC
Created attachment 562352 [details]
emerge --info games-arcade/supertux

The following *runtime* error occurs when supertux was built with "/var/tmp/portage" mounted as tmpfs:

> supertux2
[FATAL] /var/tmp/portage/games-arcade/supertux-0.6.0/work/SuperTux-v0.6.0-Source/src/supertux/main.cpp:604 Unexpected exception: boost::filesystem::status: Permission denied: "/var/tmp/portage/games-arcade/supertux-0.6.0/work/SuperTux-v0.6.0-Source/data/credits.stxt"

The game can not be played because of that.

Unmounting "/var/tmp/portage" and rebuilding the package solves the issue.

I can always reproduce this by:

1. Mounting "/var/tmp/portage" as tmpfs.
2. Emerging "games-arcade/supertux-0.6.0".
3. Running "supertux2".
Comment 1 Lars Wendler (Polynomial-C) gentoo-dev 2019-01-21 16:05:46 UTC
Seems to be a boost issue. Can you perhaps try the boost version from unstable?
Comment 2 Scall 2019-01-21 18:11:12 UTC
[...]
[ebuild     U *] dev-util/boost-build-1.66.0::gentoo [1.65.0::gentoo] USE="-examples -python -test" PYTHON_TARGETS="python2_7" 83,981 KiB
[ebuild  r  U *] dev-libs/boost-1.66.0:0/1.66.0::gentoo [1.65.0:0/1.65.0::gentoo] USE="nls threads -context -debug -doc -icu -mpi -python -static-libs -tools" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5" 0 KiB
[ebuild  rR   ~] games-arcade/supertux-0.6.0::gentoo  USE="-debug" 0 KiB

Total: 3 packages (2 upgrades, 1 reinstall), Size of downloads: 83,981 KiB
[...]

[...]
[ebuild     U *] dev-util/boost-build-1.67.0::gentoo [1.66.0::gentoo] USE="-examples -python -test" PYTHON_TARGETS="python2_7" 85,290 KiB
[ebuild  r  U *] dev-libs/boost-1.67.0-r1:0/1.67.0::gentoo [1.66.0:0/1.66.0::gentoo] USE="nls threads -context -debug -doc -icu -mpi -python -static-libs -tools" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5 -python3_7%" 0 KiB
[ebuild  rR   ~] games-arcade/supertux-0.6.0::gentoo  USE="-debug" 0 KiB

Total: 3 packages (2 upgrades, 1 reinstall), Size of downloads: 85,290 KiB
[...]

I just tried with boost 1.66.0 and 1.67.0, the issue occurs with both versions.

[...]
[ebuild     UD ] dev-util/boost-build-1.63.0::gentoo [1.67.0::gentoo] USE="-examples -python -test" PYTHON_TARGETS="python2_7" 80,063 KiB
[ebuild  r  UD ] dev-libs/boost-1.63.0:0/1.63.0::gentoo [1.67.0-r1:0/1.67.0::gentoo] USE="nls threads -context -debug -doc -icu -mpi -python -static-libs -tools" ABI_X86="(64) -32 (-x32)" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5 (-python3_7%)" 0 KiB
[ebuild  rR   ~] games-arcade/supertux-0.6.0::gentoo  USE="-debug" 0 KiB

Total: 3 packages (2 downgrades, 1 reinstall), Size of downloads: 80,063 KiB
[...]

I also tried with version 1.63.0 and got the same result. So it occurs with any boost version currently in the Portage Tree.
Comment 3 Lars Wendler (Polynomial-C) gentoo-dev 2019-01-22 12:01:16 UTC
How do you mount that tmpfs? I use /var/tmp/portage as tmpfs for years and never had such an issue. supertux being compiled in that tmpfs runs smoothly on my system.
Comment 4 Scall 2019-01-22 15:12:00 UTC
> grep portage /etc/fstab
tmpfs  /var/tmp/portage                     tmpfs  size=100%,noatime,nodev,nosuid,uid=250,gid=250,mode=770
> mount | grep portage
tmpfs on /var/tmp/portage type tmpfs (rw,nosuid,nodev,noatime,size=8176548k,mode=770,uid=250,gid=250)

I always used it as tmpfs as well, this is the only package that ever required me to unmount it. The issue didn't occur with supertux-0.5.1 (I tried to downgrade to that version just for testing, but can't build it anymore because of #671154 ).
Comment 5 Lars Wendler (Polynomial-C) gentoo-dev 2019-01-25 13:07:55 UTC
Have you tried to mount the tmpfs less restrictive? Mine is mounted like this:

# grep -F "/var/tmp/portage" /etc/fstab
tmpfs           /var/tmp/portage        tmpfs   nodev,size=32g         0 0
# mount | grep -F "/var/tmp/portage"
tmpfs on /var/tmp/portage type tmpfs (rw,nodev,relatime,size=33554432k)
Comment 6 Scall 2019-01-25 21:59:09 UTC
I've got it: it was because of the mount option "mode=770", specifically because the execute permission was missing for other users. Adding it to the mount option or issuing "chmod o+x /var/tmp/portage" solves the issue (this wasn't needed for previous Supertux versions). So rebuilding the package wasn't actually necessary.

Sorry for the waste of time.