Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] EbuildProcess logs poll-error to already removed $T (on AIX)
Date: Fri, 25 Mar 2011 16:24:48
Message-Id: 4D8CC19C.8070505@gentoo.org
In Reply to: [gentoo-portage-dev] EbuildProcess logs poll-error to already removed $T (on AIX) by Michael Haubenwallner
1 On 03/25/2011 01:21 AM, Michael Haubenwallner wrote:
2 > Hi Zac (et al),
3 >
4 > while this problem occurs on AIX only (for now?), I doubt this problem is
5 > introduced in prefix-portage.
6 >
7 > With recent prefix-portage-2.2.01.18125 (Fabian, how do you calculate the
8 > version numbers since moving to git?), the "EbuildProcess" spits this
9 > every now and then during "emerge mime-types" fex:
10 >
11 > * EbuildProcess received strange poll event: 16384
12 >
13 > While I don't understand (yet) why this is there on AIX at all, it does
14 > trigger an IOError when trying to log this message to $T/build.log after
15 > $WORKDIR has been cleaned up. When I avoid the logging of this message,
16 > everything (seems to) work fine.
17
18 You can compare 16384 to the values of POLLERR and POLLNVAL in order to
19 see what type of event it is. Apparently the values on AIX are different
20 from those on Linux, because here's what I see on Linux:
21
22 Python 2.7.1 (r271:86832, Mar 19 2011, 04:00:12)
23 [GCC 4.5.2] on linux2
24 Type "help", "copyright", "credits" or "license" for more information.
25 >>> import select
26 >>> dir(select)
27 ['EPOLLERR', 'EPOLLET', 'EPOLLHUP', 'EPOLLIN', 'EPOLLMSG',
28 'EPOLLONESHOT', 'EPOLLOUT', 'EPOLLPRI', 'EPOLLRDBAND', 'EPOLLRDNORM',
29 'EPOLLWRBAND', 'EPOLLWRNORM', 'PIPE_BUF', 'POLLERR', 'POLLHUP',
30 'POLLIN', 'POLLMSG', 'POLLNVAL', 'POLLOUT', 'POLLPRI', 'POLLRDBAND',
31 'POLLRDNORM', 'POLLWRBAND', 'POLLWRNORM', '__doc__', '__file__',
32 '__name__', '__package__', 'epoll', 'error', 'poll', 'select']
33 >>> select.POLLNVAL
34 32
35 >>> select.POLLERR
36 8
37
38 > For the attached logfile, I've added these two lines to usr/lib/portage/bin/ebuild.sh:
39 > @@ -1,3 +1,5 @@
40 > #!/big5tk/local/gprefix/bin/bash
41 > # Copyright 1999-2011 Gentoo Foundation
42 > # Distributed under the terms of the GNU General Public License v2
43 > +echo "ebuild.sh: $0 $@" >&2
44 > +echo "ebuild.sh: WORKDIR: ${WORKDIR}" >&2
45 > @@
46 >
47 > Any idea?
48
49 This will handle the IOError:
50
51
52 http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0a64f784003c11e151405b7f708d77770de0ed57
53
54 It might be risky to skip logging of the POLLNVAL / POLLERR events, so
55 hopefully we can determine their cause and handle them somehow. Do they
56 seem to cause any problems? It might be something specific about pty
57 devices on AIX.
58 --
59 Thanks,
60 Zac

Replies