Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with waitpid and wait on VMS #2155

Closed
p5pRT opened this issue Jun 30, 2000 · 6 comments
Closed

Problem with waitpid and wait on VMS #2155

p5pRT opened this issue Jun 30, 2000 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Jun 30, 2000

Migrated from rt.perl.org#3449 (status was 'resolved')

Searchable as RT3449$

@p5pRT
Copy link
Author

p5pRT commented Jun 30, 2000

From coucoureux.p@fr.ibm.com

This is a bug report for perl from coucoureux.p@​fr.ibm.com,
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)

@p5pRT
Copy link
Author

p5pRT commented Aug 9, 2005

From @wb8tyw

Can this problem be reproduced on a current version of Perl on VMS?

@p5pRT
Copy link
Author

p5pRT commented Aug 10, 2005

From coucoureux.p@fr.ibm.com

Sorry : I don't use anymore VMS machine so it will be difficult to me to
reproduce a problem.

Pierre Coucoureux
IBM, Paris Laboratory
Application & Integration Middleware Division
69, rue de la Vecquerie - 44600 Saint-Nazaire
Phone : +33 (0)2-51-16-4053 Fax : -4001
Email :coucoureux.p@​fr.ibm.com

@p5pRT
Copy link
Author

p5pRT commented Apr 30, 2012

From @Hugmeir

On Fri Jun 30 00​:44​:47 2000, coucoureux.p@​fr.ibm.com wrote​:

This is a bug report for perl from coucoureux.p@​fr.ibm.com,
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)

Another twelve year old ticket. I would say close it, seeing how the VMS
smokers don't seem to have this issue, but just in case I'm taking the
liberty to CC Craig Berry, since he seems to be the go-to person for VMS
issues. Apologies if I got that wrong!

@p5pRT
Copy link
Author

p5pRT commented Apr 30, 2012

From @craigberry

On Apr 30, 2012, at 1​:52 AM, Brian Fraser via RT wrote​:

Another twelve year old ticket. I would say close it, seeing how the VMS
smokers don't seem to have this issue, but just in case I'm taking the
liberty to CC Craig Berry, since he seems to be the go-to person for VMS
issues. Apologies if I got that wrong!

Close it. I just tested the original reproducer with blead and it doesn't have the problem. I also happen to know our waitpid implementation has been extensively reworked since then.

________________________________________
Craig A. Berry
mailto​:craigberry@​mac.com

"... getting out of a sonnet is much more
difficult than getting in."
  Brad Leithauser

@p5pRT
Copy link
Author

p5pRT commented Apr 30, 2012

@cpansprout - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant