Gentoo Archives: gentoo-user

From: "Liebich
To: gentoo-user@l.g.o
Subject: AW: [gentoo-user] update-eix has memory problems
Date: Fri, 03 Feb 2006 10:13:58
Message-Id: 649A59E9F7977F449E5792357A9DDB2CAB7028@nets13ha.ww300.siemens.net
1 Hi,
2
3 I found out (using the source & inserting log statements :-) that my
4 peculiar format of
5 make.conf was the culprit.
6 For reasons too silly to explain here :-) I built up my USE variable in
7 more than one line:
8 USE="<....some flags>"
9 USE="$USE <more flags>"
10 (basically to make a use flag comparison somewhat easier). This is
11 totally deadly for update-eix
12 b/c of the way USE flags are read. In update-eix there is a "VarsReader"
13 class reading in variables - basically
14 a parser. The VarsReader may read more than one file (for example when
15 reading the profiles) and has the option to append
16 the new value of a variable to the old value. This is done for "USE".
17 Unfortunately there is no provision to switch
18 from this "append" behaviour to "overwrite old value as long as we are
19 in the same file".
20 Result: Each
21 USE="$USE <line n>"
22 line first expands the last value of $USE, appends <line n> it and
23 APPENDS THIS WHOLE LINE TO THE OLD VALUE - i.e. the USE values already
24 here get appended AGAIN. This gives you a verrry nice demonstration of
25 exponential growth :-)
26
27 Now just imagine writing more than 10 such "USE=..." lines, and you get
28 a string growing for a factor of 2^10=1024.
29 Voila :-)
30
31 Cheers,
32 Wolfgang
33
34 --
35 gentoo-user@g.o mailing list

Replies

Subject Author
Re: [gentoo-user] update-eix has memory problems Neil Bothwick <neil@××××××××××.uk>