My Tapeworm-thread of observed FreeCAD bugs

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
BIM Bo
Posts: 40
Joined: Sun Nov 22, 2020 3:55 pm

Re: My Tapeworm-thread of observed FreeCAD bugs

Post by BIM Bo »

ad Qt6: https://www.qt.io/blog/qt-for-python-6-released

I wonder if FreeCAD should package it's own Python though. Sure, would bloat things more up and compiletime yadda, but Python seems to have become such an integral part of the program, that it might have stability benefits not to rely on the OS-provided thing. I mean... it does so in the distributed AppImages anyway, so maybe that step isn't too far for a regular deployment too. And the AppImages are more stable in that respect for me.

----

BTW - I get a SEGV every time I end FreeCAD if there is a project loaded or if I created some. The only time this does not happen is when I leave FreeCAD directly in START without any open project. Beware, a bigger dump:

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
#0  /usr/lib/libc.so.6(+0x3d6a0) [0x7f9845d476a0]
#1  /usr/lib/libpython3.9.so.1.0(+0x14ab00) [0x7f9848498b00]
#2  /usr/local/lib/libFreeCADBase.so(+0x179c30) [0x7f9848c4ac30]
#3  /usr/local/lib/libFreeCADBase.so(+0x179c74) [0x7f9848c4ac74]
#4  0x7f9848c4b255 in Py::_XDECREF(_object*) from /usr/local/lib/libFreeCADBase.so+0x18
#5  0x7f984ac36c7e in Py::Object::release() from /usr/local/lib/libFreeCADGui.so+0x1c
#6  0x7f984ac36dae in Py::Object::~Object() from /usr/local/lib/libFreeCADGui.so+0x2a
#7  0x7f984b2263f0 in Gui::ViewProviderPythonFeatureImp::~ViewProviderPythonFeatureImp() from /usr/local/lib/libFreeCADGui.so+0x11a
#8  0x7f98141c0ccd in Gui::ViewProviderPythonFeatureT<PartGui::ViewProvider2DObject>::~ViewProviderPythonFeatureT() from /usr/local/lib/PartGui.so+0x37
#9  0x7f98141c0d36 in Gui::ViewProviderPythonFeatureT<PartGui::ViewProvider2DObject>::~ViewProviderPythonFeatureT() from /usr/local/lib/PartGui.so+0x18
#10  0x7f984acba76e in Gui::Document::~Document() from /usr/local/lib/libFreeCADGui.so+0x368
#11  0x7f984acba9da in Gui::Document::~Document() from /usr/local/lib/libFreeCADGui.so+0x18
#12  0x7f984ac44100 in std::default_delete<Gui::Document>::operator()(Gui::Document*) const from /usr/local/lib/libFreeCADGui.so+0x28
#13  0x7f984ac3d5c2 in std::unique_ptr<Gui::Document, std::default_delete<Gui::Document> >::~unique_ptr() from /usr/local/lib/libFreeCADGui.so+0x52
#14  0x7f984ac2900a in Gui::Application::slotDeleteDocument(App::Document const&) from /usr/local/lib/libFreeCADGui.so+0x1b2
#15  0x7f984ac7f855 in boost::_mfi::mf1<void, Gui::Application, App::Document const&>::operator()(Gui::Application*, App::Document const&) const from /usr/local/lib/libFreeCADGui.so+0x71
#16  0x7f984ac7a669 in void boost::_bi::list2<boost::_bi::value<Gui::Application*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, Gui::Application, App::Document const&>, boost::_bi::rrlist1<App::Document const&> >(boost::_bi::type<void>, boost::_mfi::mf1<void, Gui::Application, App::Document const&>&, boost::_bi::rrlist1<App::Document const&>&, int) from /usr/local/lib/libFreeCADGui.so+0x6b
#17  0x7f984ac72613 in void boost::_bi::bind_t<void, boost::_mfi::mf1<void, Gui::Application, App::Document const&>, boost::_bi::list2<boost::_bi::value<Gui::Application*>, boost::arg<1> > >::operator()<App::Document const&>(App::Document const&) from /usr/local/lib/libFreeCADGui.so+0x4f
#18  0x7f984ac6acd6 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, Gui::Application, App::Document const&>, boost::_bi::list2<boost::_bi::value<Gui::Application*>, boost::arg<1> > >, void, App::Document const&>::invoke(boost::detail::function::function_buffer&, App::Document const&) from /usr/local/lib/libFreeCADGui.so+0x2b
#19  0x7f98497ec80c in boost::function1<void, App::Document const&>::operator()(App::Document const&) const from /usr/local/lib/libFreeCADApp.so+0x6c
#20  0x7f98497e5c40 in boost::signals2::detail::void_type boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::m_invoke<boost::function<void (App::Document const&)>, 0u, App::Document const&>(boost::function<void (App::Document const&)>&, boost::signals2::detail::unsigned_meta_array<0u>, std::tuple<App::Document const&> const&, boost::enable_if<boost::is_void<boost::function<void (App::Document const&)>::result_type>, void>::type*) const from /usr/local/lib/libFreeCADApp.so+0x36
#21  0x7f98497dabb2 in boost::signals2::detail::void_type boost::signals2::detail::call_with_tuple_args<boost::signals2::detail::void_type>::operator()<boost::function<void (App::Document const&)>, App::Document const&, 1ul>(boost::function<void (App::Document const&)>&, std::tuple<App::Document const&> const&, mpl_::size_t<1ul>) const from /usr/local/lib/libFreeCADApp.so+0x2e
#22  0x7f98497ca22f in boost::signals2::detail::void_type boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document const&>::operator()<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > const&) const from /usr/local/lib/libFreeCADApp.so+0x57
#23  0x7f98497ba43f in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >::dereference() const from /usr/local/lib/libFreeCADApp.so+0x63
#24  0x7f98497a7686 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >::reference boost::iterators::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > const&) from /usr/local/lib/libFreeCADApp.so+0x18
#25  0x7f984978f450 in boost::iterators::detail::iterator_facade_base<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::iterators::single_pass_traversal_tag, boost::signals2::detail::void_type const&, long, false, false>::operator*() const from /usr/local/lib/libFreeCADApp.so+0x20
#26  0x7f98497736ff in void boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >) const from /usr/local/lib/libFreeCADApp.so+0x29
#27  0x7f9849756db4 in void boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void>&, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::variadic_slot_invoker<boost::signals2::detail::void_type, App::Document 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 (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot<void (App::Document const&), boost::function<void (App::Document const&)> >, boost::signals2::mutex> >) const from /usr/local/lib/libFreeCADApp.so+0x34
#28  0x7f984973de22 in boost::signals2::detail::signal_impl<void (App::Document const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (App::Document const&)>, boost::function<void (boost::signals2::connection const&, App::Document const&)>, boost::signals2::mutex>::operator()(App::Document const&) from /usr/local/lib/libFreeCADApp.so+0x256
#29  0x7f984972e06c in boost::signals2::signal<void (App::Document const&), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void (App::Document const&)>, boost::function<void (boost::signals2::connection const&, App::Document const&)>, boost::signals2::mutex>::operator()(App::Document const&) from /usr/local/lib/libFreeCADApp.so+0x32
#30  0x7f9849a0ec27 in App::Application::closeDocument(char const*) from /usr/local/lib/libFreeCADApp.so+0xdf
#31  0x7f9849a0edf1 in App::Application::closeAllDocuments() from /usr/local/lib/libFreeCADApp.so+0xab
#32  0x7f984ac2aceb in Gui::Application::tryClose(QCloseEvent*) from /usr/local/lib/libFreeCADGui.so+0x1bb
#33  0x7f984b2a7611 in Gui::MainWindow::closeEvent(QCloseEvent*) from /usr/local/lib/libFreeCADGui.so+0x45
#34  0x7f984708fb0e in QWidget::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x1ce
#35  0x7f984b2a56ba in Gui::MainWindow::event(QEvent*) from /usr/local/lib/libFreeCADGui.so+0x69a
#36  0x7f984704e752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x82
#37  0x7f984ad64dfa in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/local/lib/libFreeCADGui.so+0x10e
#38  0x7f9846584a7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x12a
#39  0x7f984708aa4b in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) from /usr/lib/libQt5Widgets.so.5+0xbb
#40  0x7f984adc0a66 in StdCmdQuit::activated(int) from /usr/local/lib/libFreeCADGui.so+0x1c
#41  0x7f984ada551d in Gui::Command::invoke(int, Gui::Command::TriggerSource) from /usr/local/lib/libFreeCADGui.so+0x2ff
#42  0x7f984ad94c34 in Gui::Action::onActivated() from /usr/local/lib/libFreeCADGui.so+0x26
#43  /usr/local/lib/libFreeCADGui.so(+0x1038003) [0x7f984ad9c003]
#44  /usr/lib/libQt5Core.so.5(+0x2ece10) [0x7f98465bbe10]
#45  0x7f9847047f63 in QAction::triggered(bool) from /usr/lib/libQt5Widgets.so.5+0x43
#46  0x7f984704a845 in QAction::activate(QAction::ActionEvent) from /usr/lib/libQt5Widgets.so.5+0xe5
#47  /usr/lib/libQt5Widgets.so.5(+0x2d83ab) [0x7f98471cc3ab]
#48  /usr/lib/libQt5Widgets.so.5(+0x2dfae2) [0x7f98471d3ae2]
#49  0x7f984708fb0e in QWidget::event(QEvent*) from /usr/lib/libQt5Widgets.so.5+0x1ce
#50  0x7f984704e752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x82
#51  0x7f984705587b in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x4ab
#52  0x7f984ad64dfa in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/local/lib/libFreeCADGui.so+0x10e
#53  0x7f9846584a7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x12a
#54  0x7f984705487e in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) from /usr/lib/libQt5Widgets.so.5+0x1de
#55  /usr/lib/libQt5Widgets.so.5(+0x1b47cf) [0x7f98470a87cf]
#56  /usr/lib/libQt5Widgets.so.5(+0x1b763f) [0x7f98470ab63f]
#57  0x7f984704e752 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQt5Widgets.so.5+0x82
#58  0x7f984ad64dfa in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/local/lib/libFreeCADGui.so+0x10e
#59  0x7f9846584a7a in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/libQt5Core.so.5+0x12a
#60  0x7f9846960594 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /usr/lib/libQt5Gui.so.5+0x654
#61  0x7f9846935bb5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Gui.so.5+0xb5
#62  /usr/lib/libQt5XcbQpa.so.5(+0x5f16c) [0x7f9841a4316c]
#63  /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x184) [0x7f98430c48f4]
#64  /usr/lib/libglib-2.0.so.0(+0xa6821) [0x7f9843118821]
#65  /usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x31) [0x7f98430c3121]
#66  0x7f98465dd6e1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x61
#67  0x7f98465833fc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQt5Core.so.5+0x12c
#68  0x7f984658b894 in QCoreApplication::exec() from /usr/lib/libQt5Core.so.5+0x94
#69  0x7f984ac30abd in Gui::Application::runApplication() from /usr/local/lib/libFreeCADGui.so+0x2413
#70  FreeCAD(+0x91ec) [0x561b3a93d1ec]
#71  /usr/lib/libc.so.6(__libc_start_main+0xf2) [0x7f9845d32152]
#72  FreeCAD(+0x84ce) [0x561b3a93c4ce]
Segmentation fault (core dumped)
BIM Bo
Posts: 40
Joined: Sun Nov 22, 2020 3:55 pm

