Newsgroups: comp.parallel.pvm From: "Trey Harragan" Subject: Re: Odd Behaviour of PVM on Pentium II MMX machine Organization: sbcm Date: Thu, 20 Nov 1997 16:33:19 GMT Message-ID: John Biddiscombe wrote in message <3472DC14.4200@rl.ac.uk>... > >PVM 3.4 beta 5 is running fine on a small test set of computers. >But I've just added a Pentium II MMX class machine (NT4.0 workstation + >SP3) to the virtual machine, and it is behaving strangely. > >On the other machines the process # of a spawned task usually reports >numbers like >135, 224, 146 etc etc, but the PII MMX reports 10000000, and in addition >the flags are given as >2/f instead of the usual 4/c >(ie task process is child of pvmd .... and not > task process is child of my spawning program). > >The actual task ID (as opposed to process id) numbers appear to be OK, >but for one reason or another, the spawned task does not appear to be >responding to messages, and I can't kill them off with pvm_kill(task_id) >- >(The console program reports the same dodgy ID's as my program, so it >does not appear to be anything I've done) > >Can anyone suggest a reason for what may be going wrong, and if so a >workaround, or perhaps there is a bug ? > I haven't looked at 3.4x, but have been using a 3.3 variant for awhile on WinNT. I assume this MMX machine is the only NT box in your pvm. If not, then take the rest of this with a grain of salt! The "strange" process id's on NT are "normal". They are actually "made up" (start at 10000000 and increment). Has to do with the lack of fork/exec in NT. PVM relies on being able to set an environment variable in the child process (after fork, before exec). Since it can't do this on NT, it just makes up "handles" to track the child processes. In 3.3, pvm_kill was broken because it tried to kill() (actually Win32 TerminateProcess()) with this made up process Id. I modified my version of pvm to remember the "real" NT pid, and use it in dm_sendsig() in src\ddproc.c. Has this been fixed in 3.4?