View Issue Details

IDProjectCategoryView StatusLast Update
0003921PartDesignBugpublic2019-06-16 17:34
Reporterreox Assigned Towmayer  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSDebianOS Versionbuster/sid
Product Version0.19 
Target Version0.19Fixed in Version0.19 
Summary0003921: Crash when opening document with datum point intersecting line and plane
DescriptionAs reported here https://forum.freecadweb.org/viewtopic.php?f=3&t=35226

When creating a datum plane and a datum line, intersecting both to create a datum point, the resulting file will crash freecad when opened again.
As you can see in the forum thread, the datum point is immediately marked with a red exclamation mark, thus after creating the point it is already invalid.
But the point is rendered in the correct location, suggesting that the action is correct.
Steps To Reproduce* Create a Cone
* mark the seam on the cone
* create a datum plane, rotate by 90° in order to be tangential to the cone surface, not normal
* select the smaller diameter face of the cone
* create a datum line, select attachment to have the line go through the center of the face (usually 3rd moment of inertia)
* Create a new datum point, select 1st Datum Line, 2nd Datum Plane, use Proximity Point 2 as attachment
* OK
* (Red exclamation mark will appear, if the datum point is edited again, the attachment will be invalid)
* Save the file
* Close Freecad and reopen
* Open the file
* Crash
Additional InformationOS: Debian GNU/Linux buster/sid
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16206 (Git)
Build type: Release
Branch: master
Hash: 763c2b22fed224eae1e767de1f7b8f2f703ba683
Python version: 3.7.3rc1
Qt version: 5.11.3
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: German/Austria (de_AT)


Crash:
PositionBySupport: Geom_RectangularTrimmedSurface::U parameters out of range

