Menu

#887 Tulip-5.7.2.AppImage crashes when selecting a layout algorithm within the GUI

3.5.x
closed-fixed
nobody
None
5
2023-11-16
2023-11-10
Andre Maute
No

On a recently updated Fedora 38 I experience crashes when selecting a layout algorithm within the GUI
I have attached the used graphml File which I created using a recent yEd installation.
The graph comes originally from a TGF file

E.g. using Circular (OGDF) shows this behavior, but it is not only this one

Regards Andre

the command line output follows
~~~
$ ./Tulip-5.7.2.AppImage
Perspective running in standalone mode
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1537, resource id: 10910629, major code: 40 (TranslateCoords), minor code: 0
QXcbConnection: XCB error: 3 (BadWindow), sequence: 1632, resource id: 10911528, major code: 40 (TranslateCoords), minor code: 0
TLP_PLATEFORM linux
TLP_ARCH x86_64
TLP_COMPILER gcc
TLP_VERSION 5.7.2
TLP_STACK_BEGIN

00 0x00007fa39ba98840 in ogdf::CircularLayout::doCall(ogdf::GraphAttributes&, ogdf::ClusterStructure&) (+0xf0) from /tmp/.mount_Tulip-fXdtDD/usr/lib/tulip/libOGDFPlugins-5.7.2.so

01 0x00007fa39ba9d97b in ogdf::CircularLayout::call(ogdf::GraphAttributes&) (+0xb4b) from /tmp/.mount_Tulip-fXdtDD/usr/lib/tulip/libOGDFPlugins-5.7.2.so

02 0x00007fa39b9a963b in tlp::OGDFLayoutPluginBase::run() (+0x5b) from /tmp/.mount_Tulip-fXdtDD/usr/lib/tulip/libOGDFPlugins-5.7.2.so

03 0x00007fa3c337ed38 in tlp::Graph::applyAlgorithm(std::string const&, std::string&, tlp::DataSet, tlp::PluginProgress) (+0xa8) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libtulip-core-5.7.so

04 0x00007fa39890f111 in AlgorithmRunnerItem::run(tlp::Graph*) (+0xb71) from /tmp/.mount_Tulip-fXdtDD/usr/lib/tulip/perspective/libGraphPerspective-5.7.2.so

05 0x00007fa3c24a3cbf in QMetaObject::activate(QObject, int, int, void*) (+0x2cf) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5

06 0x00007fa3c3c4ef42 in QAbstractButton::clicked(bool) (+0x32) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

07 0x00007fa3c3c4f14a in ?? (+0x24f14a) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

08 0x00007fa3c3c506b7 in ?? (+0x2506b7) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

09 0x00007fa3c3c50835 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) (+0xd5) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

10 0x00007fa3c3b9807f in QWidget::event(QEvent*) (+0x9ef) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

11 0x00007fa3c3b5bc0c in QApplicationPrivate::notify_helper(QObject, QEvent) (+0x9c) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

12 0x00007fa3c3b634fc in QApplication::notify(QObject, QEvent) (+0xa7c) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

13 0x00007fa3c2479cc5 in QCoreApplication::notifyInternal2(QObject, QEvent) (+0x75) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5

14 0x00007fa3c3b62349 in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer<qwidget>&, bool) (+0x1d9) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5</qwidget>

15 0x00007fa3c3bb0f51 in ?? (+0x1b0f51) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

16 0x00007fa3c3bb34e3 in ?? (+0x1b34e3) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

17 0x00007fa3c3b5bc0c in QApplicationPrivate::notify_helper(QObject, QEvent) (+0x9c) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

18 0x00007fa3c3b62e60 in QApplication::notify(QObject, QEvent) (+0x3e0) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Widgets.so.5

19 0x00007fa3c2479cc5 in QCoreApplication::notifyInternal2(QObject, QEvent) (+0x75) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5

20 0x00007fa3c290146d in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (+0x40d) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Gui.so.5

21 0x00007fa3c2903035 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) (+0x115) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Gui.so.5

22 0x00007fa3c28e005b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<qeventloop::processeventsflag>) (+0x7b) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Gui.so.5</qeventloop::processeventsflag>

23 0x00007fa3bf388690 in ?? (+0xaa690) from /tmp/.mount_Tulip-fXdtDD/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5

