Debian Bug report logs - #676461
libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow

version graph

Package: libncursesw5; Maintainer for libncursesw5 is Craig Small <csmall@debian.org>; Source for libncursesw5 is src:ncurses.

Reported by: shawn <shawn@jengr.tk>

Date: Thu, 7 Jun 2012 06:45:02 UTC

Severity: important

Tags: upstream

Found in version ncurses/5.9-8

Fixed in version ncurses/5.9-9

Done: Sven Joachim <svenjoac@gmx.de>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Thu, 07 Jun 2012 06:45:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to shawn <shawn@jengr.tk>:
New Bug report received and forwarded. Copy sent to Craig Small <csmall@debian.org>. (Thu, 07 Jun 2012 06:45:05 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: shawn <shawn@jengr.tk>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Thu, 07 Jun 2012 06:42:24 +0000
Package: libncursesw5
Version: 5.9-8
Severity: important
Tags: upstream

at line 15732 in ./configure

echo "$as_me:15718: checking if poll really works" >&5
echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
if test "${cf_cv_working_poll+set}" = set; then
  echo $ECHO_N "(cached) $ECHO_C" >&6
else

if test "$cross_compiling" = yes; then
  cf_cv_working_poll=unknown
else
  cat >conftest.$ac_ext <<_ACEOF
#line 15728 "configure"
#include "confdefs.h"

#include <stdio.h>
#ifdef HAVE_POLL_H
#include <poll.h>
#else
#include <sys/poll.h>
#endif
int main() {
        struct pollfd myfds;
        int ret;

        myfds.fd = 0;
        myfds.events = POLLIN;

        ret = poll(&myfds, 1, 100);
        ${cf_cv_main_return:-return}(ret != 0);
}
_ACEOF
rm -f conftest$ac_exeext
if { (eval echo "$as_me:15749: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  echo "$as_me:15752: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (eval echo "$as_me:15754: \"$ac_try\"") >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  echo "$as_me:15757: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  cf_cv_working_poll=yes
else
  echo "$as_me: program exited with status $ac_status" >&5
echo "$as_me: failed program was:" >&5
cat conftest.$ac_ext >&5
cf_cv_working_poll=no
fi
rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
fi
echo "$as_me:15769: result: $cf_cv_working_poll" >&5
echo "${ECHO_T}$cf_cv_working_poll" >&6
test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF
#define HAVE_WORKING_POLL 1
EOF



If i compile the C test myself, adding a printf at the end, ret==0 after the poll().

The buildds are returning 

"checking if poll really works... no"

yet Linux's poll() is fine.

which results in ncurses/tty/tty_update.c using select() instead of poll() for the main loop,
select() having considerably more overhead.

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (101, 'unstable'), (1, 'experimental')
Architecture: armel (armv5tel)

Kernel: Linux 3.4.0-tomoyo-00006-gfd64aac (PREEMPT)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages libncursesw5 depends on:
ii  libc6              2.13-33
ii  libtinfo5          5.9-8
ii  multiarch-support  2.13-33

Versions of packages libncursesw5 recommends:
ii  libgpm2  1.20.4-4em1

libncursesw5 suggests no packages.

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Thu, 07 Jun 2012 10:54:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to dickey@his.com:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Thu, 07 Jun 2012 10:54:08 GMT) Full text and rfc822 format available.

Message #10 received at 676461@bugs.debian.org (full text, mbox):

From: Thomas Dickey <dickey@his.com>
To: shawn <shawn@jengr.tk>, 676461@bugs.debian.org
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Thu, 07 Jun 2012 06:51:38 -0400
[Message part 1 (text/plain, inline)]
On Thu, Jun 07, 2012 at 06:42:24AM +0000, shawn wrote:
> Package: libncursesw5
> Version: 5.9-8
> Severity: important
> Tags: upstream
> 
> int main() {
>         struct pollfd myfds;
>         int ret;
> 
>         myfds.fd = 0;
>         myfds.events = POLLIN;
> 
>         ret = poll(&myfds, 1, 100);

Reflecting on it, the check relies on the given file-descriptor and timeout.
Standard input is not redirected.

The check does need a tty though (for Darwin).  The return-code for that might
be a -1 (making a comparison for that case more apt - will have to test).

Almost all of my build-logs (reviewing my build-logs, I see one out of ~60
combinations failing for Linux) for Linux show it working - probably depends
upon the environment.

> If i compile the C test myself, adding a printf at the end, ret==0 after the poll().
> 
> The buildds are returning 
> 
> "checking if poll really works... no"
> 
> yet Linux's poll() is fine.

usually (I seem to recall that the original reason for testing poll vs
select was in fact a buggy implementation on Linux - that's been a while).

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Thu, 07 Jun 2012 12:21:47 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Thu, 07 Jun 2012 12:22:08 GMT) Full text and rfc822 format available.

Message #15 received at 676461@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: dickey@his.com
Cc: 676461@bugs.debian.org, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Thu, 07 Jun 2012 13:43:11 +0200
On 2012-06-07 12:51 +0200, Thomas Dickey wrote:

> On Thu, Jun 07, 2012 at 06:42:24AM +0000, shawn wrote:
>> Package: libncursesw5
>> Version: 5.9-8
>> Severity: important
>> Tags: upstream
>> 
>> int main() {
>>         struct pollfd myfds;
>>         int ret;
>> 
>>         myfds.fd = 0;
>>         myfds.events = POLLIN;
>> 
>>         ret = poll(&myfds, 1, 100);
>
> Reflecting on it, the check relies on the given file-descriptor and timeout.
> Standard input is not redirected.
>
> The check does need a tty though (for Darwin).  The return-code for that might
> be a -1 (making a comparison for that case more apt - will have to test).
>
> Almost all of my build-logs (reviewing my build-logs, I see one out of ~60
> combinations failing for Linux) for Linux show it working - probably depends
> upon the environment.

I am surprised to read that, since the test has apparently always failed
not only on the Debian buildds, but also in Fedora[1].  For me it also
fails unless stdin is redirected.

Cheers,
       Sven


1. http://koji.fedoraproject.org/koji/packageinfo?packageID=375




Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Thu, 07 Jun 2012 20:06:11 GMT) Full text and rfc822 format available.

Acknowledgement sent to dickey@his.com:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Thu, 07 Jun 2012 20:06:11 GMT) Full text and rfc822 format available.

Message #20 received at 676461@bugs.debian.org (full text, mbox):

From: Thomas Dickey <dickey@his.com>
To: Sven Joachim <svenjoac@gmx.de>, 676461@bugs.debian.org
Cc: dickey@his.com, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Thu, 07 Jun 2012 16:04:05 -0400
[Message part 1 (text/plain, inline)]
On Thu, Jun 07, 2012 at 01:43:11PM +0200, Sven Joachim wrote:
> On 2012-06-07 12:51 +0200, Thomas Dickey wrote:
> 
> > On Thu, Jun 07, 2012 at 06:42:24AM +0000, shawn wrote:
> >> Package: libncursesw5
> >> Version: 5.9-8
> >> Severity: important
> >> Tags: upstream
> >> 
> >> int main() {
> >>         struct pollfd myfds;
> >>         int ret;
> >> 
> >>         myfds.fd = 0;
> >>         myfds.events = POLLIN;
> >> 
> >>         ret = poll(&myfds, 1, 100);
> >
> > Reflecting on it, the check relies on the given file-descriptor and timeout.
> > Standard input is not redirected.
> >
> > The check does need a tty though (for Darwin).  The return-code for that might
> > be a -1 (making a comparison for that case more apt - will have to test).
> >
> > Almost all of my build-logs (reviewing my build-logs, I see one out of ~60
> > combinations failing for Linux) for Linux show it working - probably depends
> > upon the environment.
> 
> I am surprised to read that, since the test has apparently always failed
> not only on the Debian buildds, but also in Fedora[1].  For me it also
> fails unless stdin is redirected.

I don't know either: I last changed that check (CF_FUNC_POLL) at the end of
January (to add the check for /dev/null), and have rebuilt most platforms since
then.  The previous version is from 2006.

I build everything essentially in the same way (redirecting stdout/stderr,
running as non-root except for installs), and see exactly one Linux failure,
for Debian 6.0 64-bits (the other failures are for Darwin and MinGW).

Most of the builds do more than one configuration.  The single failure,
now that I'm looking closely at the log, is for cross-compiling to MinGW.
So there's actually no failure that I can see here (ymmv)

I've also built with Debian 6.0 32-bits, Debian 5, unstable and testing
(the test says that poll works).  Also Fedora 13-16 (same result), as
well as Arch, CentOS (4-6), Mandriva, OpenSuSE (11 and 12), Slackware, and
Ubuntu.

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Fri, 08 Jun 2012 16:51:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to shawn <shawnlandden@gmail.com>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Fri, 08 Jun 2012 16:51:08 GMT) Full text and rfc822 format available.

Message #25 received at 676461@bugs.debian.org (full text, mbox):

From: shawn <shawnlandden@gmail.com>
To: dickey@his.com
Cc: bug-ncurses@gnu.org, 676461@bugs.debian.org
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Fri, 08 Jun 2012 09:46:46 -0700
resend, seems like i got blocked from the other address, even @ BTS

On Thu, 2012-06-07 at 06:51 -0400, Thomas Dickey wrote: 
> On Thu, Jun 07, 2012 at 06:42:24AM +0000, shawn wrote:
> > Package: libncursesw5
> > Version: 5.9-8
> > Severity: important
> > Tags: upstream
> > 
> > int main() {
> >         struct pollfd myfds;
> >         int ret;
> > 
> >         myfds.fd = 0;
> >         myfds.events = POLLIN;
> > 
> >         ret = poll(&myfds, 1, 100);
> 
> Reflecting on it, the check relies on the given file-descriptor and timeout.
> Standard input is not redirected.
> 
> The check does need a tty though (for Darwin).  The return-code for that might
> be a -1 (making a comparison for that case more apt - will have to test).
> 
> Almost all of my build-logs (reviewing my build-logs, I see one out of ~60
> combinations failing for Linux) for Linux show it working - probably depends
> upon the environment.
All of my computers' ncurses, under a number of distributions, are using
select(). 
> 
> > If i compile the C test myself, adding a printf at the end, ret==0 after the poll().
> > 
> > The buildds are returning 
> > 
> > "checking if poll really works... no"
> > 
> > yet Linux's poll() is fine.
> 
> usually (I seem to recall that the original reason for testing poll vs
> select was in fact a buggy implementation on Linux - that's been a while).

I recompiled ncurses forcing poll() and it worked fine with my existing
ncurses binaries; on 3.2 kernel. Copying these libncurses and libtinfo,
plus new libc, to a Centos 6.2 machine, (2.6.32) and using it with
system binaries there also worked, with is sadly the oldest OS I have
with disk space available.

-- 
-Shawn Landden





Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Fri, 08 Jun 2012 20:00:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Fri, 08 Jun 2012 20:00:05 GMT) Full text and rfc822 format available.

Message #30 received at 676461@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: dickey@his.com
Cc: 676461@bugs.debian.org, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Fri, 08 Jun 2012 21:58:00 +0200
On 2012-06-07 22:04 +0200, Thomas Dickey wrote:

> On Thu, Jun 07, 2012 at 01:43:11PM +0200, Sven Joachim wrote:
>> On 2012-06-07 12:51 +0200, Thomas Dickey wrote:
>> 
>> > On Thu, Jun 07, 2012 at 06:42:24AM +0000, shawn wrote:
>> >> Package: libncursesw5
>> >> Version: 5.9-8
>> >> Severity: important
>> >> Tags: upstream
>> >> 
>> >> int main() {
>> >>         struct pollfd myfds;
>> >>         int ret;
>> >> 
>> >>         myfds.fd = 0;
>> >>         myfds.events = POLLIN;
>> >> 
>> >>         ret = poll(&myfds, 1, 100);
>> >
>> > Reflecting on it, the check relies on the given file-descriptor and timeout.
>> > Standard input is not redirected.
>> >
>> > The check does need a tty though (for Darwin).  The return-code for that might
>> > be a -1 (making a comparison for that case more apt - will have to test).
>> >
>> > Almost all of my build-logs (reviewing my build-logs, I see one out of ~60
>> > combinations failing for Linux) for Linux show it working - probably depends
>> > upon the environment.
>> 
>> I am surprised to read that, since the test has apparently always failed
>> not only on the Debian buildds, but also in Fedora[1].  For me it also
>> fails unless stdin is redirected.
>
> I don't know either: I last changed that check (CF_FUNC_POLL) at the end of
> January (to add the check for /dev/null), and have rebuilt most platforms since
> then.  The previous version is from 2006.
>
> I build everything essentially in the same way (redirecting stdout/stderr,

Do you also redirect stdin?  Otherwise it's hard to get a non-zero
result from poll(): you have to manage pressing the return key during
the 100 milliseconds the test takes, it seems.

Cheers,
       Sven




Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Fri, 08 Jun 2012 23:57:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to dickey@his.com:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Fri, 08 Jun 2012 23:57:03 GMT) Full text and rfc822 format available.

Message #35 received at 676461@bugs.debian.org (full text, mbox):

From: Thomas Dickey <dickey@his.com>
To: Sven Joachim <svenjoac@gmx.de>, 676461@bugs.debian.org
Cc: dickey@his.com, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Fri, 08 Jun 2012 19:51:48 -0400
[Message part 1 (text/plain, inline)]
On Fri, Jun 08, 2012 at 09:58:00PM +0200, Sven Joachim wrote:
> Do you also redirect stdin?  Otherwise it's hard to get a non-zero

no - just stdout/stderr

On the other hand, rpm and dpkg build tools can redirect things as well.

> result from poll(): you have to manage pressing the return key during
> the 100 milliseconds the test takes, it seems.

The exit code is inverted: it is true if nonzero, which could be
-1 or some number greater than zero (the latter would indicate some
input happening, though which of the cases is hard to tell).

The ret==0 that was noted before would make the test succeed.

I've modified the test to fix the two issues that I could see,
and made rpm/dpkg scripts which did fail, but now work with the
changed test.

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Sat, 09 Jun 2012 07:48:17 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Sat, 09 Jun 2012 07:48:17 GMT) Full text and rfc822 format available.

Message #40 received at 676461@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: dickey@his.com
Cc: 676461@bugs.debian.org, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Sat, 09 Jun 2012 09:47:00 +0200
On 2012-06-09 01:51 +0200, Thomas Dickey wrote:

> On Fri, Jun 08, 2012 at 09:58:00PM +0200, Sven Joachim wrote:
>> Do you also redirect stdin?  Otherwise it's hard to get a non-zero
>
> no - just stdout/stderr
>
> On the other hand, rpm and dpkg build tools can redirect things as well.

Indeed, and sbuild does just that:

,----
| sbuild (0.37) unstable; urgency=low
| 
|       + Disassociate from the controlling terminal and make stdin /dev/null
|         for the dpkg-buildpackage process.
| 
|  -- Roger Leigh <rleigh@debian.org>  Tue, 31 Jan 2006 12:58:57 +0000
`----

Pbuilder redirects stdin to a pipe, also failing the test.

>> result from poll(): you have to manage pressing the return key during
>> the 100 milliseconds the test takes, it seems.
>
> The exit code is inverted: it is true if nonzero, which could be
> -1 or some number greater than zero (the latter would indicate some
> input happening, though which of the cases is hard to tell).

Aah, of course.  Now this makes sense even to me.

> I've modified the test to fix the two issues that I could see,
> and made rpm/dpkg scripts which did fail, but now work with the
> changed test.

Thanks,
       Sven




Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Sat, 09 Jun 2012 08:39:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Sat, 09 Jun 2012 08:39:03 GMT) Full text and rfc822 format available.

Message #45 received at 676461@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: 676461@bugs.debian.org
Cc: dickey@his.com, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Sat, 09 Jun 2012 10:36:00 +0200
On 2012-06-09 09:47 +0200, Sven Joachim wrote:

> On 2012-06-09 01:51 +0200, Thomas Dickey wrote:
>
>> The exit code is inverted: it is true if nonzero, which could be
>> -1 or some number greater than zero (the latter would indicate some
>> input happening, though which of the cases is hard to tell).
>
> Aah, of course.  Now this makes sense even to me.

However, I still have some problems understanding the test: in the
"else" branch, isn't it guaranteed that ret >= 0, no matter what?
The following makes more a bit more sense to me:

--8<---------------cut here---------------start------------->8---
diff --git a/aclocal.m4 b/aclocal.m4
index f5a7260..304ddba 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1730,7 +1730,7 @@ int main() {
 		myfds.revents = 0;
 
 		ret = poll(&myfds, 1, 100);
-		if (ret < 0) {
+		if (ret > 0) {
 			ret = 0;
 		}
 	}
--8<---------------cut here---------------end--------------->8---

Or, since you no longer check for ret != 0, but rather ret < 0 at the
end:

--8<---------------cut here---------------start------------->8---
diff --git a/aclocal.m4 b/aclocal.m4
index f5a7260..9270878 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1730,9 +1730,6 @@ int main() {
 		myfds.revents = 0;
 
 		ret = poll(&myfds, 1, 100);
-		if (ret < 0) {
-			ret = 0;
-		}
 	}
 	${cf_cv_main_return:-return}(ret < 0);
 }],
--8<---------------cut here---------------end--------------->8---

Also, shouldn't the test check whether opening /dev/tty was actually
successful?

Cheers,
       Sven




Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Sat, 09 Jun 2012 09:33:13 GMT) Full text and rfc822 format available.

Acknowledgement sent to dickey@his.com:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Sat, 09 Jun 2012 09:33:19 GMT) Full text and rfc822 format available.

Message #50 received at 676461@bugs.debian.org (full text, mbox):

From: Thomas Dickey <dickey@his.com>
To: Sven Joachim <svenjoac@gmx.de>, 676461@bugs.debian.org
Cc: dickey@his.com, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Sat, 09 Jun 2012 05:29:11 -0400
[Message part 1 (text/plain, inline)]
On Sat, Jun 09, 2012 at 10:36:00AM +0200, Sven Joachim wrote:
> On 2012-06-09 09:47 +0200, Sven Joachim wrote:
> 
> > On 2012-06-09 01:51 +0200, Thomas Dickey wrote:
> >
> >> The exit code is inverted: it is true if nonzero, which could be
> >> -1 or some number greater than zero (the latter would indicate some
> >> input happening, though which of the cases is hard to tell).
> >
> > Aah, of course.  Now this makes sense even to me.
> 
> However, I still have some problems understanding the test: in the
> "else" branch, isn't it guaranteed that ret >= 0, no matter what?
> The following makes more a bit more sense to me:

man poll:

RETURN VALUE
       On success, a positive number is returned; this is the number of struc-
       tures  which  have  non-zero  revents  fields  (in  other  words, those
       descriptors with events or errors reported).  A value  of  0  indicates
       that  the call timed out and no file descriptors were ready.  On error,
       -1 is returned, and errno is set appropriately.
 
> --8<---------------cut here---------------start------------->8---
> diff --git a/aclocal.m4 b/aclocal.m4
> index f5a7260..304ddba 100644
> --- a/aclocal.m4
> +++ b/aclocal.m4
> @@ -1730,7 +1730,7 @@ int main() {
>  		myfds.revents = 0;
>  
>  		ret = poll(&myfds, 1, 100);
> -		if (ret < 0) {
> +		if (ret > 0) {
>  			ret = 0;
>  		}
>  	}
> --8<---------------cut here---------------end--------------->8---
> 
> Or, since you no longer check for ret != 0, but rather ret < 0 at the
> end:
> 
> --8<---------------cut here---------------start------------->8---
> diff --git a/aclocal.m4 b/aclocal.m4
> index f5a7260..9270878 100644
> --- a/aclocal.m4
> +++ b/aclocal.m4
> @@ -1730,9 +1730,6 @@ int main() {
>  		myfds.revents = 0;
>  
>  		ret = poll(&myfds, 1, 100);
> -		if (ret < 0) {
> -			ret = 0;
> -		}

ouch - I think you're right.
(for next week - I'm out the rest of the weekend)

>  	}
>  	${cf_cv_main_return:-return}(ret < 0);
>  }],
> --8<---------------cut here---------------end--------------->8---
> 
> Also, shouldn't the test check whether opening /dev/tty was actually
> successful?

I assumed in that instance that poll would simply fail :-)
> 
> Cheers,
>        Sven
> 
> 

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Craig Small <csmall@debian.org>:
Bug#676461; Package libncursesw5. (Sat, 09 Jun 2012 10:54:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac@gmx.de>:
Extra info received and forwarded to list. Copy sent to Craig Small <csmall@debian.org>. (Sat, 09 Jun 2012 10:54:17 GMT) Full text and rfc822 format available.

Message #55 received at 676461@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: dickey@his.com
Cc: 676461@bugs.debian.org, shawn <shawn@jengr.tk>
Subject: Re: Bug#676461: libncursesw5: buggy test causes select() to be used instead of poll(), making ncurses really slow
Date: Sat, 09 Jun 2012 12:47:30 +0200
On 2012-06-09 11:29 +0200, Thomas Dickey wrote:

> On Sat, Jun 09, 2012 at 10:36:00AM +0200, Sven Joachim wrote:
>
>> Also, shouldn't the test check whether opening /dev/tty was actually
>> successful?
>
> I assumed in that instance that poll would simply fail :-)

Well, it returns 0 which you treat as success.  From the manpage:

 The field  fd contains a  file descriptor for  an open file.   If this
 field is negative, then the  corresponding events field is ignored and
 the  revents  field returns  zero.

Cheers,
       Sven




Added tag(s) pending. Request was from Sven Joachim <svenjoac@gmx.de> to control@bugs.debian.org. (Sun, 10 Jun 2012 06:27:07 GMT) Full text and rfc822 format available.

Message sent on to shawn <shawn@jengr.tk>:
Bug#676461. (Sun, 10 Jun 2012 06:27:10 GMT) Full text and rfc822 format available.

Message #60 received at 676461-submitter@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: 676461-submitter@bugs.debian.org
Subject: Bug#676461 marked as pending
Date: Sun, 10 Jun 2012 06:20:24 +0000
tag 676461 pending
thanks

Hello,

Bug #676461 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=collab-maint/ncurses.git;a=commitdiff;h=09fb7bd

---
commit 09fb7bd0243cd119e00089124e78dee601e89c9d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jun 10 08:12:21 2012 +0200

    New patch 05-fix-poll-test.diff to correct CF_FUNC_POLL test
    
    There were actually two problems with the test: it did not check
    whether standard input was redirected, and if poll() returned a
    positive result, the test inadvertently failed.  Building ncurses with
    stdin redirected to /dev/null (as under sbuild) would thus result in
    select() rather than poll() being used in ncurses/tty/tty_update.c.

diff --git a/debian/changelog b/debian/changelog
index 5309b02..db1dd7f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+ncurses (5.9-9) UNRELEASED; urgency=low
+
+  * New patch 05-fix-poll-test.diff adapted from the 20120608 upstream
+    patchlevel, correcting the CF_FUNC_POLL test which inadvertently
+    failed if standard input was redirected, as is the case on the Debian
+    buildds (Closes: #676461).
+
+ -- Sven Joachim <svenjoac@gmx.de>  Sun, 10 Jun 2012 08:11:44 +0200
+
 ncurses (5.9-8) unstable; urgency=low
 
   * Update terminfo descriptions to the 20120602 upstream patchlevel.




Reply sent to Sven Joachim <svenjoac@gmx.de>:
You have taken responsibility. (Thu, 14 Jun 2012 15:36:03 GMT) Full text and rfc822 format available.

Notification sent to shawn <shawn@jengr.tk>:
Bug acknowledged by developer. (Thu, 14 Jun 2012 15:36:20 GMT) Full text and rfc822 format available.

Message #65 received at 676461-close@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: 676461-close@bugs.debian.org
Subject: Bug#676461: fixed in ncurses 5.9-9
Date: Thu, 14 Jun 2012 15:32:26 +0000
Source: ncurses
Source-Version: 5.9-9

We believe that the bug you reported is fixed in the latest version of
ncurses, which is due to be installed in the Debian FTP archive:

lib64ncurses5-dev_5.9-9_i386.deb
  to main/n/ncurses/lib64ncurses5-dev_5.9-9_i386.deb
lib64ncurses5_5.9-9_i386.deb
  to main/n/ncurses/lib64ncurses5_5.9-9_i386.deb
lib64tinfo5_5.9-9_i386.deb
  to main/n/ncurses/lib64tinfo5_5.9-9_i386.deb
libncurses5-dbg_5.9-9_i386.deb
  to main/n/ncurses/libncurses5-dbg_5.9-9_i386.deb
libncurses5-dev_5.9-9_i386.deb
  to main/n/ncurses/libncurses5-dev_5.9-9_i386.deb
libncurses5_5.9-9_i386.deb
  to main/n/ncurses/libncurses5_5.9-9_i386.deb
libncursesw5-dbg_5.9-9_i386.deb
  to main/n/ncurses/libncursesw5-dbg_5.9-9_i386.deb
libncursesw5-dev_5.9-9_i386.deb
  to main/n/ncurses/libncursesw5-dev_5.9-9_i386.deb
libncursesw5_5.9-9_i386.deb
  to main/n/ncurses/libncursesw5_5.9-9_i386.deb
libtinfo-dev_5.9-9_i386.deb
  to main/n/ncurses/libtinfo-dev_5.9-9_i386.deb
libtinfo5-dbg_5.9-9_i386.deb
  to main/n/ncurses/libtinfo5-dbg_5.9-9_i386.deb
libtinfo5_5.9-9_i386.deb
  to main/n/ncurses/libtinfo5_5.9-9_i386.deb
ncurses-base_5.9-9_all.deb
  to main/n/ncurses/ncurses-base_5.9-9_all.deb
ncurses-bin_5.9-9_i386.deb
  to main/n/ncurses/ncurses-bin_5.9-9_i386.deb
ncurses-doc_5.9-9_all.deb
  to main/n/ncurses/ncurses-doc_5.9-9_all.deb
ncurses-examples_5.9-9_i386.deb
  to main/n/ncurses/ncurses-examples_5.9-9_i386.deb
ncurses-term_5.9-9_all.deb
  to main/n/ncurses/ncurses-term_5.9-9_all.deb
ncurses_5.9-9.debian.tar.gz
  to main/n/ncurses/ncurses_5.9-9.debian.tar.gz
ncurses_5.9-9.dsc
  to main/n/ncurses/ncurses_5.9-9.dsc



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 676461@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sven Joachim <svenjoac@gmx.de> (supplier of updated ncurses package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 14 Jun 2012 17:02:56 +0200
Source: ncurses
Binary: libtinfo5 libncurses5 libtinfo-dev libtinfo5-dbg libncurses5-dev libncurses5-dbg libncursesw5 libncursesw5-dev libncursesw5-dbg lib64ncurses5 lib64ncurses5-dev lib32ncurses5 lib32ncurses5-dev lib32ncursesw5 lib32ncursesw5-dev lib64tinfo5 lib32tinfo5 lib32tinfo-dev ncurses-bin ncurses-base ncurses-term ncurses-examples ncurses-doc
Architecture: source i386 all
Version: 5.9-9
Distribution: unstable
Urgency: low
Maintainer: Craig Small <csmall@debian.org>
Changed-By: Sven Joachim <svenjoac@gmx.de>
Description: 
 lib32ncurses5 - shared libraries for terminal handling (32-bit)
 lib32ncurses5-dev - developer's libraries for ncurses (32-bit)
 lib32ncursesw5 - shared libraries for terminal handling (wide character support) (
 lib32ncursesw5-dev - developer's libraries for ncursesw (32-bit)
 lib32tinfo-dev - developer's library for the low-level terminfo library (32-bit)
 lib32tinfo5 - shared low-level terminfo library for terminal handling (32-bit)
 lib64ncurses5 - shared libraries for terminal handling (64-bit)
 lib64ncurses5-dev - developer's libraries for ncurses (64-bit)
 lib64tinfo5 - shared low-level terminfo library for terminal handling (64-bit)
 libncurses5 - shared libraries for terminal handling
 libncurses5-dbg - debugging/profiling libraries for ncurses
 libncurses5-dev - developer's libraries for ncurses
 libncursesw5 - shared libraries for terminal handling (wide character support)
 libncursesw5-dbg - debugging/profiling libraries for ncursesw
 libncursesw5-dev - developer's libraries for ncursesw
 libtinfo-dev - developer's library for the low-level terminfo library
 libtinfo5  - shared low-level terminfo library for terminal handling
 libtinfo5-dbg - debugging/profiling library for the low-level terminfo library
 ncurses-base - basic terminal type definitions
 ncurses-bin - terminal-related programs and man pages
 ncurses-doc - developer's guide and documentation for ncurses
 ncurses-examples - test programs and examples for ncurses
 ncurses-term - additional terminal type definitions
Closes: 676461
Changes: 
 ncurses (5.9-9) unstable; urgency=low
 .
   * New patch 05-fix-poll-test.diff adapted from the 20120608 upstream
     patchlevel, correcting the CF_FUNC_POLL test which inadvertently
     failed if standard input was redirected, as is the case on the Debian
     buildds (Closes: #676461).
   * Assume working poll() for the biarch packages where we cannot run the
     configure check.
Checksums-Sha1: 
 7a34ca5311cc366102125eeac18f2f5090bd088e 3117 ncurses_5.9-9.dsc
 242a226a9f9cf6f51af6e095ae0b3c8b5a50ee3d 105387 ncurses_5.9-9.debian.tar.gz
 e1b6e3dc21e97b1b64364e7ecb1e6aafdcf578aa 268746 libtinfo5_5.9-9_i386.deb
 ab79bc8c11660bb90301d8f8b70f66917f9232e5 116620 libncurses5_5.9-9_i386.deb
 8aeacdfffdb108d8f75977313a239809041622fa 93252 libtinfo-dev_5.9-9_i386.deb
 b54e8822310b12138a30e94baf95b519931187df 692920 libtinfo5-dbg_5.9-9_i386.deb
 21a95c3078dbe44d980ab3def246b5ed31574134 212342 libncurses5-dev_5.9-9_i386.deb
 0368da79e7bc1a23b5a9e5a518390c79b4f9a48d 2964672 libncurses5-dbg_5.9-9_i386.deb
 04a66e13af515b85da90388b9a9de72a98581aca 148690 libncursesw5_5.9-9_i386.deb
 1ff1d95ee58607d4c096b768b4932c0dc2510573 249048 libncursesw5-dev_5.9-9_i386.deb
 8be8bb27afa68539af2dabc68f9bf452f9228108 2131146 libncursesw5-dbg_5.9-9_i386.deb
 e978ff8b41e94131628af535b6421eab725078e1 112698 lib64ncurses5_5.9-9_i386.deb
 1efe5da704ee7fe80ef785ad17f1f6b1fe607400 260696 lib64ncurses5-dev_5.9-9_i386.deb
 f8edc6bd8620c230511f9df8a8f4b92357a69828 92050 lib64tinfo5_5.9-9_i386.deb
 5787f5e3a1ad2a7bb9d3d8e3edfd4025a5006c65 332348 ncurses-bin_5.9-9_i386.deb
 aeb9ae6a9ff1478d88233f6c8583c4983c95d0bb 420902 ncurses-examples_5.9-9_i386.deb
 446b17f8b6bc71ad5fc76f3c0c6e23b335f02fe9 198172 ncurses-base_5.9-9_all.deb
 4b0d4416e51429070355791ea9a98f415ece79ad 602336 ncurses-term_5.9-9_all.deb
 3fea1f46fc5fec56b549410dd95b15dc51733b0d 1015538 ncurses-doc_5.9-9_all.deb
Checksums-Sha256: 
 51022706e7357b61973c8b8168061e4ca7429edac5b7044bb275973eada77d80 3117 ncurses_5.9-9.dsc
 bf69f96505407d09eac27bfe9ad94146d54943afd27796916ad999927ecf8ce3 105387 ncurses_5.9-9.debian.tar.gz
 124e01361f3d644dfe4a462db0b2b3f68015558c79494584cd79e166e077bc4f 268746 libtinfo5_5.9-9_i386.deb
 bb268cdc21228c196323fe0063673a7da69500ebfc4f75f57cc458876899d090 116620 libncurses5_5.9-9_i386.deb
 935f50a7b180170a85302e7076136e5e2809ff8a4cda7f867ff89f2c9274a1f6 93252 libtinfo-dev_5.9-9_i386.deb
 71e0ef3971032a21d7875d2cf6e0b07dece0693f405420c00f89ba13811dcf62 692920 libtinfo5-dbg_5.9-9_i386.deb
 ec6f2ba08585e1e10dc6fc22fa999a57ed7289d97e8e8147f932c0cfe44baa95 212342 libncurses5-dev_5.9-9_i386.deb
 739f3a34d74e5fd2df3549ece7c960966862f3953dd865b74a1476be2f201102 2964672 libncurses5-dbg_5.9-9_i386.deb
 3f4d10924ce82a5ff18f87cf668b68f2f316936509e934aa2f5e5d710ae0bd11 148690 libncursesw5_5.9-9_i386.deb
 79bf0ceac00d7a89fe4b4539be60c518ef74953256ff16746e682ef5ed90ed71 249048 libncursesw5-dev_5.9-9_i386.deb
 f136179709831d34bef0980b903e8a90981b23ff72bfb038625f21493d6644a8 2131146 libncursesw5-dbg_5.9-9_i386.deb
 6006e74771cebc076c34c1c59875cb37d303ce220bde2652a504d88e2136f32a 112698 lib64ncurses5_5.9-9_i386.deb
 f7ca1a6e2c1830d8bb5bf9d5d7e13bd65ca6ddae97b2165abdb17af24045249e 260696 lib64ncurses5-dev_5.9-9_i386.deb
 598e3eaf698769973b5b4879e381ffbffbcbf4dc99ada97f45750bf2cc592d21 92050 lib64tinfo5_5.9-9_i386.deb
 5ba0ff8885259f06080c923579fa259418b9ecc0f5fd6647e7c7b23a0039ada3 332348 ncurses-bin_5.9-9_i386.deb
 52e079081654497a88d959448ff9ec66d004e1265624afcf8a0a0ebcef7a6fa2 420902 ncurses-examples_5.9-9_i386.deb
 9637743bd4285bf10ab6f779de7ee89400cfb241904b787fbb0e8a353f53d440 198172 ncurses-base_5.9-9_all.deb
 1ed60149fb24f5e2bf34c35bc9d471167926424fe3c185db79f0d8ea5de0d607 602336 ncurses-term_5.9-9_all.deb
 c877ade547f691c3e9318984a74e209bdb79877482fb1f6f8e2ecd56acb1a09f 1015538 ncurses-doc_5.9-9_all.deb
Files: 
 9cbd7316649f59864abdda5326ec136a 3117 libs required ncurses_5.9-9.dsc
 11a14db029fd7ac84193a3d92f01f55f 105387 libs required ncurses_5.9-9.debian.tar.gz
 17ed1517050c6a97342dcd44906f3bf4 268746 libs required libtinfo5_5.9-9_i386.deb
 06acf7ebc9a8aa264fd7e7e3bdd438f2 116620 libs required libncurses5_5.9-9_i386.deb
 3080818b92c056f833af0017b1c3998f 93252 libdevel optional libtinfo-dev_5.9-9_i386.deb
 9647d3b7758c0f548e5ddffa65c8ac1e 692920 debug extra libtinfo5-dbg_5.9-9_i386.deb
 1854c41f742794300f56c8d81511ab9e 212342 libdevel optional libncurses5-dev_5.9-9_i386.deb
 9a8f81cf931ec4b281f040f888a933d3 2964672 debug extra libncurses5-dbg_5.9-9_i386.deb
 bf59db92e782165f02ffdf41ed419dc2 148690 libs important libncursesw5_5.9-9_i386.deb
 835e29445bae613af625a5870f8dc689 249048 libdevel optional libncursesw5-dev_5.9-9_i386.deb
 294a1d5cf39aba9c7a02f5d3fe83d0cb 2131146 debug extra libncursesw5-dbg_5.9-9_i386.deb
 96639b465266ada478e2dd058aced6ca 112698 libs optional lib64ncurses5_5.9-9_i386.deb
 1b65ed866a3c3e0db4e3b0c92f6efa72 260696 libdevel optional lib64ncurses5-dev_5.9-9_i386.deb
 c0beb267aed6bbce80f08a548ac54e46 92050 libs optional lib64tinfo5_5.9-9_i386.deb
 6ac8c3bef6223a066e2fa9aeef56bffe 332348 utils required ncurses-bin_5.9-9_i386.deb
 5ea478f6feb77f46b7ad376dddd411ad 420902 misc optional ncurses-examples_5.9-9_i386.deb
 57a430cce5bb02724966622a601baeb6 198172 misc required ncurses-base_5.9-9_all.deb
 b05935fa669b85352aa3fa3fbf49fede 602336 misc standard ncurses-term_5.9-9_all.deb
 1a3c85a24e4b38c4e1581e8e47b98a0c 1015538 doc optional ncurses-doc_5.9-9_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCgAGBQJP2gAAAAoJEDsQbnGNazGsuY4P/0mvJ6fMx9o9Cgu1ySLuORjO
3YHJNy5vkITIAvPouVmV0tn+7G/6c9pZe2pz6vLk1iu14O4oo9B8rrjDB+B9uoD+
SwBv4c5ft0oqdd0anCGdOM7ECwhMKhhYBOjrbZvDFIO0G9FHC8TGN/5fxKx0SH7I
OM3vLYXQkStO83WQrbPwSLMwXrzMv6SgfhJZrJjHPrxqXLM6gegsWhyk9BsBfdym
VqE13KxQH14nxsecWlmTPF1DEAoUNOxjmInnRThCy0E4mQMc/koNOv8pwu9frYa4
eF24jwz0SVmiMHces9DXqYN344Z+q/2WSqnOI/1ZPVyphZz5EESLtWEWoO8WtvGi
6oS4NvaxInRENRzmOn9Rz9LoezCNE9qy8ot76Y6kIdIz2A59D6/CrXxCLiR1ZSTZ
3xcDcaCW7SkpEvGyVqz0PmrGcZRz414saSdKmt/cV5NRYSR1KbjPKH5xl5ojjmSS
Ttbf4r8pA8XBDKRfuH15m9HxREnme7lIXcHzH9zwr7wJVcHuznmc/KclviaUFXYb
GkRu2laLcRCN3B4kkmmpca0XQ3gKKFsCPsRNX+lH3oFjWMQwZkEDoKL1n2aKTmpy
gI3vVtP6fTZfN9EMnGyxFaPnwkjdLXybi8v/Q/3jblKxDkJkwU/QOSO/dVReHoY7
zG2o2U9U992sQLOrpsRj
=ifxh
-----END PGP SIGNATURE-----





Added tag(s) pending. Request was from Sven Joachim <svenjoac@gmx.de> to control@bugs.debian.org. (Sun, 15 Jul 2012 18:18:15 GMT) Full text and rfc822 format available.

Message sent on to shawn <shawn@jengr.tk>:
Bug#676461. (Sun, 15 Jul 2012 18:18:26 GMT) Full text and rfc822 format available.

Message #70 received at 676461-submitter@bugs.debian.org (full text, mbox):

From: Sven Joachim <svenjoac@gmx.de>
To: 676461-submitter@bugs.debian.org
Subject: Bug#676461 marked as pending
Date: Sun, 15 Jul 2012 18:15:50 +0000
tag 676461 pending
thanks

Hello,

Bug #676461 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=collab-maint/ncurses.git;a=commitdiff;h=09fb7bd

---
commit 09fb7bd0243cd119e00089124e78dee601e89c9d
Author: Sven Joachim <svenjoac@gmx.de>
Date:   Sun Jun 10 08:12:21 2012 +0200

    New patch 05-fix-poll-test.diff to correct CF_FUNC_POLL test
    
    There were actually two problems with the test: it did not check
    whether standard input was redirected, and if poll() returned a
    positive result, the test inadvertently failed.  Building ncurses with
    stdin redirected to /dev/null (as under sbuild) would thus result in
    select() rather than poll() being used in ncurses/tty/tty_update.c.

diff --git a/debian/changelog b/debian/changelog
index 5309b02..db1dd7f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+ncurses (5.9-9) UNRELEASED; urgency=low
+
+  * New patch 05-fix-poll-test.diff adapted from the 20120608 upstream
+    patchlevel, correcting the CF_FUNC_POLL test which inadvertently
+    failed if standard input was redirected, as is the case on the Debian
+    buildds (Closes: #676461).
+
+ -- Sven Joachim <svenjoac@gmx.de>  Sun, 10 Jun 2012 08:11:44 +0200
+
 ncurses (5.9-8) unstable; urgency=low
 
   * Update terminfo descriptions to the 20120602 upstream patchlevel.



Removed tag(s) pending. Request was from Sven Joachim <svenjoac@gmx.de> to control@bugs.debian.org. (Sun, 15 Jul 2012 18:45:09 GMT) Full text and rfc822 format available.

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 13 Aug 2012 07:27:29 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Apr 23 17:11:19 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.