At 08:03 PM 7/31/2000 -0500, Jarkko Hietaniemi wrote:
>What was the resolution for this, if any?
Thanks for forwarding the report. I can reproduce the problem with
perl-notquitecurrent (6409). The script runs successfully in a 5.6.0 build with the
following patches:
Locally applied patches:
VMSPIPE010 - combined VMS piping revamp
VMSSOCK01 - Socket i/o fixes for VMS
VMSMISC001 - misc VMS fixes, combined patch
which are available at <http://www.crinoid.com/perl560.htmlx>. The miscellaneous
fixes are also present in perl@6409. The piping fixes are still under review but seem
to work very well in a nothread Perl. I don't know the status of the socket patch,
i.e., why it's not present in perl@6409 (it may depend on the piping patch). Clearly
something in either the socket or pipe patch takes care of this issue, and I'm afraid
I don't know of any other workaround than to upgrade to 5.6.0 and apply these patches.
>----- Forwarded message from [EMAIL PROTECTED] -----
>
>Delivered-To: [EMAIL PROTECTED]
>Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
>Precedence: bulk
>list-help: <mailto:[EMAIL PROTECTED]>
>list-unsubscribe: <mailto:[EMAIL PROTECTED]>
>list-post: <mailto:[EMAIL PROTECTED]>
>Delivered-To: mailing list [EMAIL PROTECTED]
>Subject: [ID 20000630.001] Problem with waitpid and wait on VMS
>To: [EMAIL PROTECTED]
>From: [EMAIL PROTECTED]
>Delivered-To: [EMAIL PROTECTED]
>X-Lotus-Fromdomain: IBMFR
>Date: Fri, 30 Jun 2000 15:19:07 +0200
>Message-Id: <[EMAIL PROTECTED]>
>X-Perlbug: [EMAIL PROTECTED]
>X-Errors-To: [EMAIL PROTECTED]
>
>
>
>
>This is a bug report for perl from [EMAIL PROTECTED],
>generated with the help of perlbug 1.26 running under perl 5.00503.
>
>
>-----------------------------------------------------------------
>When I try to wait a process started before, perl stop with the following
>message :
>Fatal VMS error (status=2280) at DISK$USR:[PTPC.PERL.P500503]VMS.C;1, line
>779 a
>t wait.pl line 16.
>%SYSTEM-W-NONEXPR, nonexistent process
>
>In fact, perl is waiting until process stop but do an error because the
>process
>is not still active.
>Same behaviour occurs if we give a wrong process id (except we don't wait).
>Example :
>$ perl -e "waitpid 99999, 0 ;"
>Fatal VMS error (status=2280) at DISK$USR:[PTPC.PERL.P500503]VMS.C;1, line
>779 .
>%SYSTEM-W-NONEXPR, nonexistent process
>
>
>wait.pl:
> command = "run/detach disk\$usr:[ptpc.testperl]prog.exe|";
> open (COMMAND, $command) || die "Pb to start $command\n";
> $processDesc = <COMMAND>;
> # Find process id returned by run
> # run/detach return a string :
> # %RUN-S_PROC-ID, identification of created process is
>
> if ( $processDesc =~ /.*is\s([\da-fA-F]+)/)
> {
> $processDesc = $1;
> close COMMAND;
> }
> $processDesc = hex($processDesc);
> print "Wait procesdesc=$processDesc\n";
>
> $endidPid = waitpid($processDesc, 0);
>
> print "End of the perl script\n";
>
>Here you have the C program started by wait.pl:
>#include <stdio.h>
>int main(int argc, char*argv[])
>{
> printf ("Hello\n");
> sleep(10);
> printf("Bye\n");
> return(11);
>}
>
>--------------------------------------------------------------------
>Site configuration information for perl 5.00503:
>
>Configured by unknown at Mon may 15 12:02:29.96 2000.
>
>Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
> Platform:
> osname=VMS, osvers=V7.2-1, archname=VMS_AXP
> uname='VMS alphanze01 V7.2-1 Compaq AlphaServer ES40'
> hint=none, useposix=false, d_sigaction=define
> usethreads=undef useperlio=undef d_sfio=undef
> Compiler:
> cc='CC/DECC', optimize='undef', gccversion=undef
> cppflags='undef'
> ccflags ='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj/NoList'
> stdchar='char', d_stdstdio=define, usevfork=true
> intsize=4, longsize=4, ptrsize=4, doublesize=8
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> alignbytes=8, usemymalloc=N, prototype=define
> Linker and Libraries:
> ld='Link', ldflags ='/NoTrace/NoMap'
> libpth=/sys$share /sys$library
> libs=
> libc=(DECCRTL), so=exe, useshrplib=undef, libperl=undef
> Dynamic Linking:
> dlsrc=dl_vms.c, dlext=exe, d_dlsymun=undef, ccdlflags=''
> cccdlflags='', lddlflags='/Share'
>
>Locally applied patches:
>
>
>---
>@INC for perl 5.00503:
> perl_root:[lib.VMS_AXP.5_00503]
> perl_root:[lib]
> perl_root:[lib.site_perl.VMS_AXP]
> perl_root:[lib.site_perl]
> .
>
>---
>Environment for perl 5.00503:
> HOME=sys$sysroot:[sysmgr]
> LANG (unset)
> LANGUAGE (unset)
> LD_LIBRARY_PATH (unset)
> LOGDIR (unset)
> PATH=sys$common:[tools.perl]
> PERLSHR=PERL_ROOT:[000000]PERLSHR.EXE
> PERL_BADLANG (unset)
> PERL_ROOT=DKA0:[SYS0.SYSCOMMON.TOOLS.PERL.]
> SHELL (unset)
>
>
>----- End forwarded message -----
>
>--
>$jhi++; # http://www.iki.fi/jhi/
> # There is this special biologist word we use for 'stable'.
> # It is 'dead'. -- Jack Cohen
_______________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]