24 0x00007fa3c11134fc in g_main_context_dispatch (+0x14c) from /lib64/libglib-2.0.so.0

25 0x00007fa3c11716b8 in ?? (+0xba6b8) from /lib64/libglib-2.0.so.0

26 0x00007fa3c1110b83 in g_main_context_iteration (+0x33) from /lib64/libglib-2.0.so.0

27 0x00007fa3c24cc24c in QEventDispatcherGlib::processEvents(QFlags<qeventloop::processeventsflag>) (+0x5c) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5</qeventloop::processeventsflag>

28 0x00007fa3c2477f5b in QEventLoop::exec(QFlags<qeventloop::processeventsflag>) (+0xfb) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5</qeventloop::processeventsflag>

29 0x00007fa3c2480834 in QCoreApplication::exec() (+0x84) from /tmp/.mount_Tulip-fXdtDD/usr/bin/../lib64/libQt5Core.so.5

30 0x000000000040ca03 in main (+0x9d3) from /tmp/.mount_Tulip-fXdtDD/usr/bin/tulip_perspective

31 0x00007fa3c1c49b8a in ?? (+0x27b8a) from /lib64/libc.so.6

32 0x00007fa3c1c49c4b in __libc_start_main (+0x8b) from /lib64/libc.so.6

TLP_STACK_END

2 Attachments

