← Back to team overview

yade-dev team mailing list archive

[Bug 1559098] Re: Crash when Parallelization is used for O.bodies.replaceByClumps

 

Should be fixed in  e35535b.

@Christian. I needed to remove parallel execution of that algorithm,
because it was buggy. If one need to make it correctly, we need to
collect new bodies and removal list in a thread-safe containers (openmp-
accu). In your case you did insert/removal on body container parallelly,
but it is not thread-safe, that is why one get segfault.

Regards

Anton

** Changed in: yade
       Status: New => Fix Committed

** Changed in: yade
   Importance: Undecided => Medium

** Changed in: yade
     Assignee: (unassigned) => Anton Gladky (gladky-anton)

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1559098

Title:
  Crash when Parallelization is used for O.bodies.replaceByClumps

Status in Yade:
  Fix Committed

Bug description:
  The script crashes (Erreur de segmentation (core dumped) ) when I try
  use more than one core, at the line O.bodies.replaceByClumps.

  YADE version: the latest one complied from getHub trunk

  A simple script:

  # encoding: utf-8

  # Sphere package:

  sp1=pack.SpherePack()

  # Create the spheres of the package:
  sp1.makeCloud((0,0,0),(0.5,0.5,0.5),rMean=0.0075,rRelFuzz=0.33)

  # Send them to the simulation:
  sp1.toSimulation()

  # Replace spheres with clumps:
  templates= []

  relRadList1=[0.0075,0.0075]

  relPosList1=[[0.0075,0,0],[0.0075*2,0,0]]

  templates.append(clumpTemplate(relRadii=relRadList1,relPositions=relPosList1))

  clumpIds=O.bodies.replaceByClumps(templates,[1]) # THE SCRIPT CRASHES
  BECAUSE OF THIS LINE !

  Adel

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1559098/+subscriptions


References