This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
. I am not at the computer at the moment, so i can not make a strace. Maybe the 3rdParty source of salomemesh must be replaced? (i am not a c++ expert, just saying).
looo wrote: ↑Sat Oct 02, 2021 8:19 pm
ok, the error is clearly related to the deletion of the object at the end of the file. Commenting out this section makes the test pass:
Looking at the backtrace again, my interpretation is that the destructor (SMDS_ElementChunk::~SMDS_ElementChunk()) is called twice. So the question is: Is it possible to avoid such cases?
This can only happen if a pointer to the SMDS_ElementChunk object isn't nullified. What might help is to add this line
./test_StdMeshers
~SMDS_ElementChunk: 0x7fa8615114a0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_StdMeshers is a Catch v2.13.7 host application.
Run with -? for options
-------------------------------------------------------------------------------
Mesh an edge of a box.
-------------------------------------------------------------------------------
/Users/lo/miniconda3/conda-bld/debug_1633249932673/work/SMESH/test/src/StdMeshers.t.cpp:16
...............................................................................
/Users/lo/miniconda3/conda-bld/debug_1633249932673/work/SMESH/test/src/StdMeshers.t.cpp:16: FAILED:
{Unknown expression after the reported line}
due to a fatal error condition:
SIGILL - Illegal instruction signal
===============================================================================
test cases: 1 | 1 failed
assertions: 3 | 2 passed | 1 failed
Illegal instruction: 4
No idea what else could be the problem. I have built the latest version including the tests with the option "-fsanitize=address" (that performs some extra memory checks) and for me all tests have passed.
wmayer wrote: ↑Mon Oct 04, 2021 11:52 am
No idea what else could be the problem. I have built the latest version including the tests with the option "-fsanitize=address" (that performs some extra memory checks) and for me all tests have passed.
Isn't it possible that "myElements" is deleted twice. At least removing this line makes the test work. But I am not sure if this will lead to memory issues.
Isn't it possible that "myElements" is deleted twice.
When looking at the code I don't see how this should be possible. In the constructor of SMDS_ElementChunk an array of SMDS_MeshElement is created and in the destructor deleted again. And there is no way that one SMDS_ElementChunk object could take ownership of the SMDS_MeshElement array of another instance.