OSError No child Processes
Hello,
I try to run the gravity.py from the tutorial.
The system generate 4 pictures instead of 200
and hang printing the following
File "/usr/lib/
pid, sts = os.waitpid(
OSError: [Errno 10] No child processes
J.M.
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- blairon
- Solved:
- Last query:
- Last reply:
Revision history for this message
![]() |
#1 |
Hi J.M.,
I suspect this error is related to a race condition in popen2, which is deprecated in Python-2.6. In the latest development version of ESyS-Particle we have switched to using subprocess instead of popen2. I would be interested to see if you still get the error with the latest development version.
This FAQ explains how to obtain a copy of the development version:
https:/
Instructions on how to compile ESyS-Particle from source are here:
https:/
If you decide to install the development version, make sure you first change directory to the v2.0 source code and 'sudo make uninstall' and 'make distclean' to remove the older version of ESyS-Particle from your system.
Cheers,
Dion.
Revision history for this message
![]() |
#2 |
Thanks Dion,
but I am a beginner in Linux, so I will not try to install the development version
now. I need help from a system engineer knowing linux from here, this may take some days.
cheers,
J.M.
Revision history for this message
![]() |
#3 |
Hi J.M.,
It's always good to get some local help when you're new to linux. However, it is really no more difficult to install the development version of ESyS-Particle than it was to install the stable v2.0 version. Don't be afraid to try it! If you get stuck you can ask questions here on launchpad and I'm sure someone will help.
Cheers,
Dion.
Revision history for this message
![]() |
#4 |
Hello,
I tried to do 'sudo make uninstall' in the /usr/local/
but the system respond
make: *** No rule to make target `uninstall'. Stop.
what's wrong?
J.M.
Revision history for this message
![]() |
#5 |
Hi,
You have to do "sudo make uninstall" directly from the directory, where you
did "sudo make install".
_______
Anton Gladkyy
2010/2/12 blairon <email address hidden>
> Question #98986 on ESyS-Particle changed:
> https:/
>
> Status: Answered => Open
>
> blairon is still having a problem:
> Hello,
> I tried to do 'sudo make uninstall' in the /usr/local/
> but the system respond
> make: *** No rule to make target `uninstall'. Stop.
> what's wrong?
> J.M.
>
> --
> You received this question notification because you are an answer
> contact for ESyS-Particle.
>
Revision history for this message
![]() |
#6 |
Hi J.M.,
Are you perhaps using a PC with the ESyS-Particle Ubuntu Live DVD or an installation from that DVD? I seem to recall putting the source code for that distribution in
/usr/local/
If that is the case, here's what you need to do to uninstall the old version:
1) cd /usr/local/
2) sh autogen.sh
3) ./configure CC=mpicc CXX=mpicxx
4) sudo make uninstall
If that doesn't work (you see error messages) try manually uninstalling ESyS-Particle by following these instructions:
https:/
Once you've uninstalled the old version of ESyS-Particle, you can install the new version like this:
1) svn checkout https:/
2) cd esys-particle-dev
3) sh autogen.sh
4) ./configure CC=mpicc CXX=mpicxx --without-epydoc
5) make
6) sudo make install
Cheers,
Dion.
Revision history for this message
![]() |
#7 |
Hi Dion,
yes I use the ESyS-Particle Ubuntu installation from the Live DVD.
So I uninstall the old version as you explain. It seem's to be ok.
then I did the svn checkout, the sh autogen.sh, the ./configure
as you explain
and when I try the make, I get a lot of error, the first 3 are
In file included from loaders/
libltdl/
In file included from libltdl/
libltdl/
In file included from libltdl/
libltdl/
cheers
J.M.
Revision history for this message
![]() |
#8 |
Opps, sorry J.M. I forgot that the Live DVD uses mpich. You need to add a couple more steps when compiling the new version. The steps are:
1) svn checkout https:/
2) cd esys-particle-dev
3) sh autogen.sh
4) ./configure CC=mpicc CXX=mpicxx --without-epydoc
5) cd libltdl
6) ./configure
7) cd ..
5) make
6) sudo make install
Cheers,
Dion.
Revision history for this message
![]() |
#9 |
Hi,
now the make and the sudo make install seems to be ok.
If I try the command
mpirun -np 2 'which mpipython' bingle_output.py
I get the following error
Warning: Command line arguments for program should be given
after the program name. Assuming that bingle_output.py is a
command line argument for the program.
Missing: program name
Program which mpipython either does not exist, is not
executable, or is an erroneous argument to mpirun.
J.M.
Revision history for this message
![]() |
#10 |
Hi,
try:
mpirun -np 2 /usr/local/
But before check, is it a correct absolute path.
Bye,
_______
Anton Gladkyy
2010/2/16 blairon <email address hidden>
> Question #98986 on ESyS-Particle changed:
> https:/
>
> Status: Answered => Open
>
> blairon is still having a problem:
> Hi,
> now the make and the sudo make install seems to be ok.
> If I try the command
> mpirun -np 2 'which mpipython' bingle_output.py
> I get the following error
> Warning: Command line arguments for program should be given
> after the program name. Assuming that bingle_output.py is a
> command line argument for the program.
> Missing: program name
> Program which mpipython either does not exist, is not
> executable, or is an erroneous argument to mpirun.
> J.M.
>
> --
> You received this question notification because you are an answer
> contact for ESyS-Particle.
>
Revision history for this message
![]() |
#11 |
Hi Anton,
It works as you suggest, thanks.
but now if I try to run gravity.py I still have the problem I had at the beginning.
The error message is
File "/usr/local/
return self.popen.wait()
File "/usr/lib/
pid, sts = os.waitpid(
OSError: [Errno 10] No child processes
and the system hang.
Revision history for this message
![]() |
#12 |
Hi J.M.,
I'm afraid we may have been going in circles when I advised you to upgrade to the latest version of ESyS-Particle. At that time I did not realise you were using the ESyS-Particle Live DVD. There is obviously something different going wrong than I first thought. Looks like we will need to try to reproduce your error on another PC to help fix the problem. To do so, I'll need some more information:
1) Did you install the ESyS-Particle Ubuntu distribution onto the hard disk of your PC or are you booting your PC from the Live DVD?
2) What hardware do you have in your PC (specifically the type and number of CPUs, and amount of memory)?
3) If you installed the ESyS-Particle Ubuntu distribution on your hard disk, have you done any updates of installed packages since installation? You would have had to enter a password and clicked a button to install updates.
In the meantime, you should be able to continue working through the tutorials but you should delete or comment out any lines of code related to the POVsnaps runnable. I suspect everything else is working fine. I'll try to find time in the next few days to write a guide on how to use checkpoint files and 'dump2vtk' to visualise simulation output without using the povray module. Only the povray module uses the Python subprocess/popen2 subroutine so the rest of ESyS-Particle should be unaffected.
I'm sorry you are having such problems. I had hoped the Live DVD would be helpful for those new to linux but I must admit I am also something of an amateur when it comes to producing a customised linux distribution like the ESyS-Particle Live DVD. It is only my second attempt so bugs were to be expected unfortunately.
For what it is worth, I don't really recommend using the povray module for serious simulations. It is just handy for visualising small test simulations like those in the Tutorial. Checkpoint files and dump2vtk is a much better solution in the long run.
Cheers,
Dion.
Revision history for this message
![]() |
#13 |
Hi Dion,
1) I have installed Esys-Particle Ubuntu on the hard disk.
2) 2 cpu Intel E8400 @ 3.00GHz with 8 GiB
3) yes I made some updates, I don't remember which one.
Do you think it may be a good idea to reinstall the all stuff from the live DVD without
updating any package?
thank for your help
J.M.
Revision history for this message
![]() |
#14 |
Hi,
On my own opinion, if you want further simulate something, it will be easier for you just to install simple Ubuntu and then compile SVN-version of ESyS.
It is really easy. Just follow https:/
Other necessary software can be installed from packages.
Good Luck!
Revision history for this message
![]() |
#15 |
Hi J.M.,
Before you do any changes (like re-install your OS) try booting from the Live DVD and run gravity.py in the Live session (don't click the install icon on the desktop though!). I'd like to know if you get the same error in a Live session.
If you don't get any errors when running from the Live session then an update at some stage may have broken an installed package. In such case, I recommend you re-install your operating system. I agree with Anton that starting with a vanilla Ubuntu (e.g. Ubuntu-9.10) and following the instructions in the FAQs would be better than re-installing from the Live DVD.
Good luck.
Dion
Revision history for this message
![]() |
#16 |
Hi Dion and Anton,
the problem is not present with the live DVD!
So it must due to an update somewhere.
Do you suggest to don't update the system?
Thanks for your time.
kind regards
J.M.
Revision history for this message
![]() |
#17 |
Hi J.M.,
OK, it's a relief to me that the original Live DVD still works! You really have two choices from here:
1) re-install your operating system from the ESyS-Particle Live DVD and avoid updates (there's a small but potential security issue with this choice as important updates may be ignored)
2) install a newer version of Ubuntu on your PC then install ESyS-Particle via the instructions in this FAQ:
https:/
The second option is probably better as ESyS-Particle seems to work well on Ubuntu-9.10 (even after upgrades!) but you need to do more work to get up and running with ESyS-Particle e.g. to download the extra packages needed before compiling ESyS-Particle.
Really I think the choice is yours. If you feel more comfortable using the OS provided on the ESyS-Particle Live DVD until more familiar with linux, then perhaps that is easier. I'll try to help out where I can if you have trouble with the installation but I'm not an expert at producing custom Ubuntu distributions so unexpected problems may arise.
Perhaps it is also worth looking for a local linux expert or LUG (Linux User Group) who may be able to help if you strike problems. This site may help you find a nearby LUG:
http://
Have fun!
Dion.
Revision history for this message
![]() |
#18 |
Hi Dion,
2010/2/17 Dion Weatherley <email address hidden>
> The second option is probably better as ESyS-Particle seems to work well
> on Ubuntu-9.10 (even after upgrades!) but you need to do more work to
> get up and running with ESyS-Particle e.g. to download the extra
> packages needed before compiling ESyS-Particle.
>
>
I can confirm, that ESyS works on Ubuntu 9.10. But it works reliable only
with mpich-shmem.
Openmpi causes hangings with more, than 2 threads.
https:/
I have not yet tested it on Lucid. Maybe it is fixed there already.
Cheers,
_______
Anton Gladkyy
Revision history for this message
![]() |
#19 |
Hi,
I reinstalled Ubuntu from the live DVD by reformating the whole disk.
With Esys running on the harddisk, and without any update, the problem come back !!!
So it is not a problem of update, the problem disappear with the live DVD and is there with the hdd.
The live DVD is very slow compare to the hdd and so the problem may come from synchronisation between processes.
Now, when the problem is appearing, the job hang but there are two mpipython process still running for hours and
doing nothing apparently.
I tried to start the gravity job in background, and after occurence of the OSError: [Errno 10] No child processes,
I started the same job but in foreground, and then it works perfectly.
So now I have 2 mpipython process running permanently, and every job from the tutorial run fine.
cheers,
J.M.