Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 297273 - www-client/chromium-4.0.266.0 fails emerging by filling hard disk reading and writing same file
Summary: www-client/chromium-4.0.266.0 fails emerging by filling hard disk reading and...
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Paweł Hajdan, Jr. (RETIRED)
URL: https://code.google.com/p/chromium/is...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-17 09:17 UTC by Marcus Klein
Modified: 2010-02-22 15:17 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Output of emerging chromium. (build.log.bz2,60.15 KB, text/plain)
2009-12-17 10:10 UTC, Marcus Klein
Details
Supposed fix (chromium-fix-looping-sed.patch,652 bytes, patch)
2010-02-19 00:12 UTC, Maciej Mrozowski
Details | Diff
Actually remove temporary depfile (chromium-fix-looping-sed.patch,677 bytes, patch)
2010-02-19 00:26 UTC, Maciej Mrozowski
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Klein 2009-12-17 09:17:19 UTC
I tried to emerge chromium and it fills up my really big hard disk until the emerge fails. There is a single file that grows endlessly. See the following lists on that file while emerging:

marcus ~ # ls -lh /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp
-rw-r--r-- 1 root root 573M 2009-12-17 10:14 /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp

marcus ~ # ls -lh /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp
-rw-r--r-- 1 root root 610M 2009-12-17 10:14 /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp

When I look at the running processes I see the following doing the emerge:

18596 pts/1    SN+    0:05  |           \_ /usr/bin/python2.6 /usr/bin/emerge -av =www-client/chromium-4.0.266.0
19661 pts/1    SN+    0:00  |               \_ [www-client/chromium-4.0.266.0] sandbox "/usr/lib64/portage/bin/ebuild.sh" compile
19662 pts/1    SN+    0:00  |                   \_ /bin/bash /usr/lib64/portage/bin/ebuild.sh compile
19693 pts/1    SN+    0:00  |                       \_ /bin/bash /usr/lib64/portage/bin/ebuild.sh compile
19709 pts/1    SN+    0:02  |                           \_ make -j4 -r V=1 chrome chrome_sandbox BUILDTYPE=Release rootdir=/var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0 CC=x86_64-pc-linux-gnu-gcc CXX=x86_64-pc-linux-gnu-g++ AR=x86_64-pc-linux-gnu-ar RANLIB=x86_64-pc-linux-gnu-ranlib
14220 pts/1    SN+    0:00  |                               \_ /bin/sh -c sed -e "s|^[^:]*: *||" -e "s| *\\\\$||" -e 's|^ *||' -e "/./s|$|:|" out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp >> out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp
14221 pts/1    RN+    3:13  |                                   \_ sed -e s|^[^:]*: *|| -e s| *\\$|| -e s|^ *|| -e /./s|$|:| out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp


Reproducible: Always

Steps to Reproduce:
1. I tried to emerge www-client/chromium-4.0.266.0

Actual Results:  
Emerge breaks when hard disk is full.

Expected Results:  
Chromium is emerged.
Comment 1 Marcus Klein 2009-12-17 09:21:21 UTC
I search for the /var/tmp/portage/www-client/chromium-4.0.266.0/temp/build.log but I can't find it. Going to write the output of emerge to a file and I will attach that.
Comment 2 Marcus Klein 2009-12-17 10:10:35 UTC
Created attachment 213279 [details]
Output of emerging chromium.
Comment 3 Stefan Behte (RETIRED) gentoo-dev Security 2009-12-18 15:15:28 UTC
Please add emerge --info.
Comment 4 Marcus Klein 2009-12-18 16:23:42 UTC
marcus marcus # emerge --info
Portage 2.1.6.13 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-1.12.13
Timestamp of tree: Fri, 18 Dec 2009 08:45:01 +0000
app-shells/bash:     4.0_p35
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.4
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage_distfiles"
FEATURES="distlocks fixpackages metadata-transfer parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="de de_DE en en_US"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/xen /usr/portage/local/layman/vmware /usr/portage/local/layman/gentoo-china /usr/portage/local/misc"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="64bit S3TC X a52 aac acl acpi alsa amazon amd64 amr apache2 asf async autoipd avahi bash-completion berkdb bluetooth bonjour branding bzip2 cairo cdr cli consolekit cpio cracklib crypt css cups curl custom-optimization cxx daap dbus dga divx dmi dri dts dvd dvdr dynamic emboss encode evo exif exscalibar extras facebook fam ffmpeg fftw firefox flac fortran gdbm gif gimpprint glitz gnome gnome-print gphoto2 gpm gtk gtk2 hal htmlhandbook icecast iconv icq idled idn imlib ipod ipv6 java java5 java6 javamail jce jingle jpeg kde ldap libnotify lm_sensors logrotate mad matroska max-idx-128 mdnsresponder-compat mikmod mmx mmxext mng modules mozdevelop mozsvg mp3 mp4 mpeg mplayer mpm-worker mtp mudflap multilib munin-apache musicbrainz mysql ncurses networkmanager nfs nls nodrm nptl nptlonly nsplugin nvidia ogg opengl openmp oscar pam pcre pdf perl plugins pmu png pppd prediction python qt3support qt4 quicktime readline reflection rpm rtc samba sdl session sieve skype smp spell spl sql sse sse2 ssl startup-notification svg sysfs syslog tcpd threads thumbnail thunar tiff truetype unicode usb userlocales vdpau vorbis webdav webkit wmf x264 xchatdccserver xcomposite xinerama xml xorg xscreensaver xulrunner xv xvid xvmc yahoo zeroconf zlib" ALSA_CARDS="atiixp" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de de_DE en en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Bernard Cafarelli gentoo-dev 2009-12-21 22:20:41 UTC
Hmm this is (yet another) new behavior to me, and nothing relevant shows up on upstream crbug.com ... Did previous versions work? Do you have webkit-gtk and/or qt-webkit installed on your system and did they compile fine? (as this hangs in the webkit code)

