Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 525 forks source link

Re: DBI-1.11: many tests fail with Perl5.005_57 + AIX + threading #102

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#906 (status was 'resolved')

Searchable as RT906$

p5pRT commented 24 years ago

From @timbunce

Summary of my perl5 (revision 5.0 version 5 subversion 57) configuration​: Platform​: osname=aix\, osvers=4.3.2.0\, archname=aix-thread uname='aix aasc24 3 4 00ffffff4c00 ' config_args='-desr -Dusethreads -Duseshrplib -Dcc=cc -Dccflags=-DSOCKS -DDEBUGGING -Doptimize=-O2 -Uinstallusrbinperl' hint=recommended\, useposix=true\, d_sigaction=define usethreads=define useperlio=undef d_sfio=undef use64bits=undef usemultiplicity=undef Compiler​: cc='cc_r'\, optimize='-O2'\, gccversion= cppflags='-DSOCKS -DDEBUGGING -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -DNEED_PTHREAD_INIT -I/usr/local/include' ccflags ='-DSOCKS -DDEBUGGING -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=8192 -DNEED_PTHREAD_INIT -I/usr/local/include' stdchar='unsigned char'\, d_stdstdio=define\, usevfork=false intsize=4\, longsize=4\, ptrsize=4\, doublesize=8 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=8 alignbytes=8\, usemymalloc=n\, prototype=define Linker and Libraries​: ld='ld'\, ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lnsl -lgdbm -ldbm -ldb -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW -lsocks5 libc=\, so=a\, useshrplib=true\, libperl=libperl.a Dynamic Linking​: dlsrc=dl_aix.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-bE​:perl.exp' cccdlflags=' '\, lddlflags='-bhalt​:4 -bM​:SRE -bI​:$(PERL_INC)/perl.exp -bE​:$(BASEEXT).exp -b noentry -lsocks5 -lpthreads -lc_r -L/usr/local/lib'

t/examp.............ok 104/196

t/examp.............ok 105/196Bad symbol for filehandle at blib/lib/DBD/ExampleP.pm line 321.

The offending line is​:

  closedir($sth->{dbd_datahandle});

The only other relevant lines are​:

  $sth->{dbd_datahandle} = "DBD​::ExampleP​::".++$DBD​::ExampleP​::gensym;   opendir($sth->{dbd_datahandle}\, $dir)

I can't see why the test should fail in this way. Smells to me like a threaded-perl bug or AIX threaded libc bug.

Please confirm that there's no problem with a non-threaded perl. Please also do a spot of debugging to see what value is in $sth->{dbd_datahandle} (etc etc) in case that sheds any light on it.

I'd be grateful if someone could test DBI 1.11 with a threaded 5.005_57 on another platform (I don't have time right now).

Tim.