Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Problem] Crash when deleting detached defining geometry in Sketcher. #1007

Open
2 tasks done
mbelt opened this issue May 25, 2024 · 1 comment
Open
2 tasks done

[Problem] Crash when deleting detached defining geometry in Sketcher. #1007

mbelt opened this issue May 25, 2024 · 1 comment

Comments

@mbelt
Copy link

mbelt commented May 25, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Version

0.21 (Development)

Full version info

[code]
OS: Arch Linux
Word size of FreeCAD: 64-bit
Version: 0.21.0.38935 (Git)
Build type: Release
Branch: makepkg
Hash: a0d6ece6c0e7b64dca6b2066a7d57b982a9f2a17
Python 3.11.6, Qt 5.15.12, Coin 4.0.2, Vtk 9.3.0, OCC 7.7.2
Locale: English/United States (en_US)
Installed mods: 
  * freecad.gears 1.2.0
[/code]

Subproject(s) affected?

None

Problem description

Deleting broken external defining geometry from a sketch causes a crash, even after it has been detached.

Anything else?

Program received signal SIGSEGV, Segmentation fault.
#0  /usr/lib/libc.so.6(+0x3cae0) [0x7005f7050ae0]
#1  0x70051a5f9c27 in SketcherGui::ViewProviderSketch::updateColor() from /usr/lib/freecad/lib/SketcherGui.so+0x13d7
#2  0x70051a5fc0d3 in SketcherGui::ViewProviderSketch::onSelectionChanged(Gui::SelectionChanges const&) from /usr/lib/freecad/lib/SketcherGui.so+0x743
#3  0x7005fadc89fc in Gui::SelectionObserver::_onSelectionChanged(Gui::SelectionChanges const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x2c
#4  0x7005fa9ad71e in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Gui::SelectionChanges const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Gui::SelectionChanges const&), boost::function<void (Gui::SelectionChanges const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Gui::SelectionChanges const&), boost::function<void (Gui::SelectionChanges const&)> >, boost::signals2::mutex> >::dereference() const from /usr/lib/freecad/lib/libFreeCADGui.so+0x4e
#5  0x7005fa9acc3f in boost::signals2::detail::signal_impl<void (Gui::SelectionChanges const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Gui::SelectionChanges const&)>, boost::function<void (boost::signals2::connection const&, Gui::SelectionChanges const&)>, boost::signals2::mutex>::operator()(Gui::SelectionChanges const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x27f
#6  0x7005fadcd2a5 in Gui::SelectionSingleton::slotSelectionChanged(Gui::SelectionChanges const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x385
#7  0x7005fa9ad71e in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, Gui::SelectionChanges const&>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Gui::SelectionChanges const&), boost::function<void (Gui::SelectionChanges const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (Gui::SelectionChanges const&), boost::function<void (Gui::SelectionChanges const&)> >, boost::signals2::mutex> >::dereference() const from /usr/lib/freecad/lib/libFreeCADGui.so+0x4e
#8  0x7005fa9acc3f in boost::signals2::detail::signal_impl<void (Gui::SelectionChanges const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (Gui::SelectionChanges const&)>, boost::function<void (boost::signals2::connection const&, Gui::SelectionChanges const&)>, boost::signals2::mutex>::operator()(Gui::SelectionChanges const&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x27f
#9  0x7005fadcb187 in Gui::SelectionSingleton::notify(Gui::SelectionChanges&&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x167
#10  0x7005fadd20bb in Gui::SelectionSingleton::addSelection(char const*, char const*, char const*, float, float, float, std::vector<Gui::SelectionSingleton::SelObj, std::allocator<Gui::SelectionSingleton::SelObj> > const*, bool) from /usr/lib/freecad/lib/libFreeCADGui.so+0xdfb
#11  0x70051a60ec42 in SketcherGui::ViewProviderSketch::selectElement(char const*, bool) const from /usr/lib/freecad/lib/SketcherGui.so+0x2a2
#12  0x70051a5b1a6b in SketcherGui::TaskSketcherElements::on_elementsWidget_itemSelectionChanged() from /usr/lib/freecad/lib/SketcherGui.so+0x5bb
#13  /usr/lib/libQt5Core.so.5(+0x2df962) [0x7005f82df962]
#14  /usr/lib/libQt5Widgets.so.5(+0x457742) [0x7005f9257742]
#15  /usr/lib/libQt5Core.so.5(+0x2df962) [0x7005f82df962]
#16  0x7005f826d62e in QItemSelectionModel::selectionChanged(QItemSelection const&, QItemSelection const&) from /usr/lib/libQt5Core.so.5+0x3e
#17  0x7005f8273512 in QItemSelectionModel::select(QItemSelection const&, QFlags<QItemSelectionModel::SelectionFlag>) from /usr/lib/libQt5Core.so.5+0x482
#18  0x7005f826ff2c in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) from /usr/lib/libQt5Core.so.5+0x1ac
#19  0x7005f91cb6bf in QAbstractItemView::setCurrentIndex(QModelIndex const&) from /usr/lib/libQt5Widgets.so.5+0xaf
#20  0x7005f9256c52 in QTreeWidget::setCurrentItem(QTreeWidgetItem*, int) from /usr/lib/libQt5Widgets.so.5+0x62
#21  0x70051a5b0eb3 in SketcherGui::TaskSketcherElements::slotElementsChanged() from /usr/lib/freecad/lib/SketcherGui.so+0x363
#22  0x7005fa7417e7 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type>, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (), boost::function<void ()> >, boost::signals2::mutex> >::dereference() const from /usr/lib/freecad/lib/libFreeCADGui.so+0x47
#23  0x7005fa74147f in boost::signals2::detail::signal_impl<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() from /usr/lib/freecad/lib/libFreeCADGui.so+0x27f
#24  0x70053c71bfba in Sketcher::SketchObject::onChanged(App::Property const*) from /usr/lib/freecad/lib/Sketcher.so+0x1c6a
#25  0x7005f9b0bca6 in App::Property::touch() from /usr/lib/freecad/lib/libFreeCADApp.so+0x86
#26  0x70053c7095f5 in Sketcher::SketchObject::delExternalPrivate(std::set<long, std::less<long>, std::allocator<long> > const&, bool) from /usr/lib/freecad/lib/Sketcher.so+0xcc5
#27  0x70053c708867 in Sketcher::SketchObject::delExternal(std::vector<int, std::allocator<int> > const&) from /usr/lib/freecad/lib/Sketcher.so+0x207
#28  0x70053c802e17 in Sketcher::SketchObjectPy::delExternal(_object*) from /usr/lib/freecad/lib/Sketcher.so+0x577
#29  0x70053c7f3a82 in Sketcher::SketchObjectPy::staticCallback_delExternal(_object*, _object*) from /usr/lib/freecad/lib/Sketcher.so+0x72
#30  /usr/lib/libpython3.11.so.1.0(+0x1d1725) [0x7005f77d1725]
#31  /usr/lib/libpython3.11.so.1.0(_PyObject_MakeTpCall+0x98) [0x7005f774a618]
#32  /usr/lib/libpython3.11.so.1.0(_PyEval_EvalFrameDefault+0x3e83) [0x7005f76f3d03]
#33  /usr/lib/libpython3.11.so.1.0(+0x2defa0) [0x7005f78defa0]
#34  /usr/lib/libpython3.11.so.1.0(PyEval_EvalCode+0xa9) [0x7005f78df059]
#35  /usr/lib/libpython3.11.so.1.0(+0x2e23c3) [0x7005f78e23c3]
#36  /usr/lib/libpython3.11.so.1.0(+0x2e24b6) [0x7005f78e24b6]
#37  /usr/lib/libpython3.11.so.1.0(PyRun_StringFlags+0x6f) [0x7005f78e28df]
#38  0x7005f7d2a753 in Base::InterpreterSingleton::runString[abi:cxx11](char const*) from /usr/lib/freecad/lib/libFreeCADBase.so+0x73
#39  0x7005fa731ace in Gui::Command::_runCommand(char const*, int, Gui::Command::DoCmd_Type, char const*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x9e
#40  0x7005fa73191a in Gui::Command::_doCommand(char const*, int, Gui::Command::DoCmd_Type, char const*, ...) from /usr/lib/freecad/lib/libFreeCADGui.so+0xea
#41  0x7005fa7813ed in void Gui::cmdAppObjectArgs<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(App::DocumentObject const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) from /usr/lib/freecad/lib/libFreeCADGui.so+0x1ad
#42  0x70051a60e23d 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&) from /usr/lib/freecad/lib/SketcherGui.so+0x12dd
#43  0x70051a60ca9b in SketcherGui::ViewProviderSketch::deleteSelected() from /usr/lib/freecad/lib/SketcherGui.so+0x10b
#44  0x70051a5d0c4d in SketcherGui::ShortcutListener::eventFilter(QObject*, QEvent*) from /usr/lib/freecad/lib/SketcherGui.so+0x5d
#45  0x7005f82aae02 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x92
#46  0x7005f8f56321 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x81
#47  0x7005f8f5b898 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0xda8
#48  0x7005fa6ae66e in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x5e
#49  0x7005f82ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x128
#50  /usr/lib/libQt5Widgets.so.5(+0x1aacfb) [0x7005f8faacfb]
#51  0x7005f8f56331 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x91
#52  0x7005fa6ae66e in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x5e
#53  0x7005f82ab968 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x128
#54  0x7005f8737e16 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /usr/lib/libQt5Gui.so.5+0xf6
#55  0x7005f871510e in bool QWindowSystemInterfacePrivate::handleWindowSystemEvent<QWindowSystemInterface::SynchronousDelivery>(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/libQt5Gui.so.5+0x4e
#56  0x7005f871e4eb in QWindowSystemInterface::handleShortcutEvent(QWindow*, unsigned long, int, QFlags<Qt::KeyboardModifier>, unsigned int, unsigned int, unsigned int, QString const&, bool, unsigned short) from /usr/lib/libQt5Gui.so.5+0x13b
#57  0x7005f8737db6 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) from /usr/lib/libQt5Gui.so.5+0x96
#58  0x7005f871cddd in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Gui.so.5+0xad
#59  /usr/lib/libQt5XcbQpa.so.5(+0x602f8) [0x7005ecf302f8]
#60  /usr/lib/libglib-2.0.so.0(+0x5ca89) [0x7005f5a41a89]
#61  /usr/lib/libglib-2.0.so.0(+0xbe9b7) [0x7005f5aa39b7]
#62  /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x35) [0x7005f5a40f95]
#63  0x7005f82fa27f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x6f
#64  0x7005f82a372c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x13c
#65  0x7005f82afafd in QCoreApplication::exec() from /usr/lib/libQt5Core.so.5+0x9d
#66  0x7005fa5d3f65 in Gui::Application::runApplication() from /usr/lib/freecad/lib/libFreeCADGui.so+0x555
#67  freecad(+0x805b) [0x5e5142f3105b]
#68  /usr/lib/libc.so.6(+0x25c88) [0x7005f7039c88]
#69  /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7005f7039d4c]
#70  freecad(+0x7275) [0x5e5142f30275]

Code of Conduct

  • I agree to follow this project's Code of Conduct
@realthunder
Copy link
Owner

Possibly duplicate of #967

Should be fixed by 5f998ef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants