Giter Site home page Giter Site logo

Comments (8)

xtemp09 avatar xtemp09 commented on July 22, 2024

I cannot reproduce the crash. Perhaps, it depends on some options in TechDraw.

OS: Ubuntu 22.04.3 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37303 (Git)
Build type: Debug
Branch: main
Hash: 869cb1f83b5f92ee134dafde46c9c5e0dceb8889
Python 3.10.12, Qt 5.15.12, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.1
Locale: English/United States (en_US)

from freecad.

maxwxyz avatar maxwxyz commented on July 22, 2024

@bgbsww could it be related to #14202

from freecad.

bgbsww avatar bgbsww commented on July 22, 2024

I don't think so. I'll note, however, that Part::SubShapeBinder exists in LS3, but does not in main ( implementation is fully in PartDesign, not Part ). So I suspect this file was edited in LS3 with subshapebinders added, saved, and then attempted to open in main to this failure.

That's a semi-educated guess, could be wrong.

from freecad.

wwmayer avatar wwmayer commented on July 22, 2024

I'll note, however, that Part::SubShapeBinder exists in LS3

That's correct. In the meantime it is confirmed in the forum thread that the file was created with RT's version. Nevertheless, the application must not crash and according to the callstack I get the crash is not directly related to the missing SubShapeBinder.

from freecad.

xtemp09 avatar xtemp09 commented on July 22, 2024

If I open a sketch (Body029→box013→Sketch057), FreeCAD crashes, the backtrace is different.

Backtrace
Process 22374 stopped
* thread #1, name = 'FreeCAD', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x88)
    frame #0: 0x00007ffff60a47f5 libFreeCADApp.so`Data::ElementMap::dehashElementName(this=0x0000000000000000, name=0x00007fffffff8260) const at ElementMap.cpp:708:5
   705      if (name.empty()) {
   706          return name;
   707      }
-> 708      if (!this->hasher) {
   709          return name;
   710      }
   711      auto id = App::StringID::fromString(name.toRawBytes());
(lldb) bt
* thread #1, name = 'FreeCAD', stop reason = signal SIGSEGV: address not mapped to object (fault address: 0x88)
  * frame #0: 0x00007ffff60a47f5 libFreeCADApp.so`Data::ElementMap::dehashElementName(this=0x0000000000000000, name=0x00007fffffff8260) const at ElementMap.cpp:708:5
    frame #1: 0x00007ffff60a78fd libFreeCADApp.so`Data::ElementMap::getElementHistory(this=0x0000000000000000, name=0x000055555e12eb78, masterTag=5019, original=<unavailable>, history=size=0) const at ElementMap.cpp:1338:36
    frame #2: 0x00007fffbf13b2aa Part.so`::getElementSource(App::DocumentObject *, Part::TopoShape, const Data::MappedName &, char) [inlined] Data::ComplexGeoData::getElementHistory(history=size=0, original=0x00007fffffff84e0, name=<unavailable>, this=0x00007fffffff8a00) const at ComplexGeoData.h:299:46
    frame #3: 0x00007fffbf13b28f Part.so`getElementSource(owner=<unavailable>, shape=TopoShape @ 0x00007fffffff8a00, name=0x00007fffffff8820, type='F') at PartFeature.cpp:467:43
    frame #4: 0x00007fffbf13b514 Part.so`Part::Feature::getRelatedElements(obj=<unavailable>, name=";#c23;:G0;XTR;:H139a:8,F.Face12", sameType=followTypeChange, withCache=false) at PartFeature.cpp:778:91
    frame #5: 0x00007fffbf2cc008 Part.so`Attacher::AttachEngine::calculateAttachedPlacement(this=0x000055555bb96660, origPlacement=0x000055555bb99660, subChanged=0x0000000000000000) at Attacher.cpp:971:63
    frame #6: 0x00007fffbf154b36 Part.so`Part::AttachExtension::isAttacherActive(this=0x000055555bb99968) const at AttachExtension.cpp:312:56
    frame #7: 0x00007fffbf157113 Part.so`Part::AttachExtension::extensionOnChanged(this=0x000055555bb99968, prop=0x000055555bb99b08) at AttachExtension.cpp:366:50
    frame #8: 0x00007ffff5eeea12 libFreeCADApp.so`App::ExtensionContainer::onChanged(this=0x000055555bb99130, prop=0x000055555bb99b08) at ExtensionContainer.cpp:282:41
    frame #9: 0x00007ffff5ee9bf7 libFreeCADApp.so`App::DocumentObject::onChanged(this=0x000055555bb99130, prop=0x000055555bb99b08) at DocumentObject.cpp:818:35
    frame #10: 0x00007ffff5f906fc libFreeCADApp.so`App::GeoFeature::onChanged(this=0x000055555bb99130, prop=0x000055555bb99b08) at GeoFeature.cpp:255:30
    frame #11: 0x00007fffbf13c13c Part.so`Part::Feature::onChanged(this=0x000055555bb99130, prop=0x000055555bb99b08) at PartFeature.cpp:1469:26
    frame #12: 0x00007fffba34130e _PartDesign.so`PartDesign::Plane::onChanged(this=0x000055555bb99130, prop=0x000055555bb99b08) at DatumPlane.cpp:101:21
    frame #13: 0x00007ffff5fe12e2 libFreeCADApp.so`App::Property::hasSetValue(this=0x000055555bb99b08) at Property.cpp:230:26
    frame #14: 0x00007ffff60161a6 libFreeCADApp.so`App::PropertyLinkBase::hasSetValue(this=0x000055555bb99b08) at PropertyLinks.cpp:78:26
    frame #15: 0x00007ffff600a5bf libFreeCADApp.so`App::PropertyLinkSubList::setValues(this=0x000055555bb99b08, lValue=size=0, lSubNames=size=0, ShadowSubList=size=0) at PropertyLinks.cpp:2047:16
    frame #16: 0x00007ffff600a658 libFreeCADApp.so`App::PropertyLinkSubList::setValues(this=0x000055555bb99b08, lValue=size=1, lSubNames=size=1, ShadowSubList=size=0) at PropertyLinks.cpp:2001:14
    frame #17: 0x00007ffff600aa85 libFreeCADApp.so`App::PropertyLinkSubList::Paste(this=0x000055555bb99b08, from=0x000055555bb999f8) at PropertyLinks.cpp:2725:14
    frame #18: 0x00007fffbf1570dd Part.so`Part::AttachExtension::extensionOnChanged(this=0x000055555bb99968, prop=0x000055555bb999f8) at AttachExtension.cpp:354:40
    frame #19: 0x00007ffff5eeea12 libFreeCADApp.so`App::ExtensionContainer::onChanged(this=0x000055555bb99130, prop=0x000055555bb999f8) at ExtensionContainer.cpp:282:41
    frame #20: 0x00007ffff5ee9bf7 libFreeCADApp.so`App::DocumentObject::onChanged(this=0x000055555bb99130, prop=0x000055555bb999f8) at DocumentObject.cpp:818:35
    frame #21: 0x00007ffff5f906fc libFreeCADApp.so`App::GeoFeature::onChanged(this=0x000055555bb99130, prop=0x000055555bb999f8) at GeoFeature.cpp:255:30
    frame #22: 0x00007fffbf13c13c Part.so`Part::Feature::onChanged(this=0x000055555bb99130, prop=0x000055555bb999f8) at PartFeature.cpp:1469:26
    frame #23: 0x00007fffba34130e _PartDesign.so`PartDesign::Plane::onChanged(this=0x000055555bb99130, prop=0x000055555bb999f8) at DatumPlane.cpp:101:21
    frame #24: 0x00007ffff5fe12e2 libFreeCADApp.so`App::Property::hasSetValue(this=0x000055555bb999f8) at Property.cpp:230:26
    frame #25: 0x00007ffff60161a6 libFreeCADApp.so`App::PropertyLinkBase::hasSetValue(this=0x000055555bb999f8) at PropertyLinks.cpp:78:26
    frame #26: 0x00007ffff60118c8 libFreeCADApp.so`App::PropertyLinkSubList::updateElementReference(this=0x000055555bb999f8, feature=0x000055555bb7c620, reverse=false, notify=true) at PropertyLinks.cpp:2418:20
    frame #27: 0x00007ffff600bc58 libFreeCADApp.so`App::PropertyLinkBase::updateElementReferences(feature=<unavailable>, reverse=false) at PropertyLinks.cpp:249:45
    frame #28: 0x00007ffff5f8fb38 libFreeCADApp.so`App::GeoFeature::updateElementReference(this=0x000055555bb7c620) at GeoFeature.cpp:244:46
    frame #29: 0x00007ffff5f90743 libFreeCADApp.so`App::GeoFeature::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cba8) at GeoFeature.cpp:252:35
    frame #30: 0x00007fffbf13c13c Part.so`Part::Feature::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cba8) at PartFeature.cpp:1469:26
    frame #31: 0x00007fffba318b24 _PartDesign.so`PartDesign::Feature::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cba8) at Feature.cpp:154:29
    frame #32: 0x00007fffba353880 _PartDesign.so`PartDesign::ProfileBased::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cba8) at FeatureSketchBased.cpp:675:29
    frame #33: 0x00007ffff5fe12e2 libFreeCADApp.so`App::Property::hasSetValue(this=0x000055555bb7cba8) at Property.cpp:230:26
    frame #34: 0x00007fffbf159598 Part.so`Part::PropertyPartShape::setValue(this=0x000055555bb7cba8, sh=<unavailable>) at PropertyTopoShape.cpp:86:16
    frame #35: 0x00007fffbf13c1f4 Part.so`Part::Feature::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cb10) at PartFeature.cpp:1433:33
    frame #36: 0x00007fffba318b24 _PartDesign.so`PartDesign::Feature::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cb10) at Feature.cpp:154:29
    frame #37: 0x00007fffba353880 _PartDesign.so`PartDesign::ProfileBased::onChanged(this=0x000055555bb7c620, prop=0x000055555bb7cb10) at FeatureSketchBased.cpp:675:29
    frame #38: 0x00007ffff5fe12e2 libFreeCADApp.so`App::Property::hasSetValue(this=0x000055555bb7cb10) at Property.cpp:230:26
    frame #39: 0x00007ffff5ff5475 libFreeCADApp.so`App::PropertyPlacement::setValue(this=0x000055555bb7cb10, pos=0x000055555b9b9430) at PropertyGeo.cpp:515:16
    frame #40: 0x00007fffba353b14 _PartDesign.so`PartDesign::ProfileBased::positionByPrevious(this=0x000055555bb7c620) at FeatureSketchBased.cpp:100:33
    frame #41: 0x00007fffba350b59 _PartDesign.so`PartDesign::FeatureExtrude::buildExtrusion(this=0x000055555bb7c620, options=<unavailable>) at FeatureExtrude.cpp:511:33
    frame #42: 0x00007fffba35ed06 _PartDesign.so`PartDesign::Pad::execute(this=<unavailable>) at FeaturePad.cpp:74:26
    frame #43: 0x00007ffff5ee84f5 libFreeCADApp.so`App::DocumentObject::recompute(this=0x000055555bb7c620) at DocumentObject.cpp:162:29
    frame #44: 0x00007fffba3189e0 _PartDesign.so`PartDesign::Feature::recompute(this=0x000055555bb7c620) at Feature.cpp:83:37
    frame #45: 0x00007ffff5e783ec libFreeCADApp.so`App::Document::_recomputeFeature(this=0x00005555584ee8d0, Feat=0x000055555bb7c620) at Document.cpp:3129:41
    frame #46: 0x00007ffff5e80628 libFreeCADApp.so`App::Document::recompute(this=0x00005555584ee8d0, objs=<unavailable>, force=<unavailable>, hasError=0x0000000000000000, options=<unavailable>) at Document.cpp:2856:48
    frame #47: 0x00007ffff5f4e5fb libFreeCADApp.so`App::DocumentPy::recompute(this=0x000055555844c5a0, args=<unavailable>) at DocumentPyImp.cpp:578:54
    frame #48: 0x00007ffff5f4e89d libFreeCADApp.so`App::DocumentPy::staticCallback_recompute(self=0x000055555844c5a8, args=<unavailable>) at DocumentPy.cpp:1958:66
    frame #49: 0x00007ffff5128008 libpython3.10.so.1.0`___lldb_unnamed_symbol3713 + 72
    frame #50: 0x00007ffff50dfadc libpython3.10.so.1.0`_PyObject_MakeTpCall + 140
    frame #51: 0x00007ffff507ba1c libpython3.10.so.1.0`_PyEval_EvalFrameDefault + 40380
    frame #52: 0x00007ffff51c23af libpython3.10.so.1.0`___lldb_unnamed_symbol4418 + 1647
    frame #53: 0x00007ffff51bd3de libpython3.10.so.1.0`PyEval_EvalCode + 190
    frame #54: 0x00007ffff520c4cd libpython3.10.so.1.0`___lldb_unnamed_symbol4668 + 157
    frame #55: 0x00007ffff520d4f9 libpython3.10.so.1.0`PyRun_StringFlags + 121
    frame #56: 0x00007ffff578dab1 libFreeCADBase.so`Base::InterpreterSingleton::runString[abi:cxx11](this=<unavailable>, sCmd="App.ActiveDocument.recompute()") at Interpreter.cpp:249:15
    frame #57: 0x00007ffff6d50e5c libFreeCADGui.so`Gui::Command::_runCommand(file="/home/xtemp09/Downloads/FreeCAD2/freecad-source/src/Gui/Command.cpp", line=851, eType=App, sCmd="App.ActiveDocument.recompute()") at Command.cpp:725:38
    frame #58: 0x00007ffff6d5101a libFreeCADGui.so`Gui::Command::_doCommand(file="/home/xtemp09/Downloads/FreeCAD2/freecad-source/src/Gui/Command.cpp", line=851, eType=App, sCmd="") at Command.cpp:677:16
    frame #59: 0x00007ffff6d51107 libFreeCADGui.so`Gui::Command::updateActive() at Command.cpp:851:5
    frame #60: 0x00007fff6ab22fa2 SketcherGui.so`SketcherGui::ViewProviderSketch::unsetEdit(this=0x000055555bb65be0, ModNum=<unavailable>) at ViewProviderSketch.cpp:3232:39
    frame #61: 0x00007ffff708548b libFreeCADGui.so`Gui::ViewProvider::finishEditing(this=0x000055555bb65be0) at ViewProvider.cpp:153:14
    frame #62: 0x00007ffff6cc2c94 libFreeCADGui.so`Gui::Document::_resetEdit(this=0x00005555584e1410) at Document.cpp:480:44
    frame #63: 0x00007ffff6c66930 libFreeCADGui.so`Gui::Application::setEditDocument(this=0x00007fffffffd840, doc=0x0000000000000000) at Application.cpp:1134:29
    frame #64: 0x00007ffff6cbe130 libFreeCADGui.so`Gui::Document::resetEdit(this=<unavailable>) at Document.cpp:467:43
    frame #65: 0x00007ffff6cf33b6 libFreeCADGui.so`Gui::DocumentPy::resetEdit(this=0x00005555584ffe10, args=<unavailable>) at DocumentPyImp.cpp:169:32
    frame #66: 0x00007ffff6cf33ff libFreeCADGui.so`Gui::DocumentPy::staticCallback_resetEdit(self=0x00005555584ffe18, args=<unavailable>) at DocumentPy.cpp:637:66
    frame #67: 0x00007ffff5128008 libpython3.10.so.1.0`___lldb_unnamed_symbol3713 + 72
    frame #68: 0x00007ffff50dfadc libpython3.10.so.1.0`_PyObject_MakeTpCall + 140
    frame #69: 0x00007ffff507ba1c libpython3.10.so.1.0`_PyEval_EvalFrameDefault + 40380
    frame #70: 0x00007ffff51c23af libpython3.10.so.1.0`___lldb_unnamed_symbol4418 + 1647
    frame #71: 0x00007ffff51bd3de libpython3.10.so.1.0`PyEval_EvalCode + 190
    frame #72: 0x00007ffff520c4cd libpython3.10.so.1.0`___lldb_unnamed_symbol4668 + 157
    frame #73: 0x00007ffff520d4f9 libpython3.10.so.1.0`PyRun_StringFlags + 121
    frame #74: 0x00007ffff578dab1 libFreeCADBase.so`Base::InterpreterSingleton::runString[abi:cxx11](this=<unavailable>, sCmd="Gui.getDocument('Kitchen_fixed').resetEdit()") at Interpreter.cpp:249:15
    frame #75: 0x00007ffff6d50e5c libFreeCADGui.so`Gui::Command::_runCommand(file="/home/xtemp09/Downloads/FreeCAD2/freecad-source/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp", line=137, eType=Gui, sCmd="Gui.getDocument('Kitchen_fixed').resetEdit()") at Command.cpp:725:38
    frame #76: 0x00007ffff6d5101a libFreeCADGui.so`Gui::Command::_doCommand(file="/home/xtemp09/Downloads/FreeCAD2/freecad-source/src/Mod/Sketcher/Gui/TaskDlgEditSketch.cpp", line=137, eType=Gui, sCmd="") at Command.cpp:677:16
    frame #77: 0x00007fff6ab6337d SketcherGui.so`SketcherGui::TaskDlgEditSketch::reject(this=0x0000555555c1bc60) at TaskDlgEditSketch.cpp:137:19
    frame #78: 0x00007ffff6ff8ca6 libFreeCADGui.so`Gui::TaskView::TaskView::reject(this=0x0000555555cb6550) at TaskView.cpp:803:40
    frame #79: 0x00007ffff6ff9e6a libFreeCADGui.so`QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (Gui::TaskView::TaskView::*)()>::call(f=<unavailable>, o=<unavailable>, arg=<unavailable>) at qobjectdefs_impl.h:152:20
    frame #80: 0x00007ffff6ff9ea8 libFreeCADGui.so`QtPrivate::QSlotObject<void (Gui::TaskView::TaskView::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) [inlined] void QtPrivate::FunctionPointer<void (Gui::TaskView::TaskView::*)()>::call<QtPrivate::List<>, void>(arg=<unavailable>, o=<unavailable>, f=<unavailable>) at qobjectdefs_impl.h:185:95
    frame #81: 0x00007ffff6ff9ea0 libFreeCADGui.so`QtPrivate::QSlotObject<void (Gui::TaskView::TaskView::*)(), QtPrivate::List<>, void>::impl(which=<unavailable>, this_=<unavailable>, r=<unavailable>, a=<unavailable>, ret=<unavailable>) at qobjectdefs_impl.h:418:49
    frame #82: 0x00007ffff3ee33db libQt5Core.so.5`void doActivate<false>(QObject*, int, void**) [inlined] QtPrivate::QSlotObjectBase::call(a=0x00007fffffffbee0, r=0x0000555555cb6550, this=0x00005555583e8c40) at qobjectdefs_impl.h:398:57
    frame #83: 0x00007ffff3ee33bf libQt5Core.so.5`void doActivate<false>(sender=0x0000555557e1b4b0, signal_index=10, argv=0x00007fffffffbee0) at qobject.cpp:3925:30
    frame #84: 0x00007ffff3eda3ab libQt5Core.so.5`QMetaObject::activate(sender=<unavailable>, m=0x000000000072a440, local_signal_index=3, argv=0x0000000000000000) at qobject.cpp:3985:26
    frame #85: 0x00007ffff4cbb1fa libQt5Widgets.so.5`QDialogButtonBox::rejected(this=<unavailable>) at moc_qdialogbuttonbox.cpp:299:26
    frame #86: 0x00007ffff4cbb86c libQt5Widgets.so.5`QDialogButtonBoxPrivate::_q_handleButtonClicked(this=<unavailable>) at qdialogbuttonbox.cpp:882:29
    frame #87: 0x00007ffff4cbcd5d libQt5Widgets.so.5`QDialogButtonBox::qt_static_metacall(_o=<unavailable>, _c=<unavailable>, _id=<unavailable>, _a=<unavailable>) at moc_qdialogbuttonbox.cpp:159:53
    frame #88: 0x00007ffff3ee357c libQt5Core.so.5`void doActivate<false>(sender=0x0000555557d8a000, signal_index=9, argv=0x00007fffffffc090) at qobject.cpp:3937:33
    frame #89: 0x00007ffff3eda3ab libQt5Core.so.5`QMetaObject::activate(sender=0x0000555557d8a000, m=0x0000000000721000, local_signal_index=2, argv=0x00007fffffffc090) at qobject.cpp:3985:26
    frame #90: 0x00007ffff4bfaf1a libQt5Widgets.so.5`QAbstractButton::clicked(this=0x0000555557d8a000, _t1=<unavailable>) at moc_qabstractbutton.cpp:308:26
    frame #91: 0x00007ffff4bfb22a libQt5Widgets.so.5`QAbstractButtonPrivate::emitClicked(this=0x0000555557f5bc30) at qabstractbutton.cpp:415:20
    frame #92: 0x00007ffff4bfcbb3 libQt5Widgets.so.5`QAbstractButtonPrivate::click(this=0x0000555557f5bc30) at qabstractbutton.cpp:408:20
    frame #93: 0x00007ffff4bfcdfe libQt5Widgets.so.5`QAbstractButton::mouseReleaseEvent(this=0x0000555557d8a000, e=0x00007fffffffc870) at qabstractbutton.cpp:1044:17
    frame #94: 0x00007ffff4b2d919 libQt5Widgets.so.5`QWidget::event(this=0x0000555557d8a000, event=0x00007fffffffc870) at qwidget.cpp:8671:26
    frame #95: 0x00007ffff4bfe214 libQt5Widgets.so.5`QAbstractButton::event(this=0x0000555557d8a000, e=0x00007fffffffc870) at qabstractbutton.cpp:1001:26
    frame #96: 0x00007ffff4cb83d3 libQt5Widgets.so.5`QPushButton::event(this=0x0000555557d8a000, e=0x00007fffffffc870) at qpushbutton.cpp:718:34
    frame #97: 0x00007ffff4ae1813 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(this=<unavailable>, receiver=0x0000555557d8a000, e=0x00007fffffffc870) at qapplication.cpp:3640:31
    frame #98: 0x00007ffff4aea60a libQt5Widgets.so.5`QApplication::notify(this=<unavailable>, receiver=0x0000555557d8a000, e=0x00007fffffffc870) at qapplication.cpp:3084:43
    frame #99: 0x00007ffff6d19982 libFreeCADGui.so`Gui::GUIApplication::notify(this=0x00007fffffffd7c0, receiver=0x0000555557d8a000, event=0x00007fffffffc870) at GuiApplication.cpp:83:40
    frame #100: 0x00007ffff3e9ef19 libQt5Core.so.5`QCoreApplication::notifyInternal2(receiver=0x0000555557d8a000, event=0x00007fffffffc870) at qcoreapplication.cpp:1064:24
    frame #101: 0x00007ffff3e9f1b4 libQt5Core.so.5`QCoreApplication::sendSpontaneousEvent(receiver=0x0000555557d8a000, event=0x00007fffffffc870) at qcoreapplication.cpp:1474:27
    frame #102: 0x00007ffff4ae937b libQt5Widgets.so.5`QApplicationPrivate::sendMouseEvent(receiver=0x0000555557d8a000, event=0x00007fffffffc870, alienWidget=0x0000555557d8a000, nativeWidget=0x00007fffffffd800, buttonDown=0x00007ffff4f4d470, lastMouseReceiver=0x00007ffff4f4d450, spontaneous=true, onlyDispatchEnterLeave=false) at qapplication.cpp:2622:56
    frame #103: 0x00007ffff4b4ae1b libQt5Widgets.so.5`QWidgetWindow::handleMouseEvent(this=0x0000555556d810e0, event=0x00007fffffffced0) at qwidgetwindow.cpp:684:44
    frame #104: 0x00007ffff4b4e83a libQt5Widgets.so.5`QWidgetWindow::event(this=0x0000555556d810e0, event=0x00007fffffffced0) at qwidgetwindow.cpp:300:25
    frame #105: 0x00007ffff4ae1813 libQt5Widgets.so.5`QApplicationPrivate::notify_helper(this=0x00005555559002a0, receiver=0x0000555556d810e0, e=0x00007fffffffced0) at qapplication.cpp:3640:31
    frame #106: 0x00007ffff4aea1be libQt5Widgets.so.5`QApplication::notify(this=0x00007fffffffd7c0, receiver=0x0000555556d810e0, e=0x00007fffffffced0) at qapplication.cpp:2980:31
    frame #107: 0x00007ffff6d19982 libFreeCADGui.so`Gui::GUIApplication::notify(this=0x00007fffffffd7c0, receiver=0x0000555556d810e0, event=0x00007fffffffced0) at GuiApplication.cpp:83:40
    frame #108: 0x00007ffff3e9ef19 libQt5Core.so.5`QCoreApplication::notifyInternal2(receiver=0x0000555556d810e0, event=0x00007fffffffced0) at qcoreapplication.cpp:1064:24
    frame #109: 0x00007ffff3e9f1b4 libQt5Core.so.5`QCoreApplication::sendSpontaneousEvent(receiver=<unavailable>, event=<unavailable>) at qcoreapplication.cpp:1474:27
    frame #110: 0x00007ffff4231971 libQt5Gui.so.5`QGuiApplicationPrivate::processMouseEvent(e=0x0000555560a50de0) at qguiapplication.cpp:2285:42
    frame #111: 0x00007ffff4233366 libQt5Gui.so.5`QGuiApplicationPrivate::processWindowSystemEvent(e=0x0000555560a50de0) at qguiapplication.cpp:2005:50
    frame #112: 0x00007ffff420d0c8 libQt5Gui.so.5`QWindowSystemInterface::sendWindowSystemEvents(flags=(i = 36)) at qwindowsysteminterface.cpp:1169:61
    frame #113: 0x00007fffedf68466 libQt5XcbQpa.so.5`xcbSourceDispatch(source=<unavailable>, (null)=<unavailable>, (null)=<unavailable>) at qxcbeventdispatcher.cpp:105:51
    frame #114: 0x00007ffff311bd3b libglib-2.0.so.0`g_main_context_dispatch + 619
    frame #115: 0x00007ffff31712b8 libglib-2.0.so.0`___lldb_unnamed_symbol2709 + 488
    frame #116: 0x00007ffff31193e3 libglib-2.0.so.0`g_main_context_iteration + 51
    frame #117: 0x00007ffff3f0bfbf libQt5Core.so.5`QEventDispatcherGlib::processEvents(this=0x000055555586ec10, flags=(i = 36)) at qeventdispatcher_glib.cpp:423:43
    frame #118: 0x00007fffedf68826 libQt5XcbQpa.so.5`QXcbGlibEventDispatcher::processEvents(this=<unavailable>, flags=<unavailable>) at qxcbeventdispatcher.cpp:143:47
    frame #119: 0x00007ffff3e9c89b libQt5Core.so.5`QEventLoop::processEvents(this=0x00007fffffffd2c0, flags=<unavailable>) at qeventloop.cpp:142:68
    frame #120: 0x00007ffff3e9cf3c libQt5Core.so.5`QEventLoop::exec(this=0x00007fffffffd2c0, flags=(i = 0)) at qeventloop.cpp:235:22
    frame #121: 0x00007ffff3ea78df libQt5Core.so.5`QCoreApplication::exec() at qcoreapplication.cpp:1375:36
    frame #122: 0x00007ffff4224a24 libQt5Gui.so.5`QGuiApplication::exec() at qguiapplication.cpp:1870:34
    frame #123: 0x00007ffff4ae177d libQt5Widgets.so.5`QApplication::exec() at qapplication.cpp:2832:33
    frame #124: 0x00007ffff6c6d03b libFreeCADGui.so`(anonymous namespace)::tryRunEventLoop(mainApp=0x00007fffffffd7c0) at Application.cpp:2042:23
    frame #125: 0x00007ffff6c6d304 libFreeCADGui.so`(anonymous namespace)::runEventLoop(mainApp=0x00007fffffffd7c0) at Application.cpp:2062:24
    frame #126: 0x00007ffff6c7117e libFreeCADGui.so`Gui::Application::runApplication() at Application.cpp:2139:17
    frame #127: 0x000055555556a3a5 FreeCAD`main(argc=<unavailable>, argv=<unavailable>) at MainGui.cpp:278:45
    frame #128: 0x00007ffff3229d90 libc.so.6`__libc_start_call_main(main=(FreeCAD`main at MainGui.cpp:105:1), argc=1, argv=0x00007fffffffdd98) at libc_start_call_main.h:58:16
    frame #129: 0x00007ffff3229e40 libc.so.6`__libc_start_main_impl(main=(FreeCAD`main at MainGui.cpp:105:1), argc=1, argv=0x00007fffffffdd98, init=<unavailable>, fini=<unavailable>, rtld_fini=<unavailable>, stack_end=0x00007fffffffdd88) at libc-start.c:392:3
    frame #130: 0x0000555555569c05 FreeCAD`_start + 37
(lldb)
OS: Ubuntu 22.04.3 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37464 (Git)
Build type: Debug
Branch: main
Hash: db48a78d5a545bb21a5c80a9fa4b4c983fbbe951
Python 3.10.12, Qt 5.15.12, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.1
Locale: English/United States (en_US)

from freecad.

bgbsww avatar bgbsww commented on July 22, 2024

Okay, so narrowly defined, no, this isn't related to the unmerged #14202. That second stack trace hits buildExtrusion which is new, and also PropertyLinkSubList, and either of those might be TNP related. Not questioning the importance of not crashing, just not sure where the issues lie.

from freecad.

bgbsww avatar bgbsww commented on July 22, 2024

Can we get a double check on if this still happens? I can no longer reproduce, and either I or someone else may have inadvertently fixed this without tagging it in our PR.

from freecad.

wwmayer avatar wwmayer commented on July 22, 2024

I have tested it with the latest version and didn't get a crash any more. After rebuilding d126352 I still couldn't get it to crash any more.

However, when looking at the callstack you will find boost::uuids::basic_random_generator and according to the SO article the function is not thread-safe.
And you can easily see that these functions are called from within a worker thread and not the main thread.

So, the actual bug is in Vertex::createNewTag().

from freecad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.