Re: My Tapeworm-thread of observed FreeCAD bugs

Post by BIM Bo »

Did an incremental compile 23266 -> 23268.

There was one change in the OS I did: while the shiboken2 Python bindings were installed, shiboken2 itself was not - don't ask me why. I found out by examining the cmake output, which complained about it missing (but still going on both cmake and make)

So I installed it - the llvm dependency did surprise me a little

Code: Select all

 llvm-11.0.0-4-x86_64                               48.5 MiB  3.21 MiB/s 00:15 [#####################################] 100%
 shiboken2-5.15.2-2-x86_64                         718.4 KiB  2.44 MiB/s 00:00 [#####################################] 100%
and made the make. I have attached the make output here, maybe someone finds it informative. There is a lot of what seems to be Python-relevant deprecation warnings and stuff. Not sure if that could hint on looming problems with that version (3.9.0). See for yourself - if you want. While the messages are plenty, the topic seems to revolve around PyUnicode, so might be "just one thing".
Attachments
results.txt
(288.3 KiB) Downloaded 38 times
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: My Tapeworm-thread of observed FreeCAD bugs

Post by Kunda1 »

BIM Bo wrote: Thu Dec 10, 2020 3:01 pm seems to confirm that the two SVGs

Code: Select all

23:45:10  Cannot find icon: :/icons/Sketcher_EditSketch.svg
23:45:10  Cannot find icon: :/icons/Sketcher_LeaveSketch.svg
Those 2 svgs were moved recently (per the .qrc file) to:

Code: Select all

        <file>icons/general/Sketcher_EditSketch.svg</file>
        <file>icons/general/Sketcher_LeaveSketch.svg</file>
I'll take a look at the source code again to see what's going on.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
Post Reply