Page 1 of 1

[FIXED] #4296: crash in sketcher when deleting external reference on broken sketch

Posted: Sun Mar 29, 2020 3:18 pm
by dulouie
1. Open crash.fcstd
2. open Sketch004 in Sketcher
3. Delete one point of the external references on the left side
crash_point.png
crash_point.png (44.43 KiB) Viewed 855 times
4.crash

issue #4296

Sketch004 was fixed by the validation tool and the external reference is linked to subshapebinder.
Is the crash reproducible?

Re: 0004296: crash in sketcher when deleting external reference on broken sketch

Posted: Sun Mar 29, 2020 3:54 pm
by openBrain
Confirmed.
However when I recompute Skech004 in your file, I get following messages :
Not yet supported geometry for external geometry
Clear constraints to external geometry
Below the call trace of active thread at crash time.

Code: Select all

Thread 1 (Thread 0x7f82d08e1800 (LWP 6357)):
[KCrash Handler]
#6  0x00007f821877b724 in SketcherGui::ViewProviderSketch::onDelete(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) () at /usr/lib/freecad-daily-python3/lib/SketcherGui.so
#7  0x00007f821875ac36 in SketcherGui::ViewProviderSketch::deleteSelected() () at /usr/lib/freecad-daily-python3/lib/SketcherGui.so
#8  0x00007f8218757a34 in SketcherGui::ShortcutListener::eventFilter(QObject*, QEvent*) () at /usr/lib/freecad-daily-python3/lib/SketcherGui.so
#9  0x00007f82cd0335bc in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f82cddb1815 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007f82cddba642 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f82cf9fa5c8 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so
#13 0x00007f82cd0338d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f82cde0d7c5 in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007f82cddb183c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007f82cddb9104 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007f82cf9fa5c8 in Gui::GUIApplication::notify(QObject*, QEvent*) () at /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so
#18 0x00007f82cd0338d8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#19 0x00007f82cd5f20f0 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#20 0x00007f82cd5f7035 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007f82cd5ce6a5 in bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007f82cd5d1c18 in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007f82cd5f1ff7 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#24 0x00007f82cd5f7035 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#25 0x00007f82cd5ce2eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#26 0x00007f82bd538260 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#27 0x00007f82c774f417 in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007f82c774f650 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f82c774f6dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f82cd08c88f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#31 0x00007f82cd03190a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007f82cd03a9b4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#33 0x00007f82cf96f5c9 in Gui::Application::runApplication() () at /usr/lib/freecad-daily-python3/lib/libFreeCADGui.so
#34 0x00005562926bb6f2 in main ()

Re: 0004296: crash in sketcher when deleting external reference on broken sketch

Posted: Wed Oct 21, 2020 5:12 pm
by dulouie
I just tried to reproduce the bug with the current freecad daily build and what should I say? The bug was probably fixed on the side.

OS: Ubuntu 20.04.1 LTS (ubuntu:GNOME/ubuntu-wayland)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.
Build type: Release
Branch: unknown
Hash: 72eb41b24f12b572d55081042160954b93f4614c
Python version: 3.8.5
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0
Locale: German/Germany (de_DE)