[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Perl IPC::Open3 bug, affects apt-get, compiler issue?

Hello debian developers,

There seems to be a bug in Perl in Debian Woody for ARM. The symptoms 
include "Illegal seek" errors, and apt failing to show the configuration

I've been experiencing this bug first on my Psion 5mx running Woody, 
and recently on my Netwinder box. Following are four examples to try 
to narrow down where the bug happens.

The weird thing is that all the samples below work fine with
/usr/bin/debugperl instead of /usr/bin/perl. The only difference
between these builds seems to be the DEBUGGING compile flag, which makes
me think it may be a compiler issue? Changing between the original
FPE and the fast FPE in the kernel does not seem to make any difference.

Anybody else experienced this? Let me know if you need more info... 
I've symlinked perl to debugperl for now.



And here are the four samples to demonstrate the bug:

1. Errors with apt-get

Apt-get fails with "Illegal seek" which happens in IPC::Open3. No
configuration dialog boxes show up.

nw:/usr/bin# apt-get install --reinstall debconf
Reading Package Lists... Done
Building Dependency Tree... Done
0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0  not upgraded.
Need to get 0B/94.0kB of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n] y
Syntax: dpkg-reconfigure [options] [debs]
       --apt                    Apt mode.
  -f,  --frontend               Specify debconf frontend to use.
  -p,  --priority               Specify minimum priority question to show.
  -s,  --showold                Redisplay old, already seen questions.
       --terse                  Enable terse mode.
(Reading database ... 39573 files and directories currently installed.)
Preparing to replace debconf 1.0.32 (using .../debconf_1.0.32_all.deb) ...
Unpacking replacement debconf ...
Setting up debconf (1.0.32) ...
Illegal seek at /usr/share/perl5/Debconf/ConfModule.pm line 44.
dpkg: error processing debconf (--configure):
 subprocess post-installation script returned error exit status 29
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

This works fine with /usr/bin/perl-debug instead of /usr/bin/perl.

2. Errors with dpkg-reconfigure

Dpkg-reconfigure fails with following error:

nw:/usr/bin# dpkg-reconfigure debconf
Syntax: dpkg-reconfigure [options] packages
  -a,  --all                    Reconfigure all packages.
  -u,  --unseen-only            Show only not yet seen questions.
       --force                  Force reconfiguration of broken packages.
  -f,  --frontend               Specify debconf frontend to use.
  -p,  --priority               Specify minimum priority question to show.
  -s,  --showold                Redisplay old, already seen questions.
       --terse                  Enable terse mode.

No dialog boxes for options show up. This works fine when using 
/usr/bin/perl-debug instead of /usr/bin/perl.

3. Errors with Perl IPC::Open3

Here's a little IPC::Open 3 test, copied from the net somewhere:

nw:/usr/bin# perl -e 'use IPC::Open3; print "boo\n"; open3 (\*OUT,\*IN,\*ERR,"echo foo"); $x = <IN>; print "$x\n"' | cat

The foo is not printed here. This works fine with /usr/bin/perl-debug
instead of /usr/bin/perl.

4. Integer conversion error with Perl

My friend Paul Walmsley was troubleshooting this bug too, and came to
the following conclusion (Thanks Paul!):

I think I've isolated it down to a minimal test case.  check this out:

    perl -e 'print "BUG!\n" unless 0 == 0;'

weird, huh?  however,

    perl -e 'use integer; print "BUG!\n" unless 0 == 0;'

works fine.

The test above again works fine with /usr/bin/perl-debug instead of

And here's my system info:

nw:/usr/bin# uname -a
Linux nw 2.4.18-rmk4 #9 Fri Apr 26 10:32:44 PDT 2002 armv4l unknown
(A Netwinder box)

nw:/usr/bin# perl -v
This is perl, v5.6.1 built for arm-linux

nw:/usr/bin# debugperl -v
This is perl, v5.6.1 built for arm-linux

To UNSUBSCRIBE, email to debian-arm-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

Reply to: