develooper Front page | perl.perl5.porters | Postings from August 2009

Re: [perl #66158] fork crashes on perl 5.10.0/Win32 (when usingVariable::Magic)

Thread Previous | Thread Next
From:
Curtis Jewell
Date:
August 6, 2009 09:29
Subject:
Re: [perl #66158] fork crashes on perl 5.10.0/Win32 (when usingVariable::Magic)
Message ID:
1249576179.30479.1328627085@webmail.messagingengine.com


On Thu, 06 Aug 2009 16:48 +0100, "Dave Mitchell" <davem@iabyn.com>
wrote:
> On Wed, Aug 05, 2009 at 12:42:12PM -0700, kmx via RT wrote:
> > Hi,
> > 
> > > The real issue is that in perl_clone_using(), it frees the ptr_table
> > > *before* calling the CLONE methods.
> > > 
> > > With b0b93b3c773176a99136baa97661d11503277415, I've fixed
> > > perl_clone_using() to free it afterwards; then I've backed out the
> > > win32/perlhost.h change.
> > 
> > I have build perl/Win32 (using mingw) from blead with the
> > above-mentioned patch and all crashing cases I knew about work fine now.
> > 
> > Many thanks to all of you involved in solving this issues.
> > 
> > > I'll be pushing this into maint in a moment.
> > Does it mean there is a chance to see this fix in 5.10.1?
> 
> Yes, it'll be in 5.10.1

and it works in the Perl that was tagged 5.10.1 RC1:

C:\NewFolder>\perl\bin\perl.exe -e "use namespace::clean; fork; print
qq{1\n}";"
1
1

(test.pl being the script used in perl rt# 66158)

C:\NewFolder>\perl\bin\perl test.pl
After fork 1: 5524
After fork 2: -6120

The Perl in question?

(I just compiled this from
http://perl5.git.perl.org/perl.git/snapshot/d79203520c4254550b36937dae4d767b6a21d93d.tar.gz,
which was gotten from
http://perl5.git.perl.org/perl.git/shortlog/refs/heads/maint-5.10, which
means whatever I got from the snapshot link is just a little "off" in
the reporting on the first line below. But it DID work! I also attached
my (passing) smoke report [which is warped the same way], since I don't
have a mailer set up for Test::Smoke - my smtp server is
TLS-highly-preferred and authenticated-use-only. [There are other
receiving smtp servers.])

Summary of my perl5 (revision 5 version 10 subversion 1 patch maint-5.10
2009-08-06.00:19:12 d79203520c4254550b36937dae4d767b6a21d93d
GitLive-blead-1787-ga0db33f) configuration:
  Snapshot of: d79203520c4254550b36937dae4d767b6a21d93d
  Platform:
    osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
    uname=''
    config_args='undef'
    hint=recommended, useposix=true, d_sigaction=undef
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=undef, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags =' -s -O2 -DWIN32 -DHAVE_DES_FCRYPT 
    -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing
    -DPERL_MSVCRT_READFIX',
    optimize='-s -O2',
    cppflags='-DWIN32'
    ccversion='', gccversion='3.4.5', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long
    long', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='g++', ldflags ='-s -L"c:\perl\lib\CORE" -L"C:\MinGW\lib"'
    libpth=C:\MinGW\lib
    libs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
    -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
    -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
    perllibs= -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
    -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
    -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
    libc=-lmsvcrt, so=dll, useshrplib=true, libperl=libperl510.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-mdll -s -L"c:\perl\lib\CORE"
    -L"C:\MinGW\lib"'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                        PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO
  Locally applied patches:
	RC1
  Built under MSWin32
  Compiled at Aug  6 2009 09:37:08
  @INC:
    C:/perl/lib
    C:/perl/site/lib
    .

Automated smoke report for 5.10.1 patch
d79203520c4254550b36937dae4d767b6a21d93d blead-1787-ga0db33f
NEWGUY:  Intel(R) Pentium(R) D CPU 2.66GHz(~2660 MHz) (x86/2 cpu)
    on        MSWin32 - WinXP/.Net SP3
    using     gcc version 3.4.5
    smoketime 6 hours 32 minutes (average 49 minutes 4 seconds)

Summary: PASS

O = OK  F = Failure(s), extended report at the bottom
X = Failure(s) under TEST but not under harness
? = still running or test results not (yet) available
Build failures during:       - = unknown or N/A
c = Configure, m = make, M = make (after miniperl), t = make test-prep

blead-1787-ga0db33f  Configuration (common) none
----------- ---------------------------------------------------------
O O         
O O         -Duselargefiles
O O         -Duseithreads
O O         -Duseithreads -Duselargefiles
| +--------- -DDEBUGGING
+----------- no debugging


Locally applied patches:
    RC1
    SMOKEd79203520c4254550b36937dae4d767b6a21d93d

Compiler messages(gcc):
Bzip2.xs: In function `GetErrorString':
Bzip2.xs:136: warning: unused variable `Perl___notused'
Bzip2.xs: In function `deRef':
Bzip2.xs:266: warning: unused variable `Perl___notused'
Bzip2.xs: In function `deRef_l':
Bzip2.xs:300: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_constant':
Bzip2.c:401: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_bzlibversion':
Bzip2.c:513: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_new':
Bzip2.c:534: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_new':
Bzip2.c:633: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_DispStream':
Bzip2.c:739: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_bzdeflate':
Bzip2.c:777: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_DESTROY':
Bzip2.c:869: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_bzclose':
Bzip2.c:899: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_bzflush':
Bzip2.c:985: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_total_in_lo32':
Bzip2.c:1073: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_total_out_lo32':
Bzip2.c:1105: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_compressedBytes':
Bzip2.c:1137: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bzip2_uncompressedBytes':
Bzip2.c:1169: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_DispStream':
Bzip2.c:1201: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_bzinflate':
Bzip2.c:1239: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_inflateCount':
Bzip2.c:1393: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_DESTROY':
Bzip2.c:1425: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_status':
Bzip2.c:1455: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_total_in_lo32':
Bzip2.c:1487: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_total_out_lo32':
Bzip2.c:1519: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_compressedBytes':
Bzip2.c:1551: warning: unused variable `Perl___notused'
Bzip2.c: In function `XS_Compress__Raw__Bunzip2_uncompressedBytes':
Bzip2.c:1583: warning: unused variable `Perl___notused'
Bzip2.c: In function `boot_Compress__Raw__Bzip2':
Bzip2.c:1617: warning: unused variable `Perl___notused'
perlhost.h: In function `CPerlHost* IPerlMem2Host(IPerlMem*)':
perlhost.h:247: warning: invalid access to non-static data member
`CPerlHost::m_hostperlMem' of NULL object
perlhost.h:247: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlMemShared2Host(IPerlMem*)':
perlhost.h:252: warning: invalid access to non-static data member
`CPerlHost::m_hostperlMemShared' of NULL object
perlhost.h:252: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlMemParse2Host(IPerlMem*)':
perlhost.h:257: warning: invalid access to non-static data member
`CPerlHost::m_hostperlMemParse' of NULL object
perlhost.h:257: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlEnv2Host(IPerlEnv*)':
perlhost.h:262: warning: invalid access to non-static data member
`CPerlHost::m_hostperlEnv' of NULL object
perlhost.h:262: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlStdIO2Host(IPerlStdIO*)':
perlhost.h:267: warning: invalid access to non-static data member
`CPerlHost::m_hostperlStdIO' of NULL object
perlhost.h:267: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlLIO2Host(IPerlLIO*)':
perlhost.h:272: warning: invalid access to non-static data member
`CPerlHost::m_hostperlLIO' of NULL object
perlhost.h:272: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlDir2Host(IPerlDir*)':
perlhost.h:277: warning: invalid access to non-static data member
`CPerlHost::m_hostperlDir' of NULL object
perlhost.h:277: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlSock2Host(IPerlSock*)':
perlhost.h:282: warning: invalid access to non-static data member
`CPerlHost::m_hostperlSock' of NULL object
perlhost.h:282: warning: (perhaps the `offsetof' macro was used
incorrectly)
perlhost.h: In function `CPerlHost* IPerlProc2Host(IPerlProc*)':
perlhost.h:287: warning: invalid access to non-static data member
`CPerlHost::m_hostperlProc' of NULL object
perlhost.h:287: warning: (perhaps the `offsetof' macro was used
incorrectly)
Bzip2.xs:136: warning: unused variable `my_perl'
Bzip2.xs:266: warning: unused variable `my_perl'
Bzip2.xs:300: warning: unused variable `my_perl'

-- 
Report by Test::Smoke v1.39 build 1235 running on perl 5.10.0
(Reporter v0.035 / Smoker v0.044)
--
Curtis Jewell
swordsman@csjewell.fastmail.us

%DCL-E-MEM-BAD, bad memory
-VMS-F-PDGERS, pudding between the ears

[I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail]


Thread Previous | Thread Next


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