Pawel, any thoughts?
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2009-12-22 12:23:58 UTC
Just a note: the failure is in V8 bindings which are not used in a normal webkit build (JavaScriptCore is the default JavaScript engine for webkit). I'm investigating the failure (I'm not sure if the mentioned file is supposed to be so big).

Marcus, just a quick sanity check - do you have at least 5 GB of free space on /var/tmp or so? Chromium build needs a lot of disk space.
Comment 7 Marcus Klein 2009-12-22 12:44:44 UTC
As you can see more that 5G available.

marcus ~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg1-var   8.8G  2.4G  5.9G  29% /var
Comment 8 Marcus Klein 2009-12-22 15:57:34 UTC
I recompiled webkit-gtk-1.1.0 and qt-webkit-4.5.3 without any problems. Then I tried chromium again with the following result when /var is full. I can increase the size of /var but I do not think this fixes this issue.

marcus ~ # du -sh /var/tmp/portage/www-client/chromium-4.0.266.0
6.4G    /var/tmp/portage/www-client/chromium-4.0.266.0
marcus ~ # ls -lh /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp
-rw-r--r-- 1 root root 5.6G 2009-12-22 16:21 /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/out/Release/obj.target/webcore_bindings/third_party/WebKit/WebCore/bindings/v8/DerivedSourcesAllInOne.o.d.tmp
Comment 9 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2009-12-22 21:18:09 UTC
Could you check if the scons build works? Here's how to try it:

Find this line in the ebuild:

build/gyp_chromium -f make build/all.gyp ${myconf} --depth=. || die "gyp failed"

And replace by

build/gyp_chromium build/all.gyp ${myconf} --depth=. || die "gyp failed"

And then replace

	emake -r V=1 chrome chrome_sandbox BUILDTYPE=Release \
		rootdir="${S}" \
		CC=$(tc-getCC) \
		CXX=$(tc-getCXX) \
		AR=$(tc-getAR) \
		RANLIB=$(tc-getRANLIB) \
		|| die "compilation failed"

By

scons --site-dir="${S}/site_scons" -C build \
		--mode=Release || die "scons failed"

Please make sure you have scons installed.
Comment 10 Marcus Klein 2009-12-23 11:28:36 UTC
First of all I had to install dev-util/scons. It was not installed on my machine. Maybe chromium requires that for building. I will test it.

And here the last lines with your modified ebuild. Everything looks fine for me although I do not have any idea what this test was for. For what do I have to look?

Compiling /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/obj/chrome/unit_tests/test/v8_unit_test.o                                       
Compiling /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/obj/chrome/unit_tests/browser/renderer_host/gtk_key_bindings_handler_unittest.o 
Compiling /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/obj/media/qt_faststart/tools/qt_faststart/qt_faststart.o                        
Linking /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/qt_faststart                                                                      
Compiling /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/obj/breakpad/generate_test_dump/linux/generate-test-dump.o                      
Linking /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/generate_test_dump                                                                
Linking /var/tmp/portage/www-client/chromium-4.0.266.0/work/chromium-4.0.266.0/sconsbuild/Release/unit_tests                                                                        
scons: done building targets.
>>> Source compiled.
>>> Test phase [not enabled]: www-client/chromium-4.0.266.0

