On a recently updated Fedora 38 I experience crashes when double clicking a node of a loaded graph.
I use the recently provided Tulip-5.7.3.AppImage.
Regards Andre
here is the output on the command line with stack-trace
[user@localhost Downloads]$ ./Tulip-5.7.3.AppImage
Perspective running in standalone mode
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2189, resource id: 11250656, major code: 40 (TranslateCoords), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 2288, resource id: 11251847, major code: 40 (TranslateCoords), minor code: 0
TLP_PLATEFORM linux
TLP_ARCH x86_64
TLP_COMPILER gcc
TLP_VERSION 5.7.3
TLP_STACK_BEGIN
#00 0x00007f9dd971eac0 in ?? (+0xd1eac0) from /lib64/libLLVM-16.so
#01 0x00007f9dd977c677 in LLVMBuildBitCast (+0x47) from /lib64/libLLVM-16.so
#02 0x00007f9de4f10383 in ?? (+0x710383) from /usr/lib64/dri/crocus_dri.so
#03 0x00007f9de4f1097b in ?? (+0x71097b) from /usr/lib64/dri/crocus_dri.so
#04 0x00007f9de4f143a9 in ?? (+0x7143a9) from /usr/lib64/dri/crocus_dri.so
#05 0x00007f9de4ee2257 in ?? (+0x6e2257) from /usr/lib64/dri/crocus_dri.so
#06 0x00007f9de4e94933 in ?? (+0x694933) from /usr/lib64/dri/crocus_dri.so
#07 0x00007f9de4e9558f in ?? (+0x69558f) from /usr/lib64/dri/crocus_dri.so
#08 0x00007f9de4e99d0b in ?? (+0x699d0b) from /usr/lib64/dri/crocus_dri.so
#09 0x00007f9de4e2f6e3 in ?? (+0x62f6e3) from /usr/lib64/dri/crocus_dri.so
#10 0x00007f9de4e28955 in ?? (+0x628955) from /usr/lib64/dri/crocus_dri.so
#11 0x00007f9de4e28df0 in ?? (+0x628df0) from /usr/lib64/dri/crocus_dri.so
#12 0x00007f9de4e29275 in ?? (+0x629275) from /usr/lib64/dri/crocus_dri.so
#13 0x00007f9de4be5e02 in ?? (+0x3e5e02) from /usr/lib64/dri/crocus_dri.so
#14 0x00007f9de4b00e97 in ?? (+0x300e97) from /usr/lib64/dri/crocus_dri.so
#15 0x00007f9de4b0286b in ?? (+0x30286b) from /usr/lib64/dri/crocus_dri.so
#16 0x00007f9dfac90a7d in tlp::GlAbstractPolygon::draw(float, tlp::Camera*) (+0xa4d) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-ogl-5.7.so
#17 0x00007f9dd059febc in ?? (+0x5ebc) from /tmp/.mount_Tulip-AJ0kw6/usr/lib/tulip/glyph/libCircle-5.7.3.so
#18 0x00007f9dd05a0097 in tlp::Circle::draw(tlp::node, float) (+0xd7) from /tmp/.mount_Tulip-AJ0kw6/usr/lib/tulip/glyph/libCircle-5.7.3.so
#19 0x00007f9dface6d90 in tlp::GlNode::draw(float, tlp::GlGraphInputData const*, tlp::Camera*) (+0x290) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-ogl-5.7.so
#20 0x00007f9dfacb7ef0 in tlp::GlGraphHighDetailsRenderer::draw(float, tlp::Camera*) (+0x660) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-ogl-5.7.so
#21 0x00007f9dfacb68e0 in tlp::GlGraphHighDetailsRenderer::selectEntities(tlp::Camera*, tlp::RenderingEntitiesFlag, int, int, int, int, std::vector<tlp::SelectedEntity, std::allocator<tlp::SelectedEntity> >&) (+0x150) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-ogl-5.7.so
#22 0x00007f9dfacfbf83 in tlp::GlScene::selectEntities(tlp::RenderingEntitiesFlag, int, int, int, int, tlp::GlLayer*, std::vector<tlp::SelectedEntity, std::allocator<tlp::SelectedEntity> >&) (+0x673) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-ogl-5.7.so
#23 0x00007f9dfba09bcd in tlp::GlMainWidget::pickNodesEdges(int, int, int, int, std::vector<tlp::SelectedEntity, std::allocator<tlp::SelectedEntity> >&, std::vector<tlp::SelectedEntity, std::allocator<tlp::SelectedEntity> >&, tlp::GlLayer*, bool, bool) (+0x13d) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-gui-5.7.so
#24 0x00007f9dfba1902c in tlp::MouseNKeysNavigator::eventFilter(QObject*, QEvent*) (+0x6bc) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-gui-5.7.so
#25 0x00007f9df9a79b91 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (+0xf1) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Core.so.5
#26 0x00007f9dfb15bbe5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (+0x75) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#27 0x00007f9dfb1634fc in QApplication::notify(QObject*, QEvent*) (+0xa7c) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#28 0x00007f9df9a79cc5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (+0x75) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Core.so.5
#29 0x00007f9dfbab5dc2 in tlp::GlMainWidgetGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) (+0xc2) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libtulip-gui-5.7.so
#30 0x00007f9dfb429935 in QGraphicsItem::sceneEvent(QEvent*) (+0x145) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#31 0x00007f9dfb44e9c1 in ?? (+0x44e9c1) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#32 0x00007f9dfb456bba in ?? (+0x456bba) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#33 0x00007f9dfb45e7f0 in QGraphicsScene::event(QEvent*) (+0x100) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#34 0x00007f9dfb15bc0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (+0x9c) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#35 0x00007f9dfb162e60 in QApplication::notify(QObject*, QEvent*) (+0x3e0) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#36 0x00007f9df9a79cc5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (+0x75) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Core.so.5
#37 0x00007f9dfb47a9be in QGraphicsView::mouseDoubleClickEvent(QMouseEvent*) (+0x25e) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#38 0x00007f9dfb198066 in QWidget::event(QEvent*) (+0x9d6) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#39 0x00007f9dfb23d76e in QFrame::event(QEvent*) (+0x1e) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#40 0x00007f9dfb47c19b in QGraphicsView::viewportEvent(QEvent*) (+0x18b) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#41 0x00007f9df9a79b91 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (+0xf1) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Core.so.5
#42 0x00007f9dfb15bbe5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (+0x75) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#43 0x00007f9dfb1634fc in QApplication::notify(QObject*, QEvent*) (+0xa7c) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#44 0x00007f9df9a79cc5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (+0x75) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Core.so.5
#45 0x00007f9dfb162349 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (+0x1d9) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
#46 0x00007f9dfb1b0f51 in ?? (+0x1b0f51) from /tmp/.mount_Tulip-AJ0kw6/usr/bin/../lib64/libQt5Widgets.so.5
TLP_STACK_END
When compiling from source I see the following
still crashes when self-compiled, using essentially
Looks like building with QT6 somehow fixes this issue??
see https://sourceforge.net/p/auber/bugs/894/
no it is still still somehow reproducible, QT6 doesn't help!
I was unable to reproduce the your bug.
As shown by the stack trace from call #2 to call #15, the problem does not seem to come from Tulip but rather from the crocus driver (/usr/lib64/dri/crocus_dri.so).
Regards
Nevertheless thank you.
I just verified it, that it is still broken and was not 'accidentally' fixed due to a library update.
I needed a lot of clicking this time, approximately 50? clicks.
But at the moment I can't debug this any further.
Regards Andre
I looked into that issue and managed to reproduce it as I have an old Intel NUC with legacy Intel HD Graphics GPU (same as you Andre I guess) that is taking the dust but is still functional.
This looks like a bug in the mesa crocus driver when OpenGL rendering mode is set to
GL_SELECT(used when selecting graph elements in views with the mouse). I also tested using the latest version of the driver on Ubuntu (using https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers) and I still got the crash.One workaround I found is to set the
DRAW_USE_LLVMenvironment variable to0when running Tulip and there is no more crash when attempting to select nodes or edges in Tulip views. This also does not seem to have an impact on performances.To avoid setting it manually, Tulip code could check the
GL_RENDEREROpenGL string and set the environment variable above if it starts withMesa Intel(R) HD Graphics(crocus driver).Andre, could you paste here the output of
glxinfo -Bhere to check the value ofGL_RENDERERon your system ?Last edit: Antoine Lambert 2024-01-04
Hi Antoine,
I hope your GL_RENDERER hint is helpful ;-)
but an "OpenGL renderer string" string
(hint, as we see in a moment this is the one requested)
https://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/g/glx-utils-9.0.0-4.fc40.x86_64.html
I installed some packages for my Fedora 38
dnf builddep mesa
dnf install meson
dnf install freeglut freeglut-devel
For building the glinfo tool I did
cd Downloads
tar xvfJ mesa-demos-9.0.0.tar.xz
cd mesa-demos-9.0.0
mkdir build
meson build
meson compile -C build
cd build
cd src
cd demos
./glinfo
As can be seen from the outputs posted below
"Mesa Intel(R) HD Graphics 4000 (IVB GT2)"
"Mesa Intel(R) HD Graphics 4000 (IVB GT2)"
Hope this helps
Regards Andre