Discussion

  • Patrick Mary

    Patrick Mary - 2023-11-14

    I'm really sorry but I was unable to reproduce the crash you reported.
    As I have no machine with your OS, I tried booting a virtual machine using Fedora-Workstation-Live-x86_64-38-1.6.iso,
    then lauching Tulip-5.7.2.AppImage on your cairo.graphml file.
    Every layout plugin I applied worked as expected.

     
    • Andre Maute

      Andre Maute - 2023-11-14

      Checked again, still crashes.

       
      • Andre Maute

        Andre Maute - 2023-11-14

        How exactly did you use this .iso file?
        I installed virt-manager and started the systemd service.
        Then i added the .iso to a new VM with 16Gb of RAM and 4 Cores, on my 32Gb i7-3770 host
        Used the first option in the Grub menu (Live Image) with the .iso file.
        Opened Firefox, downloaded from sourceforge the AppImage, chmodded it
        and executed it and crash.

        This all was very slow.

        Regards Andre

        Here is the output from the crash

        [liveuser@localhost-live ~]$ cd Downloads/
        [liveuser@localhost-live Downloads]$ chmod +x ./Tulip-5.7.2.AppImage 
        [liveuser@localhost-live Downloads]$  ./Tulip-5.7.2.AppImage 
        TLP_PLATEFORM linux
        TLP_ARCH x86_64
        TLP_COMPILER gcc
        TLP_VERSION 5.7.2
        TLP_STACK_BEGIN
        #00 0x00007fb9e15a754e in ?? (+0x1a754e) from /tmp/.mount_Tulip-OSan1d/usr/lib/tulip/libOGDFPlugins-5.7.2.so
        
        #01 0x00007fba0d9e917f in ?? (+0x517f) from /lib64/ld-linux-x86-64.so.2
        
        #02 0x00007fba0d9e927d in ?? (+0x527d) from /lib64/ld-linux-x86-64.so.2
        
        #03 0x00007fba0d9e55c2 in _dl_catch_exception (+0x142) from /lib64/ld-linux-x86-64.so.2
        
        #04 0x00007fba0d9efe5c in ?? (+0xbe5c) from /lib64/ld-linux-x86-64.so.2
        
        #05 0x00007fba0d9e5523 in _dl_catch_exception (+0xa3) from /lib64/ld-linux-x86-64.so.2
        
        #06 0x00007fba0d9f01d4 in ?? (+0xc1d4) from /lib64/ld-linux-x86-64.so.2
        
        #07 0x00007fba0aea9a24 in ?? (+0x88a24) from /lib64/libc.so.6
        
        #08 0x00007fba0d9e5523 in _dl_catch_exception (+0xa3) from /lib64/ld-linux-x86-64.so.2
        
        #09 0x00007fba0d9e5679 in ?? (+0x1679) from /lib64/ld-linux-x86-64.so.2
        
        #10 0x00007fba0aea9503 in ?? (+0x88503) from /lib64/libc.so.6
        
        #11 0x00007fba0aea9adf in dlopen (+0x6f) from /lib64/libc.so.6
        
        #12 0x00007fba0c61c06d in tlp::PluginLibraryLoader::loadPluginLibrary(std::string const&, tlp::PluginLoader*) (+0x1d) from /tmp/.mount_Tulip-OSan1d/usr/bin/../lib64/libtulip-core-5.7.so
        
        #13 0x00007fba0c61c3c2 in tlp::PluginLibraryLoader::initPluginDir(tlp::PluginLoader*, bool, std::string const&) (+0x2a2) from /tmp/.mount_Tulip-OSan1d/usr/bin/../lib64/libtulip-core-5.7.so
        
        #14 0x00007fba0c61d0e0 in tlp::PluginLibraryLoader::loadPluginsFromDir(std::string const&, tlp::PluginLoader*, std::string const&) (+0x90) from /tmp/.mount_Tulip-OSan1d/usr/bin/../lib64/libtulip-core-5.7.so
        
        #15 0x00007fba0d64f7e3 in tlp::initTulipSoftware(tlp::PluginLoader*, bool) (+0x233) from /tmp/.mount_Tulip-OSan1d/usr/bin/../lib64/libtulip-gui-5.7.so
        
        #16 0x000000000040c6ef in main (+0x6bf) from /tmp/.mount_Tulip-OSan1d/usr/bin/tulip_perspective
        
        #17 0x00007fba0ae48b4a in ?? (+0x27b4a) from /lib64/libc.so.6
        
        #18 0x00007fba0ae48c0b in __libc_start_main (+0x8b) from /lib64/libc.so.6
        
        TLP_STACK_END
        [liveuser@localhost-live Downloads]$ 
        
         

        Last edit: Andre Maute 2023-11-14
  • Patrick Mary

    Patrick Mary - 2023-11-15

    I did the same in using VirtualBox instead of virt-manager.
    You can extract then run the appimage in doing this :

    cd /tmp
    path_to_appimage/Tulip-5.7.2.AppImage
    ./squashfs-root/AppRun

     
    • Andre Maute

      Andre Maute - 2023-11-15
      Post awaiting moderation.
    • Andre Maute

      Andre Maute - 2023-11-15

      shouldn't it be possible to extract the contents of the AppImage
      without running it? The documentation from AppImage suggests that this should be possible.
      see
      https://github.com/AppImage/AppImageKit
      and search for

      --appimage-extract
      --appimage-mount
      --appimage-version
      
       
      • Andre Maute

        Andre Maute - 2023-11-15

        Could this be a CPU problem with my old Intel Core i7-3770 processor?

        The combinations

        • Ryzen 5 5625U + Ubuntu 22.04
        • Ryzen 7 5700U + Fedora 37
          with the AppImage don't crash
         
        • Antoine Lambert

          Antoine Lambert - 2023-11-15

          Hi Andre,

          The issue likely comes to the fact that the OGDF library bundled in Tulip source folder is compiled with the following GCC flags: -march=native which produces binaries non portable across CPU architectures.

          Commenting lines 16 to 19 in file tulip-5.7.2/thirdparty/OGDF/cmake/compiler-specifics.cmake and rebuilding the AppImage should fix the issue.

          Cheers !

           
          👍
          1
          • Andre Maute

            Andre Maute - 2023-11-15

            Indeed see Ticket #888, which we have already resolved, rebuilding from the source tar.gz doesn't show the crashes.

            This makes sense, locally -march=native is always ok.
            But for something portable like an AppImage, -march=native somehow works against the idea of portability.

            Question: Would it be possible to drop that -march=native somehow for the AppImage?

            Regards Andre

             
            • Andre Maute

              Andre Maute - 2023-11-15

              At least this behavior should be somehow documented.

               
  • Patrick Mary

    Patrick Mary - 2023-11-16
    • status: open --> closed-fixed
     
  • Patrick Mary

    Patrick Mary - 2023-11-16

    Thanks to Antoine (the developer who integrated OGDF source in Tulip) for giving its 2 cents.
    And thanks to you Andre for your recent reports.
    So the AppImage build will be fixed for the next Tulip release.

     
    • Andre Maute

      Andre Maute - 2023-11-16

      Thany you all for your provided support
      Andre

       

Log in to post a comment.

MongoDB Logo MongoDB