develooper Front page | perl.perl5.porters | Postings from July 2003

[perl #23043] different behaviors observed with stdio vs. perlio

From:
perlbug-followup
Date:
July 18, 2003 12:50
Subject:
[perl #23043] different behaviors observed with stdio vs. perlio
Message ID:
rt-23043-61340.2.86760525758794@rt.perl.org
# New Ticket Created by  belg4mit@mit.edu 
# Please include the string:  [perl #23043]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=23043 >



This is a bug report for perl from belg4mit@mit.edu,
generated with the help of perlbug 1.34 running under perl v5.8.0.


-----------------------------------------------------------------
I was testing IO::Pager for cross-platform usability and ran
into some abnormal behavior that I'm rather certain is attributable
to perl itself. The module works fine on the 2 platforms I developed
it on, but everywhere else exhbits various oddities layed out below.
AFAIK I did not write perl 5.8 specific code. This chart maps out
results for tests 3 and 4 of IO::Pager, and there seems to be a
strong correlation between version, IO library, and behavior.

Note: make test will skip tests 3 and 4, this is why the README
and skip messages say to run perl -Mblib t.pl They can also be
run as perl -Mblib t/3.pl and perl -Mblib t/4.pl

build           ver     IO      platform   test 3       4

belg4mit        5.8.0   perlio  solaris         OK      OK
ActvSt 806      5.8.0   perlio  solaris         OK      D
hypothesis      5.8.0   stdio   solaris         OK      D
belg4mit        5.8.0   perlio  RH9             OK      OK
broquaint       5.8.0   stdio   RH7.3           A       OK
ActvSt 806      5.8.0   perlio  win98           C       OK
Indigo          5.8.0   perlio  win98           C       OK
hypothesis      5.6.1   perlio  solaris         A       B
athena          5.6.1   stdio   solaris         A       B
perl5           5.6.0   stdio   solaris         A       B
broquaint       5.6     stdio   RH7.3           A       OK
Indigo          5.6.1   stdio   win98           A       OK

A       Infinite loop with no output
B       Pager runs but displays nothing
C       Pager runs but term control not regained when it exits
D       t/4.t doesn't run from t.pl but runs fine manually

Also, I realize that the signal handler setting in 3.t should be
outside of the loop, and strace will pick up on this, but it does
not affect the results if it is moved outside of while.

PS> Not exactly pertinent to the bug report, but if anybody has
    a better idea how to handle tests 3 and 4 under Test::Harness
    I'd love to hear it.

Happy bug squashing!

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=high
---
This perlbug was built using Perl v5.8.0 - Fri Aug  9 06:33:44 EDT 2002
It is being executed now by  Perl v5.8.0 - Fri Aug  9 06:01:04 EDT 2002.

Site configuration information for perl v5.8.0:

Configured by belg4mit at Fri Aug  9 06:01:04 EDT 2002.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.4.9-31, archname=i686-linux-64int
    uname='linux calloway.mit.edu 2.4.9-31 #1 tue feb 26 07:11:02 est 2002 i686 unknown '
    config_args='-Dprefix=/mit/belg4mit'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=define use64bitall=undef uselongdouble=undef
    usemymalloc=y, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.1 2.96-85)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldl -lm -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
    libc=/lib/libc-2.2.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.2.4'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
    

---
@INC for perl v5.8.0:
    /mit/belg4mit/lib/perl5/5.8.0/i686-linux-64int
    /mit/belg4mit/lib/perl5/5.8.0
    /mit/belg4mit/lib/perl5/site_perl/5.8.0/i686-linux-64int
    /mit/belg4mit/lib/perl5/site_perl/5.8.0
    /mit/belg4mit/lib/perl5/site_perl
    .

---
Environment for perl v5.8.0:
    HOME=/mit/belg4mit
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/usr/athena/lib
    LOGDIR (unset)
    PATH=/mit/belg4mit/Private:/mit/belg4mit/arch/i386_rh9/bin:/usr/athena/bin:/usr/athena/etc:/bin/athena:/usr/bin:/bin:/usr/X11R6/bin:/usr/sbin:/sbin:/mit/sipb/arch/i386_rh9/bin:/mit/gnu/arch/i386_rh9/bin:/mit/games/arch/i386_linux24/bin:/mit/consult/arch/i386_rh9/bin:/mit/outland/arch/i386_rh9/bin:/mit/graphics/arch/i386_linux24/bin:/mit/infoagents/arch/i386_rh9/bin:/mit/windowmanagers/arch/i386_rh9/bin:/mit/java/arch/i386_linux24/bin
    PERL_BADLANG (unset)
    SHELL=/bin/athena/tcsh




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About