Skip to content

NURBS failure when ClassifyEdge fails (was: Difference fail depending on compilation options (was: Difference fail with OpenMP)) #1619

@phkahler

Description

@phkahler

This was first reported on the forum using the attached file.

Issue_OpenMP.zip

You can make the problem go away by:

  1. Dragging the original extrusion the other direction
  2. Using a version of Solvespace built without OpenMP
  3. Open it using the web version (which does not use OpenMP)

Treating it as a concurrency problem I have been able to make the issue go away by commenting out the following line in SShell::CopySurfacesTrimAgainst()

#pragma omp parallel for

That function calls MakeCopyTrimAgainst() and inside of that we can "fix" things by adding #pragma omp critical to either of the two big loops 1 here or the one under it 2 here.

I don't understand how it can be fixed by making a critical section for either of two loops. At this point I don't have any idea what's causing it.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions