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

segfault via rqt_pr2_dashboard #41

Closed
130s opened this issue Dec 4, 2012 · 8 comments
Closed

segfault via rqt_pr2_dashboard #41

130s opened this issue Dec 4, 2012 · 8 comments

Comments

@130s
Copy link
Member

130s commented Dec 4, 2012

After repeating enable-disable rqt_robot_monitor many (more than several dozens of) times on rqt_pr2_dashboard, rqt_gui segfaults.

Happens on @ablasdel's machine, but does not on mine (kept clicking for 5+ minutes x 2 times).

My environment:
ros-groovy-pr2-power-drivers/precise uptodate 1.0.9-s1354565896~precise
rqt commit 9eb8faa

To @dirk-thomas, @ablasdel
I even commented out graveyard but no difference.

@ablasdel
Copy link
Contributor

ablasdel commented Dec 4, 2012

The one we were looking at was an illegal instruction but we did see a segfault as well during the testing that we could not pin down.

@trainman419
Copy link
Contributor

This was happening pretty frequently when pointed at PRK, which is currently having motor trouble.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffa05c6860 in ?? ()
(gdb) bt
#0  0x00007fffa05c6860 in ?? ()
#1  0x00007ffff1770b55 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#2  0x00007ffff17a33fa in QStyledItemDelegate::sizeHint(QStyleOptionViewItem const&, QModelIndex const&) const ()
   from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007ffff173cefb in QTreeView::sizeHintForColumn(int) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#4  0x00007ffff17382ff in QTreeView::resizeColumnToContents(int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#5  0x00007ffff2403e74 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#6  0x0000000000498546 in PyEval_EvalFrameEx ()
#7  0x000000000049f1c0 in PyEval_EvalCodeEx ()
#8  0x00000000004a8960 in ?? ()
#9  0x00000000004e9f36 in PyObject_Call ()
#10 0x00000000004ec11a in ?? ()
#11 0x00000000004e9f36 in PyObject_Call ()
#12 0x00000000004ea396 in PyEval_CallObjectWithKeywords ()
#13 0x00007ffff39382da in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#14 0x00007ffff393875c in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#15 0x00007ffff2ec2446 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007ffff1223b7b in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007ffff245ebab in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#18 0x00007ffff11d3894 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007ffff11d8713 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007ffff1ebeb26 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#21 0x00007ffff2ea8e9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#22 0x00007ffff2eacc6a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007ffff2ed7f93 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#24 0x00007ffff5056d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffff50570a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffff5057164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007ffff2ed83bf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007ffff127bd5e in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007ffff2ea7c82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007ffff2ea7ed7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00007ffff2eacf67 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#32 0x00007ffff1ebd625 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#33 0x000000000049890a in PyEval_EvalFrameEx ()
#34 0x000000000049f1c0 in PyEval_EvalCodeEx ()
#35 0x00000000004983b8 in PyEval_EvalFrameEx ()
#36 0x000000000049f1c0 in PyEval_EvalCodeEx ()
#37 0x00000000004a9081 in PyRun_FileExFlags ()
#38 0x00000000004a9311 in PyRun_SimpleFileExFlags ()
#39 0x00000000004aa8bd in Py_Main ()
#40 0x00007ffff68e176d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#41 0x000000000041b9b1 in _start ()

@trainman419
Copy link
Contributor

Similar trace with more debug symbols installed.

Program received signal SIGSEGV, Segmentation fault.
0x00007fff980c3710 in ?? ()
(gdb) bt
#0  0x00007fff980c3710 in ?? ()
#1  0x00007ffff1770b55 in QTreeModel::data (this=<optimized out>, index=..., role=<optimized out>) at itemviews/qtreewidget.cpp:368
#2  0x00007ffff17a33fa in data (arole=13, this=0x7fffffffc540) at ../../include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:402
#3  QStyledItemDelegate::sizeHint (this=0x2dc3180, option=..., index=...) at itemviews/qstyleditemdelegate.cpp:445
#4  0x00007ffff173cefb in QTreeView::sizeHintForColumn (this=<optimized out>, column=0) at itemviews/qtreeview.cpp:2772
#5  0x00007ffff17382ff in QTreeView::resizeColumnToContents (this=0x2ba1190, column=0) at itemviews/qtreeview.cpp:2574
#6  0x00007ffff2403e74 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#7  0x0000000000498546 in PyEval_EvalFrameEx ()
#8  0x000000000049f1c0 in PyEval_EvalCodeEx ()
#9  0x00000000004a8960 in function_call ()
#10 0x00000000004e9f36 in PyObject_Call ()
#11 0x00000000004ec11a in instancemethod_call.8548 ()
#12 0x00000000004e9f36 in PyObject_Call ()
#13 0x00000000004ea396 in PyEval_CallObjectWithKeywords ()
#14 0x00007ffff39382da in PySide::SignalManager::callPythonMetaMethod(QMetaMethod const&, void**, _object*, bool) ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#15 0x00007ffff393875c in PySide::SignalManager::qt_metacall(QObject*, QMetaObject::Call, int, void**) ()
   from /usr/lib/x86_64-linux-gnu/libpyside-python2.7.so.1.1
