Bug 35002 - segfault в архитектурном проектировании
Summary: segfault в архитектурном проектировании
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: freecad (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-06 06:11 MSK by Антон Мидюков
Modified: 2018-09-27 15:40 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2018-06-06 06:11:23 MSK
Выбираем "Архитектурное проектирование" затем для создания объекта любой на выбор из "желтых значков" на панели инструментов. Некоторые из них приводят к сегфолту сразу, другие при попытке нарисовать их. Проблема на Сизифе и p8.
Вывод ошибки на p8:
Program received signal SIGSEGV, Segmentation fault.
#0  linux-gate.so.1(__kernel_sigreturn+0) [0xb7771d30]
#1  /usr/lib/libpython2.7.so.1.0(PyString_AsString+0x13) [0xb66f0193]
#2  0xb6b4f7d4 in App::DocumentPy::openTransaction(_object*) from /usr/lib/freecad/lib/libFreeCADApp.so+0x144
#3  0xb6b4f8b6 in App::DocumentPy::staticCallback_openTransaction(_object*, _object*) from /usr/lib/freecad/lib/libFreeCADApp.so+0x46
#4  /usr/lib/libpython2.7.so.1.0(PyCFunction_Call+0xb4) [0xb66e1384]
#5  /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x6ff5) [0xb674eb55]
#6  /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x7e6) [0xb67515f6]
#7  /usr/lib/libpython2.7.so.1.0(+0x6ac51) [0xb66c7c51]
#8  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4d) [0xb66930ed]
#9  /usr/lib/libpython2.7.so.1.0(+0x48347) [0xb66a5347]
#10  /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4d) [0xb66930ed]
#11  /usr/lib/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x4c) [0xb67474ec]
#12  /usr/lib/freecad/lib/libFreeCADBase.so(PP_Run_Method+0x6a) [0xb69b5b2a]
#13  0xb6932de4 in Base::InterpreterSingleton::runMethodVoid(_object*, char const*) from /usr/lib/freecad/lib/libFreeCADBase.so+0x34
#14  0xb6f556d6 in Gui::PythonCommand::activated(int) from /usr/lib/freecad/lib/libFreeCADGui.so+0x96
#15  0xb6f58bd4 in Gui::Command::invoke(int) from /usr/lib/freecad/lib/libFreeCADGui.so+0x74
#16  0xb6f58eae in Gui::CommandManager::runCommandByName(char const*) const from /usr/lib/freecad/lib/libFreeCADGui.so+0x2e
#17  0xb6f59361 in Gui::PythonGroupCommand::activated(int) from /usr/lib/freecad/lib/libFreeCADGui.so+0x4a1
#18  0xb6f58bd4 in Gui::Command::invoke(int) from /usr/lib/freecad/lib/libFreeCADGui.so+0x74
#19  0xb6f47a90 in Gui::ActionGroup::onActivated() from /usr/lib/freecad/lib/libFreeCADGui.so+0x40
#20  /usr/lib/freecad/lib/libFreeCADGui.so(+0x26f049) [0xb6f48049]
#21  0xb5a0a4bd in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) from /usr/lib/libQtCore.so.4+0x48d
#22  0xb5cbc77d in QAction::triggered(bool) from /usr/lib/libQtGui.so.4+0x3d
#23  0xb5cbd9b1 in QAction::activate(QAction::ActionEvent) from /usr/lib/libQtGui.so.4+0x71
#24  0xb610302b in QToolButton::nextCheckState() from /usr/lib/libQtGui.so.4+0x2b
#25  /usr/lib/libQtGui.so.4(+0x4bbbea) [0xb6049bea]
#26  0xb6049d47 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) from /usr/lib/libQtGui.so.4+0x97
#27  0xb6102fb1 in QToolButton::mouseReleaseEvent(QMouseEvent*) from /usr/lib/libQtGui.so.4+0x21
#28  0xb5d13add in QWidget::event(QEvent*) from /usr/lib/libQtGui.so.4+0x26d
#29  0xb604ada8 in QAbstractButton::event(QEvent*) from /usr/lib/libQtGui.so.4+0x58
#30  0xb610308f in QToolButton::event(QEvent*) from /usr/lib/libQtGui.so.4+0x3f
#31  0xb5cc239a in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/libQtGui.so.4+0x9a
#32  0xb5cc8995 in QApplication::notify(QObject*, QEvent*) from /usr/lib/libQtGui.so.4+0x455
#33  0xb6f2e7fd in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib/freecad/lib/libFreeCADGui.so+0x5d
#34  0xb59f82ac in QCoreApplication::notifyInternal(QObject*, QEvent*) from /usr/lib/libQtCore.so.4+0x6c
#35  0xb5cc7f45 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib/libQtGui.so.4+0xf5
#36  /usr/lib/libQtGui.so.4(+0x1ac09c) [0xb5d3a09c]
#37  0xb5d39752 in QApplication::x11ProcessEvent(_XEvent*) from /usr/lib/libQtGui.so.4+0x1762
#38  /usr/lib/libQtGui.so.4(+0x1d0742) [0xb5d5e742]
#39  /lib/libglib-2.0.so.0(g_main_context_dispatch+0x279) [0xb20b04d9]
#40  /lib/libglib-2.0.so.0(+0x49759) [0xb20b0759]
#41  /lib/libglib-2.0.so.0(g_main_context_iteration+0x34) [0xb20b0824]
#42  0xb5a23995 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQtCore.so.4+0x75
#43  /usr/lib/libQtGui.so.4(+0x1d0819) [0xb5d5e819]
#44  0xb59f6b83 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQtCore.so.4+0x43
#45  0xb59f6e96 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/libQtCore.so.4+0x166
#46  0xb59fbe67 in QCoreApplication::exec() from /usr/lib/libQtCore.so.4+0x87
#47  0xb5cc0d61 in QApplication::exec() from /usr/lib/libQtGui.so.4+0x21
#48  0xb6ee05b5 in Gui::Application::runApplication() from /usr/lib/freecad/lib/libFreeCADGui.so+0x1755
#49  freecad(main+0x828) [0x804ad58]
#50  /lib/libc.so.6(__libc_start_main+0xf7) [0xb55b25a7]
#51  freecad() [0x804c033]

Вывод ошибки на Сизифе:
Program received signal SIGSEGV, Segmentation fault.
#0  /lib64/libc.so.6(+0x35070) [0x7fa6b6d43070]
#1  /usr/lib64/libpython2.7.so.1.0(PyString_AsString+0) [0x7fa6b87b8960]
#2  0x7fa6b9005070 in App::DocumentPy::openTransaction(_object*) from /usr/lib64/freecad/lib/libFreeCADApp.so+0x140
#3  0x7fa6b9005137 in App::DocumentPy::staticCallback_openTransaction(_object*, _object*) from /usr/lib64/freecad/lib/libFreeCADApp.so+0x37
#4  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x8219) [0x7fa6b8816a99]
#5  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x79a) [0x7fa6b881850a]
#6  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x629a) [0x7fa6b8814b1a]
#7  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x79a) [0x7fa6b881850a]
#8  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x629a) [0x7fa6b8814b1a]
#9  /usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x79a) [0x7fa6b881850a]
#10  /usr/lib64/libpython2.7.so.1.0(+0x861a9) [0x7fa6b878e1a9]
#11  /usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x43) [0x7fa6b875e1a3]
#12  /usr/lib64/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x47) [0x7fa6b880e347]
#13  0x7fa6b98a239c in Gui::View3DInventorPy::eventCallbackPivyEx(void*, SoEventCallback*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x19c
#14  0x7fa6b66b9f4b in SoEventCallback::handleEvent(SoHandleEventAction*) from /usr/lib64/libCoin.so.60+0xbb
#15  0x7fa6b66ce2b8 in SoNode::handleEventS(SoAction*, SoNode*) from /usr/lib64/libCoin.so.60+0x68
#16  0x7fa6b64a11a4 in SoAction::traverse(SoNode*) from /usr/lib64/libCoin.so.60+0x54
#17  0x7fa6b65f108e in SoChildList::traverse(SoAction*, int, int) from /usr/lib64/libCoin.so.60+0x26e
#18  0x7fa6b66c36a6 in SoGroup::doAction(SoAction*) from /usr/lib64/libCoin.so.60+0x46
#19  0x7fa6b66e1517 in SoSeparator::doAction(SoAction*) from /usr/lib64/libCoin.so.60+0x27
#20  0x7fa6b97f3dcc in Gui::SoFCUnifiedSelection::handleEvent(SoHandleEventAction*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x9c
#21  0x7fa6b66ce2b8 in SoNode::handleEventS(SoAction*, SoNode*) from /usr/lib64/libCoin.so.60+0x68
#22  0x7fa6b64a11a4 in SoAction::traverse(SoNode*) from /usr/lib64/libCoin.so.60+0x54
#23  0x7fa6b65f108e in SoChildList::traverse(SoAction*, int, int) from /usr/lib64/libCoin.so.60+0x26e
#24  0x7fa6b66c36a6 in SoGroup::doAction(SoAction*) from /usr/lib64/libCoin.so.60+0x46
#25  0x7fa6b66e1517 in SoSeparator::doAction(SoAction*) from /usr/lib64/libCoin.so.60+0x27
#26  0x7fa6b66ce2b8 in SoNode::handleEventS(SoAction*, SoNode*) from /usr/lib64/libCoin.so.60+0x68
#27  0x7fa6b64a11a4 in SoAction::traverse(SoNode*) from /usr/lib64/libCoin.so.60+0x54
#28  0x7fa6b64abeba in SoHandleEventAction::beginTraversal(SoNode*) from /usr/lib64/libCoin.so.60+0x7a
#29  0x7fa6b64a28e2 in SoAction::apply(SoNode*) from /usr/lib64/libCoin.so.60+0x442
#30  0x7fa6b6684b99 in SoEventManager::actuallyProcessEvent(SoEvent const*) from /usr/lib64/libCoin.so.60+0x89
#31  0x7fa6b986640e in SIM::Coin3D::Quarter::QuarterWidget::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x1e
#32  0x7fa6b986d6d7 in SIM::Coin3D::Quarter::SoQTQuarterAdaptor::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x47
#33  0x7fa6b9895359 in Gui::View3DInventorViewer::processSoEventBase(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x9
#34  0x7fa6b9878afb in Gui::CADNavigationStyle::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x2db
#35  0x7fa6b9875b33 in Gui::NavigationStyle::processEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x63
#36  0x7fa6b9895309 in Gui::View3DInventorViewer::processSoEvent(SoEvent const*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x49
#37  0x7fa6b9860dc4 in SIM::Coin3D::Quarter::EventFilter::eventFilter(QObject*, QEvent*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x194
#38  0x7fa6b7839181 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /usr/lib64/libQtCore.so.4+0x91
#39  0x7fa6b7d3974c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib64/libQtGui.so.4+0x6c
#40  0x7fa6b7d3f848 in QApplication::notify(QObject*, QEvent*) from /usr/lib64/libQtGui.so.4+0x428
#41  0x7fa6b96795e8 in Gui::GUIApplication::notify(QObject*, QEvent*) from /usr/lib64/freecad/lib/libFreeCADGui.so+0x88
#42  0x7fa6b783901d in QCoreApplication::notifyInternal(QObject*, QEvent*) from /usr/lib64/libQtCore.so.4+0x6d
#43  0x7fa6b7d3ef8a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib64/libQtGui.so.4+0x1da
#44  /usr/lib64/libQtGui.so.4(+0x22f7e1) [0x7fa6b7da67e1]
#45  0x7fa6b7da5a13 in QApplication::x11ProcessEvent(_XEvent*) from /usr/lib64/libQtGui.so.4+0x1303
#46  /usr/lib64/libQtGui.so.4(+0x251c52) [0x7fa6b7dc8c52]
#47  /lib64/libglib-2.0.so.0(g_main_context_dispatch+0x2c7) [0x7fa6b0934ed7]
#48  /lib64/libglib-2.0.so.0(+0x4f0e8) [0x7fa6b09350e8]
#49  /lib64/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7fa6b093516c]
#50  0x7fa6b78613ee in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x7e
#51  /usr/lib64/libQtGui.so.4(+0x251d16) [0x7fa6b7dc8d16]
#52  0x7fa6b7837b3f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x2f
#53  0x7fa6b7837e0e in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib64/libQtCore.so.4+0x14e
#54  0x7fa6b783c8ef in QCoreApplication::exec() from /usr/lib64/libQtCore.so.4+0x8f
#55  0x7fa6b96348c0 in Gui::Application::runApplication() from /usr/lib64/freecad/lib/libFreeCADGui.so+0x13a0
#56  freecad(main+0x71d) [0x40336d]
#57  /lib64/libc.so.6(__libc_start_main+0xe7) [0x7fa6b6d2fc07]
#58  freecad(_start+0x2a) [0x4044ba]

Для начала, наверное стоит проверить поможет ли вот этот коммит:
https://github.com/FreeCAD/FreeCAD/commit/d436c4549823ce636381b1626d8b6a6f68ef0776

Ну, и желательно побороть проблему до 12 июня, если получится, так как freecad входит в alt-p8-engineering
Comment 1 bliser 2018-06-09 17:41:45 MSK
Подтверждаю аналогичное поведение и на портативной версии FreeCAD 0.17.13522. 
В портативной версии FreeCAD 0.18.13919 эта ошибка не воспроизводится и элементы в проект добавляются.
Comment 2 Andrey Cherepanov 2018-06-09 18:23:40 MSK
(В ответ на комментарий №1)
> Подтверждаю аналогичное поведение и на портативной версии FreeCAD 0.17.13522. 
> В портативной версии FreeCAD 0.18.13919 эта ошибка не воспроизводится и
> элементы в проект добавляются.
Вопрос, будем ли мы собирать 0.18pre и бета-версии вообще?
803 файла изменено с версии 0.17, 32 коммита посвящены Arch:
$ git log 0.17..upstream/master --oneline | grep Arch | wc -l
32
Comment 3 Антон Мидюков 2018-06-09 18:56:17 MSK
Бету собирать не стоит, а исправление надо искать среди тех коммитов.
Андрей, с  https://github.com/FreeCAD/FreeCAD/commit/d436c4549823ce636381b1626d8b6a6f68ef0776 собирать не пробовали?
Comment 4 Антон Мидюков 2018-06-10 08:30:27 MSK
Я у себя в hasher собрал из ветки releases/FreeCAD-0-17
Проблема устранена. Предлагаю смержиться с этой веткой и собрать предрелиз вероятно будущего 0.17.1 или 0.17.0.1 (как они там нумеруются?)

Андрей, если некогда сегодня-завтра (выходные всё-таки), я сам могу собрать.
Comment 5 Andrey Cherepanov 2018-06-10 13:16:54 MSK
(В ответ на комментарий №4)
> Я у себя в hasher собрал из ветки releases/FreeCAD-0-17
> Проблема устранена. Предлагаю смержиться с этой веткой и собрать предрелиз
> вероятно будущего 0.17.1 или 0.17.0.1 (как они там нумеруются?)
> 
> Андрей, если некогда сегодня-завтра (выходные всё-таки), я сам могу собрать.
Мне будет явно некогда. Прошу собрать с релизом alt0.1.pre
Comment 6 Антон Мидюков 2018-06-12 02:02:17 MSK
(В ответ на комментарий №5)
> (В ответ на комментарий №4)
> > Я у себя в hasher собрал из ветки releases/FreeCAD-0-17
> > Проблема устранена. Предлагаю смержиться с этой веткой и собрать предрелиз
> > вероятно будущего 0.17.1 или 0.17.0.1 (как они там нумеруются?)
> > 
> > Андрей, если некогда сегодня-завтра (выходные всё-таки), я сам могу собрать.
> Мне будет явно некогда. Прошу собрать с релизом alt0.1.pre

В Сизиф сейчас фиг соберёшь, так как не хватает сборочных зависимостей в aarch64. Потому сделал задание для p8 208285 с апстримным патчем.
Comment 7 Repository Robot 2018-09-27 15:40:08 MSK
freecad-1:0.17-alt6 -> sisyphus:

Wed Sep 26 2018 Anton Midyukov <antohami@altlinux> 1:0.17-alt6
- Fix segfault (Closes: 35002)