Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 90151 - emerge sync with many files on rsync-2.6.0-r4 server timeouts
Summary: emerge sync with many files on rsync-2.6.0-r4 server timeouts
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-23 12:01 UTC by Petteri Räty (RETIRED)
Modified: 2006-05-14 05:34 UTC (History)
2 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 Petteri Räty (RETIRED) gentoo-dev 2005-04-23 12:01:41 UTC
I have 2.6.0-r4 on both the server and client. It's a 100mbit local network using cable and 11mbit wlan. When moving lot's of files emerge sync timeouts. The client is an ultra portable laptop. The timeout comes with both wlan and cable. 

I didn't have these problems before I upgraded rsync. I can sync normally to rsync.europe.gentoo.org, but it can get stuck for a while every once in a while. The server sync without problems but it's a done daily so I haven't tried syncing a full tree.  

Reproducible: Always
Steps to Reproduce:
1. rm -fr /usr/portage/*
2. emerge sync 2.6.0-r4 in server and client 


Actual Results:  
io timeout after 180 seconds - exiting
rsync error: timeout in data send/receive (code 30) at io.c(109)
rsync: connection unexpectedly closed (2699475 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(189) 


client:
betelgeuse@flybook ~ $ emerge info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, unavailable,
2.6.11-love2 i686)
=================================================================
System uname: 2.6.11-love2 i686 Transmeta(tm) Crusoe(tm) Processor TM5800
Gentoo Base System version 1.6.11
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 14 2005, 19:31:25)]
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.14
virtual/os-headers:  [Not Present]
ACCEPT_KEYWORDS=""
CFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer -mpreferred-stack-boundary=2
-falign-functions=0 -falign-jumps=0 -falign-loops=0"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer
-mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS=" ftp://192.168.150.1/ http://trumpetti.atm.tut.fi/gentoo
http://lame.lut.fi/linux/gentoo "
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.150.1/portage/"
USE="acpi bluetooth bzip2 bzlib divx4linux ieee1394 imap java kdeenablefinal mmx
mozilla mp3 network nptl pcmcia pnp radeon real rtc unicode usb userlocales wifi
xml xvid"

server:
aria betelgeuse # emerge info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.4.20041102-r1, 2.6.10-gentoo-r6 i686)
=================================================================
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar  7 2005, 19:30:23)]
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.8.1-r1, 2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/home/distfiles"
FEATURES="autoaddcvs autoconfig distlocks sandbox sfperms strict userpriv
usersandbox"
GENTOO_MIRRORS=" http://trumpetti.atm.tut.fi/gentoo
http://lame.lut.fi/linux/gentoo "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowex acl acpi alsa apache2 apm avi bash-completion berkdb
bitmap-fonts bzlib cdr crypt cups curl emboss encode foomaticdb gd gdbm gif gpm
imlib jpeg libg++ libwww mad makecheck mikmod mmx motif mp3 mpeg ncurses nls
nptl oggvorbis pam png ppds python quicktime readline ruby samba slang sse ssl
tcpd tiff truetype truetype-fonts type1-fonts unicode usb vhosts xml2 xmms zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS, LINGUAS
Comment 1 SpanKY gentoo-dev 2005-04-23 13:58:50 UTC
i doubt it has anything to do with 2.6.0-r3 to 2.6.0-r4 because the only change between those versions is a config file move
Comment 2 Petteri Räty (RETIRED) gentoo-dev 2005-04-23 14:17:57 UTC
Hmm. I just checked and this happens with my desktop too. I normally use nfs for my desktop but now decided to test with my desktop too. This probably has something to do with the server side. 
Comment 3 Petteri Räty (RETIRED) gentoo-dev 2005-04-23 14:23:51 UTC
I just did rm -fr /usr/portage/* ; emerge sync on the server but it still timeouts. 
Comment 4 Petteri Räty (RETIRED) gentoo-dev 2005-04-23 14:37:58 UTC
From the desktop:
app-editors/emacs/metadata.xml
         158 100%    0.39kB/s    0:00:00  (746, 4.8% of 114532)
io timeout after 180 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at io.c(181)
rsync: connection unexpectedly closed (2698445 bytes received so far) [generator]
rsync error: error in rsync protocol data stream (code 12) at io.c(420)
Comment 5 Petteri Räty (RETIRED) gentoo-dev 2005-04-23 14:40:53 UTC
Hmm. The desktop has rsync-2.6.4 (~x86). It seems more and more to be a server related problem.
Comment 6 Dave M 2005-06-16 22:43:42 UTC
I had the same problem on laptop with small memory size (96 M).
Probably not enough RAM to cache files or something.
Rsync appears to be taking too long for default 180 second timeout.
Fixed problem on my system by changing /etc/make.conf:

RSYNC_TIMEOUT=2000

This seemed to give rsync enough time to do the sync and timeout
didn't occur.

-d
Comment 7 Petteri Räty (RETIRED) gentoo-dev 2005-06-25 13:54:21 UTC
I have 512 MB of memory in the laptop so that is not an issue. I guess the hard
drive could be a bit in the slow slide.
Comment 8 Ivan Lloro 2006-04-16 03:32:15 UTC
Same issue here. The cause is simple:
- Traversing the whole local portage tree takes much more than just 3 minutes.
- Rsync connection remains idle until a new/modified ebuild needs to be transferred. When idle for more than 3 minutes we reach the timeout.
This point is especially true if the tree is synced regularly at short intervals (1 day) because there are few changes in the tree.

Due to a continuosly incresing size portage tree, this problem could become mainstream and should be addressed. Maybe the built-in 'mytimeout=180' into emerge is just too little and not applicable for a standard installation any more. Actually, I fail to see any real disadvantage in raising this value by default as it is a *client* imposed limit anyway. Besides, if timeouts are avoided, the server suffers less (each reconnection accounts to barely 3.5MB). I really wonder how much increased traffic Gentoo mirrors support just because of this timeout.

Comment 9 SpanKY gentoo-dev 2006-05-11 20:42:05 UTC
re-open if 2.6.8 still breaks
Comment 10 Ivan Lloro 2006-05-14 05:34:36 UTC
(In reply to comment #9)
> re-open if 2.6.8 still breaks
> 

It still breaks. As I explained in my previous post, 'rsync' is not the issue but 'emerge'. Just increasing the default value of 'mytimeout=180' (/usr/bin/emerge, line 2392) to a saner value like 'mytimeout=1000' will solve this bug.

PD: I am not allowed to reopen this bug. To whoever who can, please, do it.