Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 337764 - sys-apps/portage-2.1.9.7: endless ebuild-ipc timed out during write after 15 seconds
Summary: sys-apps/portage-2.1.9.7: endless ebuild-ipc timed out during write after 15 ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 335925
  Show dependency tree
 
Reported: 2010-09-17 08:58 UTC by Juergen Rose
Modified: 2023-09-21 12:33 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2010-09-17 08:58:20 UTC
Reemerging gqview I get the following messages:
...

>>> Installing (1 of 1) media-gfx/gqview-2.1.5
 * checking 56 files for package collisions
--- /usr/
--- /usr/bin/
>>> /usr/bin/gqview
...
>>> /usr/share/man/man1/gqview.1.bz2
>>> Safely unmerging already-installed instance...
ebuild-ipc timed out during write after 15 seconds, retrying...
ebuild-ipc timed out during write after 30 seconds, retrying...
ebuild-ipc timed out during write after 45 seconds, retrying...
...
ebuild-ipc timed out during write after 990 seconds, retrying...
ebuild-ipc timed out during write after 1005 seconds, retrying...
...

Reproducible: Always




root@cheetah:/root(1)# emerge --info
Portage 2.1.9.7 (default/linux/x86/10.0/desktop, gcc-4.4.4, glibc-2.12.1-r1, 2.6.34-gentoo-r1 i686)
=================================================================
System uname: Linux-2.6.34-gentoo-r1-i686-AMD_Athlon-tm-_XP_1800+-with-gentoo-2.0.1
Timestamp of tree: Fri, 17 Sep 2010 02:05:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13::<unknown repository>, 2.67
sys-devel/automake:  1.4_p6-r1, 1.7.9-r2, 1.8.5-r3::<unknown repository>, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.35 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth AdobeFlash-10.1 cadsoft"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
CHOST="i686-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/eselect/compiler /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /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/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de fr"
MAKEOPTS="-j1"
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="/var/lib/layman/java-overlay /var/lib/layman/n4g /var/lib/layman/x11 /var/lib/layman/sunrise /var/lib/layman/science /var/lib/layman/pro-audio /usr/local/portage /var/lib/cpan"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext R X Xaw3d a52 aac abiword acl acpi admin afs alsa ao apache2 applet archive arpack asf aspell assistant audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cardbus cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib crypt css cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds elf emacs emboss empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fpx fts3 fuse galago garmin gd gdal gdbm gedit geoip geolocation geos gif gimp ginac git glade glib gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea ladspa lame lapack latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo mad mail maildir mailwrapper mapnik math matroska matrox mikmod mkl mmx mmxext mng modules mono moonlight motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python python-bindings qemu qhull qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient sms sndfile snmp soup sox speex spell sql sqlite sse ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 virtualbox vorbis wav webdav webdav-serf webkit win32codecs wmf wxwidgets x264 x86 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" 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" CAMERAS="canon" DVB_CARDS="tda10045 tda10046lifeview" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                evdev               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" LIRC_DEVICES="hauppauge" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="mga matrox vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Juergen Rose 2010-09-17 09:50:49 UTC
After erasing gqview the next 'emerge gqview' was succesful.
Comment 2 Al 2010-09-25 16:59:39 UTC
I have seen this when repeatedly emerging portage and when initially emerging groff. In case of groff it occured immediately after unpacking of the sources.
Comment 3 Al 2010-09-25 17:54:51 UTC
(In reply to comment #2)
> I have seen this when repeatedly emerging portage and when initially emerging
> groff. In case of groff it occured immediately after unpacking of the sources.
> 

My workaround is to run ebuild xxx.ebuild install. 

I think this bug is related to bug #337465

Comment 4 Zac Medico gentoo-dev 2010-09-25 19:16:21 UTC
Hopefully it's fixed with portage-2.1.9.10. Please test.
Comment 5 Al 2010-09-25 20:00:26 UTC
(In reply to comment #4)
> Hopefully it's fixed with portage-2.1.9.10. Please test.
> 

Unfortunatly with portage-2.2.01.16616 (Prefix overlay on Cygwin):

>>> Source unpacked in /home/prefix/gentoo/var/tmp/portage/sys-apps/groff-1.20.1-r3/work
ebuild-ipc timed out during write after 15 seconds, retrying...
...
ebuild-ipc timed out during write after 225 seconds, retrying...
Comment 6 Zac Medico gentoo-dev 2010-09-25 20:23:52 UTC
(In reply to comment #5)
> Unfortunatly with portage-2.2.01.16616 (Prefix overlay on Cygwin):

Please file a separate bug. Each kernel behaves differently, and we can't handle them all in one bug. Your issue may be fixed already, but the fix may not have made it into a prefix release yet (latest fixes are have been mentioned on bug 337465).
Comment 7 Al 2010-09-25 20:39:40 UTC
> Please file a separate bug. Each kernel behaves differently, and we can't
> handle them all in one bug. Your issue may be fixed already, but the fix may
> not have made it into a prefix release yet (latest fixes are have been
> mentioned on bug 337465).

Yes, you asked for portage-2.1.9.10 and portage-2.2.01.16616 should be thereafter, even on Prefix. Hence, I thought to report that info. 

I wait a little before opening a new bug, to see if it goes away on it's own.
Comment 8 Fabian Groffen gentoo-dev 2010-09-25 20:43:06 UTC
Nah, I'll commit a new portage in a few, with ipc USE-flag to enable or disable it.  It'll be disabled by default (in Prefix) to be enabled in profiles that have configurations that actually support the code.

I'm not sure yet what it's useful for, but for Prefix it's going to cause more trouble than for anybody else.
Comment 9 Zac Medico gentoo-dev 2010-09-25 20:49:14 UTC
(In reply to comment #7)
> Yes, you asked for portage-2.1.9.10 and portage-2.2.01.16616 should be
> thereafter, even on Prefix. Hence, I thought to report that info. 

Still, if you have a different kernel then you can get wildly different results. Comment #0 clearly refers to a Linux kernel, and there have not been any ebuild-ipc issues reported for the Linux kernel since portage-2.1.9.10 (which is not true of other kernels, as evidenced by comments in bug 337465).
Comment 10 Al 2010-09-25 20:53:05 UTC
> Still, if you have a different kernel then you can get wildly different
> results. Comment #0 clearly refers to a Linux kernel, and there have not been
> any ebuild-ipc issues reported for the Linux kernel since portage-2.1.9.10
> (which is not true of other kernels, as evidenced by comments in bug 337465).
> 

OK, I learn that for the future, that it's always related to one kernel. 

Al
Comment 11 Richard 2011-08-20 18:21:23 UTC
I can trigger this problem in portage 2.1.10.3 using GNU Screen. It seems that if you put screen into scrollback mode (Ctrl+A Esc) while emerge is doing something, this happens. I have seen this twice so far. One time was when emerging packages. My computer did nothing for 7 hours until I put screen back into normal operation. I assume this happened there, but I was using --jobs, so I didn't check the ebuild logs. Another time was today when doing --depclean. I clearly saw this message occurring.

I have had this happen in the past with --jobs and even once filed a bug report for which a patch was written. I don't think every instance of this involves screen, but it seems that investigating the screen issue might give some insight into this problem. I would investigate this myself before reporting it, but I do not have time to do much with this.
Comment 12 Zac Medico gentoo-dev 2011-08-20 18:36:53 UTC
(In reply to comment #11)
> I can trigger this problem in portage 2.1.10.3 using GNU Screen. It seems that
> if you put screen into scrollback mode (Ctrl+A Esc) while emerge is doing
> something, this happens. I have seen this twice so far. One time was when
> emerging packages. My computer did nothing for 7 hours until I put screen back
> into normal operation. I assume this happened there, but I was using --jobs, so
> I didn't check the ebuild logs. Another time was today when doing --depclean. I
> clearly saw this message occurring.

A likely explanation is that screen stops processing stdout/stderr of attached processes when it is in scrollback mode. In thise case, there's nothing that attached processes like emerge can do except to wait for stdout/stderr to unblock. This type of issue can be fixed in screen by making it run a select/poll loop to process stdout/stderr of attached processes while it's in scrollback mode.
Comment 13 Richard 2011-08-20 19:03:09 UTC
(In reply to comment #12)
> (In reply to comment #11)
> > I can trigger this problem in portage 2.1.10.3 using GNU Screen. It seems that
> > if you put screen into scrollback mode (Ctrl+A Esc) while emerge is doing
> > something, this happens. I have seen this twice so far. One time was when
> > emerging packages. My computer did nothing for 7 hours until I put screen back
> > into normal operation. I assume this happened there, but I was using --jobs, so
> > I didn't check the ebuild logs. Another time was today when doing --depclean. I
> > clearly saw this message occurring.
> 
> A likely explanation is that screen stops processing stdout/stderr of attached
> processes when it is in scrollback mode. In thise case, there's nothing that
> attached processes like emerge can do except to wait for stdout/stderr to
> unblock. This type of issue can be fixed in screen by making it run a
> select/poll loop to process stdout/stderr of attached processes while it's in
> scrollback mode.

That is a good explanation. Unfortunately, screen has to do this in a way that does not cause it to use an infinite scrollback buffer, which would be a memory leak. Maybe a COW buffer would work where it will basically keep a temporary buffer so that the scrollback works and the actual buffer can keep going. I will try to file a separate bug for screen later when I have more time.

With that said, the idea that the ebuild-ipc time outs occur when stdout/stderr stops being processed suggests to me that a race condition is occurring during the build. In the past, these ebuild-ipc issues have usually been accompanied by heavy load from --jobs, which is consistent with the idea that a race condition is being triggered. Is it possible to get emerge to output diagnostic information on the recipient(s) of stdout and stderr for the entire process tree when the ebuild-ipc timeout occurs?
Comment 14 Zac Medico gentoo-dev 2011-08-20 23:04:34 UTC
(In reply to comment #13)
> With that said, the idea that the ebuild-ipc time outs occur when stdout/stderr
> stops being processed suggests to me that a race condition is occurring during
> the build. In the past, these ebuild-ipc issues have usually been accompanied
> by heavy load from --jobs, which is consistent with the idea that a race
> condition is being triggered.

If it times out endlessly, even after the load decreases or after stdout/stderr unblock, then that would probably indicate some kind of bug (possibly a race condition). However, if it eventually stops timing out after load decreases or stdout/stderr unblock, then it would be behaving as designed.

> Is it possible to get emerge to output diagnostic
> information on the recipient(s) of stdout and stderr for the entire process
> tree when the ebuild-ipc timeout occurs?

Currently, there is no special diagnostic output like you that, and I'm not sure exactly what you'd want to see in that output. Before we go there, I'd first like  to clarify whether it's behaving as designed or not. Does it stop timing out after the load decreases or after stdout/stderr unblock, or not?
Comment 15 Richard 2011-08-20 23:32:01 UTC
It has been a while since I have done a full system emerge to witness these problems in that context. With the first incident involving screen, it resumed after leaving scrollback mode. In instances not involving screen's scrollback mode, the builds failed, although those happened 2 to 3 months ago.
Comment 16 Zac Medico gentoo-dev 2014-10-08 00:17:16 UTC
Since there's no activity here lately, I think we can assume that this was fixed by the changes from bug 337465.

See bug 524328 for a similar issue that has been reported with more recent versions of portage.