Below is example code that demonstrates my issue. I create an editTracker and make it visible (it's located at the origin). I left click on it and FreeCAD segfaults. I'm sure I'm missing something obvious, but it's new territory for me.
Anyway, here's the sample code:
Code: Select all
import FreeCAD as App
import FreeCADGui as Gui
from DraftTrackers import editTracker
class Command():
"""
Command Description
"""
def __init__(self):
self.tracker = None
def GetResources(self):
return {'Pixmap' : '',
'Accel' : '',
'MenuText': '',
'ToolTip' : '',
'CmdType' : 'ForEdit'}
def Activated(self):
"""
Command activation method
"""
self.tracker = editTracker(pos=App.Vector(), name='test')
return
Gui.addCommand('Command', Command())
Code: Select all
Program received signal SIGSEGV, Segmentation fault.
#0 /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7f3752245f20]
#1 0x7f37547beb50 in App::PropertyString::getValue() const from /home/joel/Projects/freecad-build/lib/libFreeCADApp.so+0
#2 0x7f3754fe9d12 in Gui::DockWnd::SelectionView::OnChange(Base::Subject<Gui::SelectionChanges const&>&, Gui::SelectionChanges const&) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x2e2
#3 0x7f3755208e70 in Base::Subject<Gui::SelectionChanges const&>::Notify(Gui::SelectionChanges const&) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x40
#4 0x7f3755206784 in Gui::SelectionSingleton::addSelection(char const*, char const*, char const*, float, float, float) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x274
#5 0x7f375506d05d in Gui::SoFCSelection::handleEvent(SoHandleEventAction*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x92d
#6 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#7 0x7f3751bf3008 in SoChildList::traverse(SoAction*, int, int) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0xd8
#8 0x7f3751c424e6 in SoGroup::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x56
#9 0x7f3751c5c967 in SoSeparator::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x27
#10 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#11 0x7f3751bf3008 in SoChildList::traverse(SoAction*, int, int) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0xd8
#12 0x7f3751c424e6 in SoGroup::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x56
#13 0x7f3751c5c967 in SoSeparator::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x27
#14 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#15 0x7f3751bf3008 in SoChildList::traverse(SoAction*, int, int) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0xd8
#16 0x7f3751c603ef in SoSwitch::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x24f
#17 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#18 0x7f3751bf3008 in SoChildList::traverse(SoAction*, int, int) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0xd8
#19 0x7f3751c424e6 in SoGroup::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x56
#20 0x7f3751c5c967 in SoSeparator::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x27
#21 0x7f375506fb8c in Gui::SoFCUnifiedSelection::handleEvent(SoHandleEventAction*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x9c
#22 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#23 0x7f3751bf3008 in SoChildList::traverse(SoAction*, int, int) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0xd8
#24 0x7f3751c424e6 in SoGroup::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x56
#25 0x7f3751c5c967 in SoSeparator::doAction(SoAction*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x27
#26 0x7f3751a53504 in SoAction::traverse(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x64
#27 0x7f3751a5ce48 in SoHandleEventAction::beginTraversal(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x68
#28 0x7f3751a53a82 in SoAction::apply(SoNode*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x372
#29 0x7f3751c0f8a0 in SoEventManager::actuallyProcessEvent(SoEvent const*) from /usr/lib/x86_64-linux-gnu/libCoin.so.80c+0x60
#30 0x7f37550e2e3e in SIM::Coin3D::Quarter::QuarterWidget::processSoEvent(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x1e
#31 0x7f37550ebb06 in SIM::Coin3D::Quarter::SoQTQuarterAdaptor::processSoEvent(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x56
#32 0x7f37551156b9 in Gui::View3DInventorViewer::processSoEventBase(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x9
#33 0x7f37550fa569 in Gui::BlenderNavigationStyle::processSoEvent(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x219
#34 0x7f37550f5998 in Gui::NavigationStyle::processEvent(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0xf8
#35 0x7f3755115633 in Gui::View3DInventorViewer::processSoEvent(SoEvent const*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x63
#36 0x7f37550da275 in SIM::Coin3D::Quarter::EventFilter::eventFilter(QObject*, QEvent*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x185
#37 0x7f3752e236cc in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x7c
#38 0x7f3753438815 in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x75
#39 0x7f375344065f in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x7ff
#40 0x7f3754ebad58 in Gui::GUIApplication::notify(QObject*, QEvent*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x88
#41 0x7f3752e239e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x118
#42 0x7f375343f632 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x1d2
#43 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1ae16b) [0x7f375349216b]
#44 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1b07da) [0x7f37534947da]
#45 0x7f375343883c in QApplicationPrivate::notify_helper(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x9c
#46 0x7f3753440104 in QApplication::notify(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5+0x2a4
#47 0x7f3754ebad58 in Gui::GUIApplication::notify(QObject*, QEvent*) from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x88
#48 0x7f3752e239e8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x118
#49 0x7f374ed4e583 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x6f3
#50 0x7f374ed50055 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0x135
#51 0x7f374ed272eb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5+0xab
#52 /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5(+0x9d1c0) [0x7f3742bc21c0]
#53 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x2e7) [0x7f374d0a5387]
#54 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c5c0) [0x7f374d0a55c0]
#55 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c) [0x7f374d0a564c]
#56 0x7f3752e7c99f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x5f
#57 0x7f3752e21a1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x13a
#58 0x7f3752e2aac4 in QCoreApplication::exec() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5+0x94
#59 0x7f3754e40217 in Gui::Application::runApplication() from /home/joel/Projects/freecad-build/lib/libFreeCADGui.so+0x1437
#60 ./FreeCAD(main+0x695) [0x559b2b4b84c5]
#61 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f3752228b97]
#62 ./FreeCAD(_start+0x2a) [0x559b2b4b918a]
Code: Select all
OS: Linux Mint 19.1
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.16079 (Git)
Build type: Release
Branch: master
Hash: 6363c90a20b296ab69d7b52230009928199d90df
Python version: 3.6.7
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)