Summary: | >=www-client/firefox-10 fails to compile with pgo useflag (and ati card?) - sandbox access violations | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Kornel <kornel661> |
Component: | Current packages | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | elettronik, flipflopjoe, gentoobugs, hasufell, josef64, manschwetus, pacho, rom |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build log
emerge_info.txt ff9.0 - same problem move addpredicts to pkg_setup() proposed fix for pgo ff emerge proposed fix for pgo ff ebuild (12.0) |
Description
Kornel
2011-12-14 18:29:11 UTC
Created attachment 295833 [details]
build log
I have my portage temporary directory mounted as tmpfs: tmpfs /var/tmp/portage tmpfs noauto 0 0 but for firefox (due to its size) I use another direcory (/home/kornel/tmp/portage/). Why did you put a single file in a tar archive? (In reply to comment #3) > Why did you put a single file in a tar archive? Sorry, I was in a hurry and didn't notice it. Created attachment 296401 [details]
emerge_info.txt
exactly the same here.
Created attachment 296685 [details]
ff9.0 - same problem
The same problem with www-client/firefox-9.0
Created attachment 299009 [details, diff]
move addpredicts to pkg_setup()
This simply moves the addpredicts to pkg_setup so they are carried threw the entire build process, give it a spin, if it fails we will drop pgo support in gentoo.
The problem is that pgo is trying to mknod the special files for some reason. Maybe it can't access /dev/ati/card0 or something? I guess the solution is either to: a) Put addpredict for /dev/ati/card{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,5} or b) Remove the code that tries to do this stupidity Third solution: export LIBGL_ALWAYS_INDIRECT=1 or LIBGL_ALWAYS_SOFTWARE=1 so that the code doesn't try direct rendering at all. I've just successfully compiled firefox 9: emerge -pv firefox These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] www-client/firefox-9.0 USE="alsa crashreporter dbus ipc libnotify pgo startup-notification webm wifi -bindist -custom-cflags -custom-optimization -debug -system-sqlite" LINGUAS="en pl -af -ak -ar -ast -be -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en_GB -en_US -en_ZA -eo -es -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy -fy_NL -ga -ga_IE -gd -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy -hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -nso -or -pa -pa_IN -pt -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB (In reply to comment #10) > I've just successfully compiled firefox 9: > > emerge -pv firefox > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild R ] www-client/firefox-9.0 USE="alsa crashreporter dbus ipc > libnotify pgo startup-notification webm wifi -bindist -custom-cflags > -custom-optimization -debug -system-sqlite" LINGUAS="en pl -af -ak -ar -ast -be > -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en_GB -en_US -en_ZA -eo > -es -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy -fy_NL -ga -ga_IE -gd > -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy -hy_AM -id -is -it -ja -kk -kn -ko > -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -nso -or -pa -pa_IN > -pt -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK > -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 0 kB > > Total: 1 package (1 reinstall), Size of downloads: 0 kB We would need to know what actually fixed it for you if you would like it fixed in the tree. (In reply to comment #11) > (In reply to comment #10) > > I've just successfully compiled firefox 9: > > > > emerge -pv firefox > > > > These are the packages that would be merged, in order: > > > > Calculating dependencies... done! > > [ebuild R ] www-client/firefox-9.0 USE="alsa crashreporter dbus ipc > > libnotify pgo startup-notification webm wifi -bindist -custom-cflags > > -custom-optimization -debug -system-sqlite" LINGUAS="en pl -af -ak -ar -ast -be > > -bg -bn -bn_BD -bn_IN -br -bs -ca -cs -cy -da -de -el -en_GB -en_US -en_ZA -eo > > -es -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy -fy_NL -ga -ga_IE -gd > > -gl -gu -gu_IN -he -hi -hi_IN -hr -hu -hy -hy_AM -id -is -it -ja -kk -kn -ko > > -ku -lg -lt -lv -mai -mk -ml -mr -nb -nb_NO -nl -nn -nn_NO -nso -or -pa -pa_IN > > -pt -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -sv_SE -ta -ta_LK > > -te -th -tr -uk -vi -zh -zh_CN -zh_TW -zu" 0 kB > > > > Total: 1 package (1 reinstall), Size of downloads: 0 kB > > We would need to know what actually fixed it for you if you would like it fixed > in the tree. It is the ebuild from the main tree! Kornel I've edited the ebuild to export LIBGL_ALWAYS_INDIRECT=1 if it detects that fglrx/nvidia are in use. This should solve the problem, and still allow *some* WebGL PGO for binary driver users. If the bug persists, we'll just disable the webgl bits in the PGO suite. I suggest to switch eselect opengl to xorg-x11 during build. *** Bug 402519 has been marked as a duplicate of this bug. *** Still seeing symptoms described by OP with most recent versions of the following ebuilds and "eselect opengl set nvidia". =x11-drivers/nvidia-drivers-290.10:0::portage =www-client/firefox-9.0:0::portage[pgo] One thing that's odd to me is that src_compile() completes (emerge says 'source compiled.') , and then emerge bails with the error message described by kornel. emerge.log looks like an unsuccessful build: 1328906260: Started emerge on: Feb 10, 2012 21:37:39 1328906260: *** emerge --keep-going --load-average=10.0 --jobs=10 --autounmask=n firefox 1328906327: >>> emerge (1 of 1) www-client/firefox-9.0 to / 1328906327: === (1 of 1) Cleaning (www-client/firefox-9.0::/usr/portage/www-client/firefox/firefox-9.0.ebuild) 1328906421: === (1 of 1) Compiling/Merging (www-client/firefox-9.0::/usr/portage/www-client/firefox/firefox-9.0.ebuild) 1328909953: *** Finished. Cleaning up... 1328909958: *** exiting unsuccessfully with status '1'. After that, though, I can successfully run the install and qmerge phases manually using the ebuild command. Me confused. same here as Carsten Milkau described 'export LIBGL_ALWAYS_INDIRECT=1' and 'export LIBGL_ALWAYS_SOFTWARE=1' both did not the trick had to add addpredict /dev/nvidiactl to pkg_setup forgot to mention: firefox-10.0.1 and nvidia-drivers-290.10 Sorry, bug NOT fixed. Look at https://bugs.gentoo.org/show_bug.cgi?id=382753 its same bug. --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE "/var/log/sandbox/sandbox-1729.log" VERSION 1.0 FORMAT: F - Function called FORMAT: S - Access Status FORMAT: P - Path as passed to function FORMAT: A - Absolute Path (not canonical) FORMAT: R - Canonical Path FORMAT: C - Command Line F: open_wr S: deny P: /dev/nvidiactl A: /dev/nvidiactl R: /dev/nvidiactl C: /var/portagetmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/firefox/firefox-bin -no-remote -profile /var/portagetmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/obj-x86_64-unknown-linux-gnu/_profile/pgo/pgoprofile/ http://localhost:8888/index.html F: open_wr S: deny P: /dev/nvidiactl A: /dev/nvidiactl R: /dev/nvidiactl C: /var/portagetmp/portage/www-client/firefox-11.0-r1/work/mozilla-release/obj-x86_64-unknown-linux-gnu/dist/firefox/firefox-bin --version -------------------------------------------------------------------------------- Created attachment 309205 [details, diff]
proposed fix for pgo ff emerge
i guess recently attached patch fixes ff emerge issue with +pgo: the idea is obvious - move X11 environment change from pkg_setup ebuild section to pkg_compile one this will force emerge to use Xvfb instead of configured graphic card (with appropriate proprietary video driver) i created that patch for recent firefox-11.0-r1.ebuild, however the same technique (not the patch) might be applied to earlier releases apparently the patch is relevant to bugs 382753 and 388585 reopened, because people (including me) still seem to encounter this issue. There have been various suggestions on how to fix it, but this needs a definite solution. (In reply to comment #24) > reopened, because people (including me) still seem to encounter this issue. > > There have been various suggestions on how to fix it, but this needs a > definite solution. The definite solution is to p.use.mask pgo and remove all support from the tree as far as pgo builds are concerned. Nirbheek if you would please p.use.mask pgo for all archs, if at a later time we rework the ebuild to support pgo builds for all we can unmask. Yeah, just was gonna add that whatever was added to try and support PGO with binary drivers still doesn't work (I use NVIDIA), not that big of a deal considering the easy workarounds, but just letting it be known. Another easy Workaround is: emerge firefox from tty Terminal This build and install for me fine. (In reply to comment #27) > Another easy Workaround is: emerge firefox from tty Terminal > This build and install for me fine. You can't emerge with +pgo from tty because Firefox need a running X server for testing build before optimization phase. The solution for me is adding permission to access device file if on nvidia or ati card. Created attachment 311715 [details, diff] proposed fix for pgo ff ebuild (12.0) attached snippet patches firefox-12.0.ebuild to support pgo the code profiling is performed on separate xorg-server (mind xvfb use flag for x11-base/xorg-server) so the access to real frame buffer device(s) is actually not needed complete explanation could be found in here: http://forums.gentoo.org/viewtopic-t-887296-start-0.html (In reply to comment #29) > Created attachment 311715 [details, diff] [details, diff] > proposed fix for pgo ff ebuild (12.0) > > attached snippet patches firefox-12.0.ebuild to support pgo > > the code profiling is performed on separate xorg-server (mind xvfb use flag > for x11-base/xorg-server) so the access to real frame buffer device(s) is > actually not needed > > complete explanation could be found in here: > http://forums.gentoo.org/viewtopic-t-887296-start-0.html Moving the exports is not the answer, if exported in pkg_setup() they are suppose to be carried threw all phases of the ebuild. (In reply to comment #30) > > Moving the exports is not the answer, if exported in pkg_setup() they are > suppose to be carried threw all phases of the ebuild. i just wanted to say it works for me (the original ebuild does not). definitely i'm not familiar with all portage rules and hints Please don't just add the x86@g.o alias unless you know why. In this case you do, please leave a comment why x86 would need to follow here. We do keywording. *** Bug 420149 has been marked as a duplicate of this bug. *** *** Bug 421125 has been marked as a duplicate of this bug. *** PGO useflag has been masked until such a time we can properly support it in gentoo. Soon as we can we will unmask and support pgo builds for all users. At this time even upstream is having problems supporting pgo builds in Linux. I will continue to track there upstream to determine when best we can come back and review all pgo build failures. Please ignore resolution we no longer have an option for later. |