DFNflow crashes for compiled trunk but not non-optimized debug compiled trunk
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Yade |
Fix Released
|
Undecided
|
Bruno Chareyre |
Bug Description
Distro: Xenial 16.04LTS
Yade Version: yade-2017-
Compilation: default compilation with debug flags and '#define DFNFLOW' uncommented in DFNFlow.cpp
Summary:
DFNFlowEngine crashes for compiled yade-2017-
Description of failure:
According to the core dump, the failure can be traced back to DFNFlow.cpp:176, where it is checking if the cell is inifinite (although I have also had it fail at the permeability assignment directly below line 176 for a modified version of DFNflow.cpp).
DFNFlow.cpp:
176: if ( Tri.is_
177: cell1->
I am unsure why this line is causing a crash in the optimized-debug compiled code, but not the non-optimized-debug compiled code.
My optimized-debug compiled executable is simply built with the flag -DDEBUG=ON. My non-optimized debug compiled code uses an edited CMakeLists.txt to avoid optimization:
IF(CMAKE_
SET(CMAKE_
SET(CMAKE_
ENDIF(CMAKE_
The attached zip contains:
mwe.py // input script
liteSpecimen2
jointSurf.stl // stl for smooth joint
coreDump2.txt // core dump after executing mwe.py with optimized debug compiled yade
Any assistance with this bug is greatly appreciated.
Changed in yade: | |
status: | Fix Committed → Fix Released |
Thanks for reporting.
The behavior you describe is a typical result of manipulating bad pointers. It crashes or not, sometimes randomly, sometimes depending on compilation options, and the crash can be delayed a little so that it seems to occur a few lines later.