>>> Install chromium-4.0.266.0 into /var/tmp/portage/www-client/chromium-4.0.266.0/image/ category www-client
!!! doexe: out/Release/chrome does not exist
!!! doexe: out/Release/chrome_sandbox does not exist
chmod: cannot access `/var/tmp/portage/www-client/chromium-4.0.266.0/image//usr/lib64/chromium-browser/chrome_sandbox': No such file or directory
!!! doexe: out/Release/xdg-settings does not exist
install: cannot stat `out/Release/chrome.pak': No such file or directory
!!! doins: out/Release/chrome.pak does not exist
install: cannot stat `out/Release/locales': No such file or directory
!!! doins: out/Release/locales does not exist
install: cannot stat `out/Release/resources': No such file or directory
!!! doins: out/Release/resources does not exist
!!! newman: out/Release/chrome.1 does not exist
!!! newman: out/Release/chrome.1 does not exist
!!! newins: out/Release/product_logo_48.png does not exist
>>> Completed installing chromium-4.0.266.0 into /var/tmp/portage/www-client/chromium-4.0.266.0/image/

 * QA Notice: file does not exist:
 *
 *      doexe: out/Release/chrome does not exist
 *      doexe: out/Release/chrome_sandbox does not exist
 *      doexe: out/Release/xdg-settings does not exist
 *      doins: out/Release/chrome.pak does not exist
 *      doins: out/Release/locales does not exist
 *      doins: out/Release/resources does not exist
 *      newman: out/Release/chrome.1 does not exist
 *      newman: out/Release/chrome.1 does not exist
 *      newins: out/Release/product_logo_48.png does not exist

>>> Installing (1 of 1) www-client/chromium-4.0.266.0
 * checking 6 files for package collisions
--- /usr/
--- /usr/bin/
--- /usr/lib64/
>>> /usr/lib64/chromium-browser/
>>> /usr/lib64/chromium-browser/libavcodec.so.52 -> /usr/lib64/libavcodec.so.52
>>> /usr/lib64/chromium-browser/plugins -> /usr/lib64/nsbrowser/plugins
>>> /usr/lib64/chromium-browser/libavutil.so.50 -> /usr/lib64/libavutil.so.50
>>> /usr/lib64/chromium-browser/libavformat.so.52 -> /usr/lib64/libavformat.so.52
>>> /usr/lib64/chromium-browser/chromium-launcher.sh
--- /usr/share/
--- /usr/share/applications/
>>> /usr/share/applications/chromium-chromium.desktop
--- /usr/share/pixmaps/
>>> /usr/bin/chromium -> /usr/lib64/chromium-browser/chromium-launcher.sh
>>> Regenerating /etc/ld.so.cache...

>>> Recording www-client/chromium in "world" favorites file...
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.
Comment 11 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2009-12-23 12:25:00 UTC
You can build chromium with make (that's what the ebuild does) or scons (that's what I wanted you to test). I forgot that by default chrome isn't built, but unit tests are (which require webkit).

So it means that it works for you with the scons build. I'll talk to some people about switching to the scons build or make it easy to build with scons.
Comment 12 Marcus Klein 2010-01-14 13:33:16 UTC
(In reply to comment #11)
> So it means that it works for you with the scons build. I'll talk to some
> people about switching to the scons build or make it easy to build with scons.

But what about all those missing binaries? Can I get them by further extending the ebuild?
Comment 13 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-01-14 13:38:39 UTC
Well, let's solve it this way: please report your bug upstream (http://new.crbug.com) and put the link here.
Comment 14 Marcus Klein 2010-01-14 14:45:24 UTC
Tested with 4.0.288.1. Same issue occurs.
Comment 15 Marcus Klein 2010-01-14 14:46:46 UTC
Reported this bug upstream: https://code.google.com/p/chromium/issues/detail?id=32259
Comment 16 Marcus Klein 2010-01-26 08:43:48 UTC
Please have a look at the upstream bug. I need to modify the ebuild and apply a patch to the Makefile of chromium. Is there some documentation how to do this? The patch itself is no problem for me but integrating that patch into the ebuild is completely new to me.
Comment 17 Maciej Mrozowski gentoo-dev 2010-02-18 23:27:39 UTC
Please consider masking all www-client/chromium versions (instead of just a few selected ones) as none of them build because of this bug.
Comment 18 Maciej Mrozowski gentoo-dev 2010-02-19 00:12:24 UTC
Created attachment 220253 [details, diff]
Supposed fix
Comment 19 Maciej Mrozowski gentoo-dev 2010-02-19 00:26:02 UTC
Created attachment 220257 [details, diff]
Actually remove temporary depfile
Comment 20 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-02-19 09:18:13 UTC
Okay, lemme test this locally and commit. I'll also ping upstream.
Comment 21 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-02-19 15:32:29 UTC
Patch applied in cvs, thanks.
Comment 22 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-02-22 15:17:56 UTC
This is now also tracked in http://code.google.com/p/gyp/issues/detail?id=140