On Sat, Dec 13, 2008 at 10:50:00PM +0000, Steve Hay wrote: > Automated smoke report for 5.11.0 patch 35082 > maldoror.bath.planit.group: Intel(R) Core(TM)2 CPU 6700 @ 2.66GHz(~2660 MHz) > (x86/2 cpu) > on MSWin32 - WinXP/.Net SP3 > using ? unknown cc version > smoketime 1 minute 11 seconds (average 3.550 seconds)
> 35082 Configuration (common) -DCCTYPE=BORLAND > -DINST_TOP=$(INST_DRV)\Smoke\doesntexist > ----------- --------------------------------------------------------- > m m > m m -Dusemymalloc > m m -Duselargefiles > m m -Duselargefiles -Dusemymalloc > m m -Duseithreads -Uuseimpsys > m m -Duseithreads -Uuseimpsys -Dusemymalloc > m m -Duseithreads -Uuseimpsys -Duselargefiles > m m -Duseithreads -Uuseimpsys -Duselargefiles -Dusemymalloc > m m -Duseithreads > m m -Duseithreads -Duselargefiles > | +--------- -DDEBUGGING > +----------- no debugging Given the only changes from last night's PASS in blead was 35082, it has to be the cause. Presumably a: Something in the build, at least in Win32, is using in place editing b: Permissions there don't mean what they do on Unix, with some significant side effect Although it happens *really* fast. 3.55 seconds per fail. So it's stranger... But I have no idea what, as the smoke client doesn't provide a log for this. I guess we wait until Monday, unless anyone else can run a Win32 build. Nicholas Clark Change 35082 by r...@scipion on 2008/12/13 14:01:03 Subject: Re: [perl #60904] Race condition with perl -i.bk From: Chip Salzenberg <c...@pobox.com> Date: Mon, 1 Dec 2008 15:01:12 -0800 Message-ID: <20081201230112.gh31...@tytlal.topaz.cx> Use mode 0600 (minus umask) for creation of the new file with -i Affected files ... ... //depot/perl/doio.c#379 edit Differences ... ==== //depot/perl/doio.c#379 (text) ==== @@ -811,8 +811,7 @@ do_close(gv,FALSE); (void)PerlLIO_unlink(SvPVX_const(sv)); (void)PerlLIO_rename(PL_oldname,SvPVX_const(sv)); - do_open(gv,(char*)SvPVX_const(sv),SvCUR(sv),PL_inplace!=0, - O_RDONLY,0,NULL); + do_open(gv,(char*)SvPVX_const(sv),SvCUR(sv),TRUE,O_RDONLY,0,NULL); #endif /* DOSISH */ #else (void)UNLINK(SvPVX_const(sv)); @@ -844,17 +843,15 @@ #endif } - sv_setpvn(sv,">",!PL_inplace); - sv_catpvn(sv,PL_oldname,oldlen); + sv_setpvn(sv,PL_oldname,oldlen); SETERRNO(0,0); /* in case sprintf set errno */ + if (!do_open(PL_argvoutgv,(char*)SvPVX_const(sv),SvCUR(sv),TRUE, #ifdef VMS - if (!do_open(PL_argvoutgv,(char*)SvPVX_const(sv),SvCUR(sv), - PL_inplace!=0,O_WRONLY|O_CREAT|O_TRUNC,0,NULL)) + O_WRONLY|O_CREAT|O_TRUNC,0, #else - if (!do_open(PL_argvoutgv,(char*)SvPVX_const(sv),SvCUR(sv), - PL_inplace!=0,O_WRONLY|O_CREAT|OPEN_EXCL,0666, + O_WRONLY|O_CREAT|OPEN_EXCL,0600, +#endif NULL)) -#endif { if (ckWARN_d(WARN_INPLACE)) Perl_warner(aTHX_ packWARN(WARN_INPLACE), "Can't do inplace edit on %s: %s",