segmentation fault with bingle.py

Asked by ueda

Hi. I'm new on ESyS-Particle.
I've installed ESyS-Particle on ubuntu14.4.2, with Python2.7.9, Boost1.52, VTK6.1.0, Epydoc3.0.1, Povray3.6.1, seemed successfully. However, when I compile the fitst example "bingle.py", segmentation fault occured. The bingle.py code and the error message are as follows:
-------------bingle.py-----------------
from esys.lsm import *
from esys.lsm.util import Vec3, BoundingBox
sim = LsmMpi(numWorkerProcesses=1, mpiDimList=[1,1,1])
sim.initNeighbourSearch(
    particleType="NRotSphere",
    gridSpacing=2.5,
    verletDist=0.5
)
sim.setNumTimeSteps(10000)
sim.setTimeStepSize(0.001)
domain = BoundingBox(Vec3(-20,-20,-20), Vec3(20,20,20))
sim.setSpatialDomain(domain)
particle=NRotSphere(id=0, posn=Vec3(-5,5,-5), radius=1.0, mass=1.0)
particle.setLinearVelocity(Vec3(1.0,-1.0,1.0))
sim.createParticle(particle)
particle=NRotSphere(id=1, posn=Vec3(5,5,5), radius=1.5, mass=2.0)
particle.setLinearVelocity(Vec3(-1.0,-1.0,-1.0))
sim.createParticle(particle)
sim.createInteractionGroup(
    NRotElasticPrms(
        name = "elastic_repulsion",
        normalK = 10000.0,
        scaling = True
    )
)
sim.run()
------------------------------------------------
-------------error message-----------------
CSubLatticeControler::initMPI()
slave started at local/global rank 0 / 1
[ueda-Lin1:02642] *** Process received signal ***
[ueda-Lin1:02642] Signal: Segmentation fault (11)
[ueda-Lin1:02642] Signal code: (128)
[ueda-Lin1:02642] Failing at address: (nil)
[ueda-Lin1:02641] *** Process received signal ***
[ueda-Lin1:02641] Signal: Segmentation fault (11)
[ueda-Lin1:02641] Signal code: Address not mapped (1)
[ueda-Lin1:02641] Failing at address: 0x100fffffff8
[ueda-Lin1:02642] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f56fcb5bd40]
[ueda-Lin1:02642] [ 1] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x1c) [0x7f56fcba899c]
[ueda-Lin1:02642] [ 2] /lib/x86_64-linux-gnu/libc.so.6(__cxa_finalize+0x9a) [0x7f56fcb615ea]
[ueda-Lin1:02642] [ 3] /usr/lib/x86_64-linux-gnu/libFoundation-2.2.2.so(+0x12813) [0x7f56fe707813]
[ueda-Lin1:02642] *** End of error message ***
[ueda-Lin1:02641] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x36d40) [0x7f641bdbcd40]
[ueda-Lin1:02641] [ 1] /lib/x86_64-linux-gnu/libc.so.6(cfree+0x1c) [0x7f641be0999c]
[ueda-Lin1:02641] [ 2] /lib/x86_64-linux-gnu/libc.so.6(__cxa_finalize+0x9a) [0x7f641bdc25ea]
[ueda-Lin1:02641] [ 3] /usr/lib/x86_64-linux-gnu/libFoundation-2.2.2.so(+0x12813) [0x7f641d968813]
[ueda-Lin1:02641] *** End of error message ***

mpirun noticed that process rank 0 with PID 2641 on node ueda-Lin1 exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------

Thanks.

Question information

Language:
English Edit question
Status:
Answered
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
SteffenAbe (s-abe) said :
#1

Hi Ueda,

some questions w.r.t. your setup:
- did you install esys-particle from from source or from a binary package ?
- if from source, which compiler did you use ?
- the error message suggests that this is version 2.2.2 of esys-particle. Could you try to reproduce the problem with a more recent version (2.3.x or development) ?

Steffen Abe

Revision history for this message
Takao (uetakakun+ubuntu) said :
#2

Hi Abe,

thank you for your answer.
It seems I designated wrong location as "which esysparticle" when I type the command "mpirun -np 2 "which esysparticle" bingle.py". The answers to your question are as follows just for reference.

- did you install esys-particle from from source or from a binary package ?
  --> I installed esys-particle from source.

- if from source, which compiler did you use ?
  --> GNU complier I used.

- the error message suggests that this is version 2.2.2 of esys-particle. Could you try to reproduce
  --> By the way, how to check ESyS-Particle version?

Thank you.

Revision history for this message
Maxim (esinmy) said :
#3

Hi Takao,

You can check ESyS-Particle version if you just run this script:

from esys.lsm import *
inst = LsmMpi(numWorkerProcesses=1, mpiDimList=[1,1,1])
# LsmMpi.getLsmVersion is an unbound method so it requires an instance
print(inst.getLsmVersion())
inst.exit()

Unfortunately I haven't found an easier way.

Revision history for this message
Dion Weatherley (d-weatherley) said :
#4

Hi Takao,

Another way to determine the ESyS-Particle version is to look in configure.ac in the source code directory. The first variable (AC_INIT) provides the version number.

For versions downloaded directly from the bazaar repository, the bazaar revision number is recorded in bzrversion.h, also in the source code directory.

Cheers,

Dion

Revision history for this message
Takao (uetakakun+ubuntu) said :
#5

Hi Maxim and Dion,

Thank you for your help!
I found my ESyS-Particle version is 2.3.2.

Cheers,

Takao

Can you help with this problem?

Provide an answer of your own, or ask ueda for more information if necessary.

To post a message you must log in.