Thread 1 "freecad-daily" received signal SIGSEGV, Segmentation fault.
0x00007fffde1cedc9 in Geom_RectangularTrimmedSurface::SetTrim(double, double, double, double, bool, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libTKG3d.so.7


backtrace:
#1 0x00007fffde1cedc9 in Geom_RectangularTrimmedSurface::SetTrim(double, double, double, double, bool, bool, bool, bool) () at /usr/lib/x86_64-linux-gnu/libTKG3d.so.7
[... Geom_RectangularTrimmedSurface is called 52215 times]
#52215 0x00007fffde1cf010 in Geom_RectangularTrimmedSurface::SetTrim(double, double, double, double, bool, bool, bool, bool) () at /usr/lib/x86_64-linux-gnu/libTKG3d.so.7
#52216 0x00007fffde1cf635 in Geom_RectangularTrimmedSurface::Geom_RectangularTrimmedSurface(opencascade::handle<Geom_Surface> const&, double, double, double, double, bool, bool) () at /usr/lib/x86_64-linux-gnu/libTKG3d.so.7
#52217 0x00007fffdcb07b71 in () at /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so.7
#52218 0x00007fffdcb0ac5e in BRepExtrema_DistanceSS::Perform(TopoDS_Shape const&, TopoDS_Shape const&, Bnd_Box const&, Bnd_Box const&) () at /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so.7
#52219 0x00007fffdcb154e0 in BRepExtrema_DistShapeShape::DistanceMapMap(NCollection_IndexedMap<TopoDS_Shape, TopTools_ShapeMapHasher> const&, NCollection_IndexedMap<TopoDS_Shape, TopTools_ShapeMapHasher> const&, NCollection_Sequence<Bnd_Box> const&, NCollection_Sequence<Bnd_Box> const&) () at /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so.7
#52220 0x00007fffdcb17000 in BRepExtrema_DistShapeShape::Perform() () at /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so.7
#52221 0x00007fffdcb182fc in BRepExtrema_DistShapeShape::BRepExtrema_DistShapeShape(TopoDS_Shape const&, TopoDS_Shape const&, Extrema_ExtFlag, Extrema_ExtAlgo) () at /usr/lib/x86_64-linux-gnu/libTKTopAlgo.so.7
#52222 0x00007fffdeb7d02d in Attacher::AttachEnginePoint::calculateAttachedPlacement(Base::Placement) const () at /usr/lib/freecad-daily/lib/Part.so
#52223 0x00007fffdea868f9 in Part::AttachExtension::positionBySupport() () at /usr/lib/freecad-daily/lib/Part.so
#52224 0x00007fffdea86960 in Part::AttachExtension::onExtendedDocumentRestored() () at /usr/lib/freecad-daily/lib/Part.so
#52225 0x00007ffff6b66a2c in App::DocumentObject::onDocumentRestored() () at /usr/lib/freecad-daily/lib/libFreeCADApp.so
#52226 0x00007ffff6b32c6a in App::Document::restore() () at /usr/lib/freecad-daily/lib/libFreeCADApp.so
#52227 0x00007ffff6c24c39 in App::Application::openDocument(char const*) () at /usr/lib/freecad-daily/lib/libFreeCADApp.so
#52228 0x00007ffff6c39f2e in App::Application::sOpenDocument(_object*, _object*) () at /usr/lib/freecad-daily/lib/libFreeCADApp.so
#52229 0x00007ffff659cd49 in _PyMethodDef_RawFastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52230 0x00007ffff659da85 in _PyCFunction_FastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52231 0x00007ffff639f5f0 in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52232 0x00007ffff64c6456 in _PyEval_EvalCodeWithName () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52233 0x00007ffff64c66de in PyEval_EvalCodeEx () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52234 0x00007ffff64c74ab in PyEval_EvalCode () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52235 0x00007ffff649525b in PyRun_StringFlags () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52236 0x00007ffff68f2cb6 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) () at /usr/lib/freecad-daily/lib/libFreeCADBase.so
#52237 0x00007ffff6c3995b in App::Application::sLoadFile(_object*, _object*) () at /usr/lib/freecad-daily/lib/libFreeCADApp.so
#52238 0x00007ffff659cd49 in _PyMethodDef_RawFastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52239 0x00007ffff659da85 in _PyCFunction_FastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52240 0x00007ffff639f5f0 in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52241 0x00007ffff64c6456 in _PyEval_EvalCodeWithName () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52242 0x00007ffff64c66de in PyEval_EvalCodeEx () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52243 0x00007ffff64c74ab in PyEval_EvalCode () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52244 0x00007ffff649525b in PyRun_StringFlags () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52245 0x00007ffff64cad9c in () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52246 0x00007ffff659ccf5 in _PyMethodDef_RawFastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52247 0x00007ffff659da85 in _PyCFunction_FastCallKeywords () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52248 0x00007ffff639fea9 in _PyEval_EvalFrameDefault () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52249 0x00007ffff64c6456 in _PyEval_EvalCodeWithName () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52250 0x00007ffff64c66de in PyEval_EvalCodeEx () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52251 0x00007ffff64c74ab in PyEval_EvalCode () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52252 0x00007ffff649525b in PyRun_StringFlags () at /usr/lib/x86_64-linux-gnu/libpython3.7m.so.1.0
#52253 0x00007ffff68f2cb6 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) () at /usr/lib/freecad-daily/lib/libFreeCADBase.so
#52254 0x00007ffff7173a43 in Gui::Command::doCommand(Gui::Command::DoCmd_Type, char const*, ...) () at /usr/lib/freecad-daily/lib/libFreeCADGui.so
#52255 0x00007fffe52739ce in WebGui::BrowserView::onLinkClicked(QUrl const&) () at /usr/lib/freecad-daily/lib/WebGui.so
#52256 0x00007fffe5274248 in () at /usr/lib/freecad-daily/lib/WebGui.so
#52257 0x00007ffff3e705c6 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52258 0x00007fffd77b7095 in QWebView::linkClicked(QUrl const&) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52259 0x00007fffd77b7ec9 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52260 0x00007ffff3e705c6 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52261 0x00007fffd77aced5 in QWebPage::linkClicked(QUrl const&) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52262 0x00007fffd77ad81b in QWebPage::acceptNavigationRequest(QWebFrame*, QNetworkRequest const&, QWebPage::NavigationType) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52263 0x00007fffd4f3e05c in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52264 0x00007fffd5ef9af3 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52265 0x00007fffd5ed9389 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52266 0x00007fffd5ed98b0 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52267 0x00007fffd5ed9ee8 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52268 0x00007fffd5eda9c8 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52269 0x00007fffd5edacba in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52270 0x00007fffd5edafe0 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52271 0x00007fffd5acddcb in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52272 0x00007fffd5bf4d01 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52273 0x00007fffd5bf2a2e in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52274 0x00007fffd5f78423 in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52275 0x00007fffd5f7c2cb in () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52276 0x00007fffd4f65620 in QWebPageAdapter::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#52277 0x00007fffd77b55f9 in QWebPage::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52278 0x00007fffd77b6bc0 in QWebView::mouseDoubleClickEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52279 0x00007ffff47fd748 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52280 0x00007fffd77b818e in QWebView::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5WebKitWidgets.so.5
#52281 0x00007ffff47bf491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52282 0x00007ffff47c6d08 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52283 0x00007ffff7149b38 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-daily/lib/libFreeCADGui.so
#52284 0x00007ffff3e47479 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52285 0x00007ffff47c6019 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52286 0x00007ffff4818264 in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52287 0x00007ffff481adee in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52288 0x00007ffff47bf491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52289 0x00007ffff47c6ac0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#52290 0x00007ffff7149b38 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-daily/lib/libFreeCADGui.so
#52291 0x00007ffff3e47479 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52292 0x00007ffff41f2a6b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#52293 0x00007ffff41f4925 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#52294 0x00007ffff41ced3b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#52295 0x00007fffee2d88db in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#52296 0x00007ffff3e4614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52297 0x00007ffff3e4e2b2 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#52298 0x00007ffff70e737e in Gui::Application::runApplication() () at /usr/lib/freecad-daily/lib/libFreeCADGui.so
#52299 0x0000555555558776 in main ()
TagsNo tags attached.
FreeCAD Information

Activities

reox

2019-03-28 12:53

reporter  

crash.FCStd (7,587 bytes)

Kunda1

2019-06-13 14:47

administrator   ~0013200

wmayer think this may likely be an OCC bug per https://forum.freecadweb.org/viewtopic.php?f=3&t=35226#p298361

wmayer

2019-06-16 15:15

administrator   ~0013223

Last edited: 2019-06-16 15:28

View 2 revisions

When running the debug version of OCC 7.3 all works OK but when running the release version I can confirm the crash and it's also a stack overflow.

For OCC 7.0 in debug & release mode it just fails but it doesn't crash the application.
So, it seems there is a regression in OCC 7.3

wmayer

2019-06-16 17:34

administrator   ~0013225

The suggested solution is a workaround for this case of a plane and line where an intersection point is computed. If there is none found the old procedure is used.

Related Changesets

FreeCAD: master 3590b65b

2019-06-16 17:31:06

wmayer

Details Diff
issue 0003921: Crash when opening document with datum point intersecting line and plane Affected Issues
0003921
mod - src/Mod/Part/App/Attacher.cpp Diff File
mod - src/Mod/Part/App/Attacher.h Diff File

Issue History

Date Modified Username Field Change
2019-03-28 12:53 reox New Issue
2019-03-28 12:53 reox File Added: crash.FCStd
2019-06-13 14:47 Kunda1 Note Added: 0013200
2019-06-13 14:48 Kunda1 Target Version => 0.19
2019-06-13 14:48 Kunda1 Status new => confirmed
2019-06-16 15:15 wmayer Note Added: 0013223
2019-06-16 15:28 wmayer Note Edited: 0013223 View Revisions
2019-06-16 17:31 wmayer Changeset attached => FreeCAD master 3590b65b
2019-06-16 17:34 wmayer Assigned To => wmayer
2019-06-16 17:34 wmayer Status confirmed => closed
2019-06-16 17:34 wmayer Resolution open => fixed
2019-06-16 17:34 wmayer Fixed in Version => 0.19
2019-06-16 17:34 wmayer Note Added: 0013225