List Info

Thread: Fcntl not thread-safe




Fcntl not thread-safe
user name
2007-08-27 14:58:38
# New Ticket Created by  "Jerry D. Hedden" 
# Please include the string:  [perl #44999]
# in the subject line of all future correspondence about
this issue. 
# <URL: h
ttp://rt.perl.org/rt3/Ticket/Display.html?id=44999 >


This is a bug report for perl from jdheddencpan.org,
generated with the help of perlbug 1.36 running under perl
5.9.5.

------------------------------------------------------------
-----
Occasionally, when running threaded applications that use
LWP::Simple, errors such as the following occur:
    Attempt to free non-existent shared string 'O_NOTRANS',
Perl
interpreter: 0x10569d98 during global destruction.
and/or
    Unbalanced string table refcount: (1) for
"F_NOTIFY" during global
destruction.

The reported strings are always those for Fcntl constants,
thus leading me to suspect that there is something
non-thread-safe about Fcntl.

The attached script reproduces the problem.  It must be run
a few dozen times to get an instance of the errors above.
Most of the time, however, the script fails on Abort, Seg
Fault or Hangup.

Also attached is a sample of the script's output when the
above errors occur.

See http://www.nntp.perl.org/group/perl.perl
5.porters/2007/06/msg125684.html
and http://www.nntp.perl.org/group/perl.perl
5.porters/2007/08/msg127869.html
for additional reports on this problem.
------------------------------------------------------------
-----
---
Flags:
    category=library
    severity=medium
---
Site configuration information for perl 5.9.5:

Configured by Jerry at Mon Aug 27 12:42:03 EDT 2007.

Summary of my perl5 (revision 5 version 9 subversion 5 patch
31756)
configuration:
  Platform:
    osname=cygwin, osvers=1.5.24(0.15642),
archname=cygwin-thread-multi-64int
    uname='cygwin_nt-5.1 pn100-02-2-054p 1.5.24(0.15642)
2007-01-31
10:57 i686 cygwin '
    config_args='-de -Dusedevel -Dversiononly=no
-Dinstallusrbinperl
-DPERL_OLD_COPY_ON_WRITE -Duse64bitint -Dusethreads
-Uusemymalloc
-Dnoextensions=attrs IPC/SysV Sys/Syslog DB_File NDBM_File
ODBM_File
SDBM_File Devel/DProf Devel/Peek re Text/Soundex
Math/BigInt/FastCalc
Time/Piece -A define:optimize=-O3 -pipe -funit-at-a-time
-mtune=pentium4m -march=pentium4 -mfpmath=sse -mieee-fp
-mmmx -msse
-msse2 -A append:ccflags= -DNO_MATHOMS'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define,
usesocks=undef
    use64bitint=define, use64bitall=undef,
uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV
-U__STRICT_ANSI__
-DNO_MATHOMS -fno-strict-aliasing -pipe',
    optimize='-O3 -pipe -funit-at-a-time -mtune=pentium4m
-march=pentium4 -mfpmath=sse -mieee-fp -mmmx -msse -msse2',
    cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__
-DNO_MATHOMS
-fno-strict-aliasing -pipe'
    ccversion='', gccversion='3.4.4 (cygming special, gdc
0.12, using
dmd 0.125)', 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=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags =' -Wl,--enable-auto-import
-Wl,--export-all-symbols -Wl,--stack,8388608
-Wl,--enable-auto-image-base -Wl,--enable-auto-import -s
-L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib /lib
    libs=-lgdbm -ldl -lcrypt -lgdbm_compat
    perllibs=-ldl -lcrypt -lgdbm_compat
    libc=/usr/lib/libc.a, so=dll, useshrplib=true,
libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef,
ccdlflags=' -s'
    cccdlflags=' ', lddlflags=' --shared 
-Wl,--enable-auto-import
-Wl,--export-all-symbols -Wl,--stack,8388608
-Wl,--enable-auto-image-base -Wl,--enable-auto-import -s
-L/usr/local/lib'

Locally applied patches:
    DEVEL

---
INC
for perl 5.9.5:
    /usr/lib/perl5/5.9.5/cygwin
    /usr/lib/perl5/5.9.5
    .

---
Environment for perl 5.9.5:
    CYGWIN=ntsec
    HOME=/home/jhedden
    LANG=C
    LANGUAGE=C
    LC_ALL=C
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
   
PATH=/home/jhedden/bin:/usr/local/src/perl/bin:/usr/local/bi
n:/usr/bin:/bin:/usr/X11R6/bin:/c/Program
Files/WiX:/c/djgpp/bin:/c/Program
Files/apache-ant-1.7.0/bin:/c/Program
Files/nant-0.85/bin:/c/j2sdk1.4.2_14/bin:/c/dev-cpp/bin/:/c/
WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/system32/WBEM:/c/blp/
API/dde:/c/blp/API:/c/oracle/ora92/bin:/c/Program
Files/Oracle/jre/1.3.1/bin:/c/Program
Files/Oracle/jre/1.1.8/bin:/c/Program
Files/Hummingbird/Connectivity/7.10/Accessories/:.
    PERLIO=perlio
    PERL_BADLANG (unset)
    SHELL (unset)

  
  
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )