Front page | perl.perl5.porters |
Postings from February 2012
[perl #109718] fork.t fails on Win32 since v5.15.4-465-g676a678
Thread Previous
From:
Tony Cook
Date:
February 3, 2012 00:30
Subject:
[perl #109718] fork.t fails on Win32 since v5.15.4-465-g676a678
Message ID:
rt-3.6.HEAD-14510-1328257821-501.109718-75-0@perl.org
# New Ticket Created by Tony Cook
# Please include the string: [perl #109718]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=109718 >
This is a bug report for perl from tony@develop-help.com,
generated with the help of perlbug 1.39 running under perl 5.15.7.
-----------------------------------------------------------------
[Please describe your issue here]
x64 MSVC build, but smokes have been failing too:
C:\Users\tony\dev\perl\git\perl\t>.\perl harness -v op/fork.t
op/fork.t ..
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
PROG:
if (eval q{$pid = fork}) {
eval q{ die "parent died" };
print $@;
}
else {
eval q{ die "child died" };
print $@;
}
EXPECTED:
parent died at (eval 2) line 1.
child died at (eval 2) line 1.
GOT:
# Failed at ./test.pl line 1076
not ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
1..25
Failed 1/25 subtests
Test Summary Report
-------------------
op/fork.t (Wstat: 0 Tests: 25 Failed: 1)
Failed test: 16
Files=1, Tests=25, 13 wallclock secs ( 0.08 usr + 0.00 sys = 0.08 CPU)
Result: FAIL
Tested to be broken by 676a678ac0683a727a07d56ed1a6e1fb59085d5a:
C:\Users\tony\dev\perl\git\perl\t>git log -n1
WARNING: terminal is not fully functional
commit 676a678ac0683a727a07d56ed1a6e1fb59085d5a
Author: Zefram <zefram@fysh.org>
Date: Sat Nov 19 16:00:32 2011 +0000
narrower localisation of PL_compcv around eval
PL_compcv used to be localised around the entire string eval process,
and hence at runtime of the evaled code would refer to the evaled code
rather than code of a surrounding compilation. This interfered with the
ability of string-evaled code in a BEGIN block to affect the surrounding
compilation, in a similar way to the localisation of $^H and %^H that
was fixed in f45b078d20.
Similar to the fix there, this change moves the localisation of PL_compcv
inside the new evalcomp scope. A couple of things were relying on
PL_compcv to find the running code when in a string-eval scope; they now
need to find it from cx->blk_eval.cv, which was already being populated.
C:\Users\tony\dev\perl\git\perl\t>.\perl harness -v op/fork.t
op/fork.t ..
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
(windows complains about a crashed program)
PROG:
if (eval q{$pid = fork}) {
eval q{ die "parent died" };
print $@;
}
else {
eval q{ die "child died" };
print $@;
}
EXPECTED:
parent died at (eval 2) line 1.
child died at (eval 2) line 1.
GOT:
# Failed at ./test.pl line 1033
not ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
1..25
Failed 1/25 subtests
Test Summary Report
-------------------
op/fork.t (Wstat: 0 Tests: 25 Failed: 1)
Failed test: 16
Files=1, Tests=25, 18 wallclock secs ( 0.02 usr + 0.02 sys = 0.03 CPU)
Result: FAIL
C:\Users\tony\dev\perl\git\perl\t>cd ..
C:\Users\tony\dev\perl\git\perl>git clean -dxf
C:\Users\tony\dev\perl\git\perl>git checkout "676a678ac0683a727a07d56ed1a6e1fb59
085d5a^"
Previous HEAD position was 676a678... narrower localisation of PL_compcv around
eval
HEAD is now at fde6729... sv.c: More consistent use of spaces after dots
C:\Users\tony\dev\perl\git\perl>cd win32
C:\Users\tony\dev\perl\git\perl\win32>dmake test-prep
(noise removed)
C:\Users\tony\dev\perl\git\perl\win32>cd ..\t
C:\Users\tony\dev\perl\git\perl\t>.\perl harness -v op/fork.t
op/fork.t ..
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
1..25
ok
All tests successful.
Files=1, Tests=25, 14 wallclock secs ( 0.02 usr + 0.03 sys = 0.05 CPU)
Result: PASS
[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=core
severity=medium
---
Site configuration information for perl 5.15.7:
Configured by tony at Fri Feb 3 19:01:40 2012.
Summary of my perl5 (revision 5 version 15 subversion 7) configuration:
Derived from: 864fd8d30af274c82a36ddaf90ed55c91f64ebc7
Platform:
osname=MSWin32, osvers=6.1, archname=MSWin32-x64-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=define, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -fp:precise -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO',
optimize='-Od -MD -Zi -DDEBUGGING -fp:precise',
cppflags='-DWIN32'
ccversion='15.00.30729.01', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -libpath:"c:\perl-none\lib\CORE" -machine:AMD64 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'
libpth=\lib
libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl515.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -libpath:"c:\perl-none\lib\CORE" -machine:AMD64 "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"'
Locally applied patches:
---
@INC for perl 5.15.7:
lib
C:/Users/tony/dev/perl/git/perl/lib
.
---
Environment for perl 5.15.7:
HOME (unset)
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64;c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\x64;C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin;C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework64\v2.0.50727;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft SDKs\Windows\v7.0\Setup;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessComm
on\;C:\Program Files (x86)\Common Files\Roxio Shared\10.0\DLLShared\;C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\Program Files (x86)\Windows Live\Shared;c:\apps\git\cmd;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\
PERL_BADLANG (unset)
SHELL (unset)
Thread Previous