Code: Select all
import FreeCAD
import unittest
suite = unittest.TestSuite()
suite.addTest(unittest.defaultTestLoader.loadTestsFromName('TestFemApp'))
r = unittest.TextTestRunner(verbosity=2)
r.run(suite)
Code: Select all
LANG=C python3 ./testfem.py
...
test_00print (femtest.app.test_object.TestObjectCreate) ... ok
test_femobjects_make (femtest.app.test_object.TestObjectCreate) ... Segmentation fault (Speicherabzug geschrieben)
The actual crash is in VTKs XML generating code. The problematic call originates from
https://gitlab.kitware.com/vtk/vtk/-/bl ... r.cxx#L112
Code: Select all
#0 0x00007ffff1e66441 in vtkXMLUnstructuredGridWriter::WriteInlinePiece (this=this@entry=0x555555a053b0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredGridWriter.cxx:112
#1 0x00007ffff1e5ba9e in vtkXMLUnstructuredDataWriter::WriteInlineMode (this=0x555555a053b0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredDataWriter.cxx:473
#2 0x00007ffff1e5b9a2 in vtkXMLUnstructuredDataWriter::WriteAPiece (this=0x555555a053b0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredDataWriter.cxx:421
#3 0x00007ffff1e62276 in vtkXMLUnstructuredDataWriter::ProcessRequest (this=0x555555a053b0, request=0x555556466bf0, inputVector=<optimized out>, outputVector=<optimized out>) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredDataWriter.cxx:205
#4 0x00007ffff1368f90 in vtkExecutive::CallAlgorithm (this=0x5555564662f0, request=0x555556466bf0, direction=<optimized out>, inInfo=0x555556467010, outInfo=0x55555645f980) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkExecutive.cxx:746
#5 0x00007ffff1363d19 in vtkDemandDrivenPipeline::ExecuteData (this=0x5555564662f0, request=0x555556466bf0, inInfo=0x555556467010, outInfo=0x55555645f980) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:462
#6 0x00007ffff1361791 in vtkCompositeDataPipeline::ExecuteData (this=0x5555564662f0, request=0x555556466bf0, inInfoVec=0x555556467010, outInfoVec=0x55555645f980) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkCompositeDataPipeline.cxx:162
#7 0x00007ffff136c21d in vtkDemandDrivenPipeline::ProcessRequest (this=0x5555564662f0, request=0x555556466bf0, inInfoVec=0x555556467010, outInfoVec=0x55555645f980) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:261
#8 0x00007ffff13a0379 in vtkStreamingDemandDrivenPipeline::ProcessRequest (this=0x5555564662f0, request=0x555556466bf0, inInfoVec=0x555556467010, outInfoVec=0x55555645f980)
at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:343
#9 0x00007ffff13a3627 in vtkStreamingDemandDrivenPipeline::Update (this=0x5555564662f0, port=-1, requests=0x0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:417
#10 0x00007ffff1e7718f in vtkXMLWriterBase::Write (this=0x555555a053b0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriterBase.cxx:200
#11 0x00007ffff1e219e1 in vtkXMLDataObjectWriter::WriteInternal (this=0x555555f8dda0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLDataObjectWriter.cxx:113
#12 0x00007ffff13a3627 in vtkStreamingDemandDrivenPipeline::Update (this=0x5555564662f0, port=-1, requests=0x0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:417
#13 0x00007ffff1e7718f in vtkXMLWriterBase::Write (this=0x555555a053b0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriterBase.cxx:200
#14 0x00007ffff1e219e1 in vtkXMLDataObjectWriter::WriteInternal (this=0x555555f8dda0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLDataObjectWriter.cxx:113
#15 0x00007ffff1e66a08 in vtkXMLWriter::RequestData (this=0x555555f8dda0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriter.cxx:574
#16 0x00007ffff1368f90 in vtkExecutive::CallAlgorithm (this=0x55555645fdb0, request=0x555556467ca0, direction=<optimized out>, inInfo=0x555556469dc0, outInfo=0x55555646a2f0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkExecutive.cxx:746
#17 0x00007ffff1363d19 in vtkDemandDrivenPipeline::ExecuteData (this=0x55555645fdb0, request=0x555556467ca0, inInfo=0x555556469dc0, outInfo=0x55555646a2f0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:462
#18 0x00007ffff1361791 in vtkCompositeDataPipeline::ExecuteData (this=0x55555645fdb0, request=0x555556467ca0, inInfoVec=0x555556469dc0, outInfoVec=0x55555646a2f0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkCompositeDataPipeline.cxx:162
#19 0x00007ffff136c21d in vtkDemandDrivenPipeline::ProcessRequest (this=0x55555645fdb0, request=0x555556467ca0, inInfoVec=0x555556469dc0, outInfoVec=0x55555646a2f0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkDemandDrivenPipeline.cxx:261
#20 0x00007ffff13a0379 in vtkStreamingDemandDrivenPipeline::ProcessRequest (this=0x55555645fdb0, request=0x555556467ca0, inInfoVec=0x555556469dc0, outInfoVec=0x55555646a2f0)
at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:343
#21 0x00007ffff13a3627 in vtkStreamingDemandDrivenPipeline::Update (this=0x55555645fdb0, port=-1, requests=0x0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx:417
#22 0x00007ffff1e7718f in vtkXMLWriterBase::Write (this=0x555555f8dda0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriterBase.cxx:200
#23 0x00007ffff29f3975 in Fem::PropertyPostDataObject::SaveDocFile (this=0x5555563c5140, writer=...) at /usr/include/vtk-9.1/vtkSmartPointer.h:206
#24 0x00007ffff7163718 in Base::ZipWriter::writeFiles (this=this@entry=0x7fffffffa5b0) at /usr/src/debug/FreeCAD-0.20.0~g20220402.027fb07743-0.x86_64/src/Base/Writer.cpp:270
#25 0x00007ffff738134f in App::Document::saveToFile (this=0x555555bf7a20, filename=0x5555563ca5d0 "/tmp/FEM_unittests/objects_create_all_1ef7467b383b/all_objects.FCStd") at /usr/src/debug/FreeCAD-0.20.0~g20220402.027fb07743-0.x86_64/src/App/Document.cpp:2660
#26 0x00007ffff737903e in App::Document::save (this=0x555555bf7a20) at /usr/src/debug/FreeCAD-0.20.0~g20220402.027fb07743-0.x86_64/src/App/Document.cpp:2314
#27 0x00007ffff7379171 in App::Document::saveAs (this=0x555555bf7a20, _file=<optimized out>) at /usr/src/debug/FreeCAD-0.20.0~g20220402.027fb07743-0.x86_64/src/App/Document.cpp:2273
#28 0x00007ffff73fb1b4 in App::DocumentPy::saveAs (this=0x5555563355a0, args=<optimized out>) at /usr/include/c++/11/bits/basic_string.h:194
#29 0x00007ffff73f6a14 in App::DocumentPy::staticCallback_saveAs (self=<App.Document at remote 0x5555563355a8>, args=<optimized out>) at /usr/src/debug/FreeCAD-0.20.0~g20220402.027fb07743-0.x86_64/build/src/App/DocumentPy.cpp:493
...
#46 0x00007ffff7d615b4 in PyEval_EvalFrameEx (throwflag=0,
f=Frame 0x555555bdfed0, for file /usr/lib64/python3.8/unittest/case.py, line 1700, in run (self=<TestObjectCreate(_testMethodName='test_femobjects_make', _outcome=<_Outcome(expecting_failure=False, result=<TextTestResult(failfast=False, failures=[], errors=[], testsRun=7, skipped=[], expectedFailures=[], unexpectedSuccesses=[], shouldStop=False, buffer=False, tb_locals=False, _stdout_buffer=None, _stderr_buffer=None, _original_stdout=<_io.TextIOWrapper at remote 0x7ffff7874e10>, _original_stderr=<_io.TextIOWrapper at remote 0x7ffff7874ee0>, _mirrorOutput=False, stream=<_WritelnDecorator(stream=<_io.TextIOWrapper at remote 0x7ffff7874ee0>) at remote 0x7fffeac4d3a0>, showAll=True, dots=False, descriptions=True, _testRunEntered=True, _moduleSetUpFailed=False, _previousTestClass=<type at remote 0x5555558b01a0>) at remote 0x7fffeac4d400>, result_supports_subtests=True, success=True, skipped=[], expectedFailure=None, errors=[(<...>, None)]) at remote 0x7fffeac33fa0>, _testMethodDoc=None, _cleanups=[], _subtest=None, ...(truncated)) at Python/ceval.c:741
#47 _PyEval_EvalCodeWithName (_co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=0x0, kwargs=0x7fffffffb590, kwcount=0, kwstep=1, defs=0x7ffff2f192c8, defcount=1, kwdefs=0x0, closure=0x0,
name='run', qualname='TestCase.run') at Python/ceval.c:4298
Code: Select all
2060 this->WriteWordTypeAttribute("type", a->GetDataType());
bt 5
#0 vtkXMLWriter::WriteArrayHeader (this=0x555555a053b0, a=0x0, indent=..., alternateName=0x0, writeNumTuples=0, timestep=0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriter.cxx:2060
#1 0x00007ffff1e73b44 in vtkXMLWriter::WriteArrayInline (this=this@entry=0x555555a053b0, a=0x0, indent=..., alternateName=alternateName@entry=0x0, writeNumTuples=writeNumTuples@entry=0) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLWriter.cxx:2163
#2 0x00007ffff1e5c6e9 in vtkXMLUnstructuredDataWriter::WriteCellsInlineWorker (this=0x555555a053b0, name=0x7ffff1e7e348 "Cells", types=0x0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/Core/vtkSmartPointer.h:195
#3 0x00007ffff1e6647c in vtkXMLUnstructuredGridWriter::WriteInlinePiece (this=this@entry=0x555555a053b0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/Common/Core/vtkSmartPointer.h:195
#4 0x00007ffff1e5ba9e in vtkXMLUnstructuredDataWriter::WriteInlineMode (this=0x555555a053b0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredDataWriter.cxx:473
Code: Select all
#0 vtkXMLUnstructuredDataWriter::WriteCellsInlineWorker (this=0x555555a053b0, name=0x7ffff1e7e348 "Cells", types=0x0, indent=...) at /usr/src/debug/vtk-9.1.0-177.9.x86_64/IO/XML/vtkXMLUnstructuredDataWriter.cxx:680
680 this->WriteArrayInline(this->CellPoints, indent.GetNextIndent());
p this->CellPoints
$19 = {<vtkSmartPointerBase> = {Object = 0x0}, <No data fields>}