#16 0x00007ffff2ec2446 in QObject::event (this=0x2c2d4e0, e=<optimized out>) at kernel/qobject.cpp:1195
#17 0x00007ffff1223b7b in QWidget::event (this=0x2c2d4e0, event=0x7fff980b19c0) at kernel/qwidget.cpp:8821
#18 0x00007ffff245ebab in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#19 0x00007ffff11d3894 in notify_helper (e=0x7fff980b19c0, receiver=0x2c2d4e0, this=0x1890990) at kernel/qapplication.cpp:4559
#20 QApplicationPrivate::notify_helper (this=0x1890990, receiver=0x2c2d4e0, e=0x7fff980b19c0) at kernel/qapplication.cpp:4531
#21 0x00007ffff11d8713 in QApplication::notify (this=0x18e34e0, receiver=0x2c2d4e0, e=0x7fff980b19c0) at kernel/qapplication.cpp:4420
#22 0x00007ffff1ebeb26 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#23 0x00007ffff2ea8e9c in QCoreApplication::notifyInternal (this=0x18e34e0, receiver=0x2c2d4e0, event=0x7fff980b19c0) at kernel/qcoreapplication.cpp:876
#24 0x00007ffff2eacc6a in sendEvent (event=0x7fff980b19c0, receiver=0x2c2d4e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#25 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x107dd00) at kernel/qcoreapplication.cpp:1500
#26 0x00007ffff2ed7f93 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#27 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279
#28 0x00007ffff5056d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff50570a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff5057164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff2ed83bf in QEventDispatcherGlib::processEvents (this=0x188ec30, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#32 0x00007ffff127bd5e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#33 0x00007ffff2ea7c82 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#34 0x00007ffff2ea7ed7 in QEventLoop::exec (this=0x7fffffffd980, flags=...) at kernel/qeventloop.cpp:204
#35 0x00007ffff2eacf67 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#36 0x00007ffff1ebd625 in ?? () from /usr/lib/python2.7/dist-packages/PySide/QtGui.so
#37 0x000000000049890a in PyEval_EvalFrameEx ()
#38 0x000000000049f1c0 in PyEval_EvalCodeEx ()
#39 0x00000000004983b8 in PyEval_EvalFrameEx ()
#40 0x000000000049f1c0 in PyEval_EvalCodeEx ()
#41 0x00000000004a9081 in PyRun_FileExFlags ()
#42 0x00000000004a9311 in PyRun_SimpleFileExFlags ()
#43 0x00000000004aa8bd in Py_Main ()
#44 0x00007ffff68e176d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#45 0x000000000041b9b1 in _start ()

@130s
Copy link
Member Author

130s commented Dec 7, 2012

I changed the title of the issue since I can't confirm with rqt_robot_monitor standalone.

I kept rqt_robot_monitor running all night with rqt 8b22c21 but didn't happen, whereas with rqt_p2_dashboard it occurs often.

@ablasdel will look into rqt_robot_dashboard that's also used from rqt_p2_dashboard.

@trainman419
Copy link
Contributor

My particular crash only appears to be happening with pyside bindings; it hasn't happened yet with pyqt.

@ablasdel
Copy link
Contributor

ablasdel commented Dec 7, 2012

That is interesting. It looks like it must be robot monitor related because
it is the only one with a qtreewidget.

Could you please use both the pr2dashboard and in another instance have
just rqtrobot monitor? Just to see if you can reproduce it without the
dashboard. If you can we are barking up the wrong tree with our current fix
plan.

On Dec 7, 2012, at 13:43, Austin notifications@github.com wrote:

My particular crash only appears to be happening with pyside bindings; it
hasn't happened yet with pyqt.


Reply to this email directly or view it on
GitHubhttps://github.com//issues/41#issuecomment-11147703.

@130s
Copy link
Member Author

130s commented Dec 14, 2012

Closing this for now, since I've been testing this for awhile by running 2 rqt_gui instances (1 runs rqt_robot_monitor and the other runs rqt_pr2_dashboard) and no error occurred last 10+ hours.

Tested with
rqt 04f44e8
groovy-qt-gui-core amd64 0.2.8-0precise-20121208-2339-+0000

@130s 130s closed this as completed Dec 14, 2012
@130s
Copy link
Member Author

130s commented Dec 18, 2012

With pyside segfaults has not occurred so far for several hours.

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

No branches or pull requests

3 participants