Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt issue in Kubuntu
QtWS25 Last Chance

Qt issue in Kubuntu

Scheduled Pinned Locked Moved Unsolved General and Desktop
kubuntusegfault
19 Posts 5 Posters 1.8k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @ChrisW67 said in Qt issue in Kubuntu:

    Cannot offer any specific help though.

    Stack trace after crash?

    C Offline
    C Offline
    ChrisW67
    wrote on last edited by
    #6

    The apt-supplied privacybrowser executable crashes attempting to create its QApplication instance AFAICT:

    test@test-virtualbox:~$ gdb `which privacybrowser`
    GNU gdb (Ubuntu 15.1-1ubuntu2) 15.1
    ...
    
    Thread 1 "privacybrowser" received signal SIGSEGV, Segmentation fault.
    0x000079c9675247ec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
    (gdb) bt
    #0  0x000079c9675247ec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
    #1  0x000079c96793bc44 in QGuiApplication::screenAdded(QScreen*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
    #2  0x000079c96791d0fc in QWindowSystemInterface::handleScreenAdded(QPlatformScreen*, bool) ()
       from /lib/x86_64-linux-gnu/libQt5Gui.so.5
    #3  0x000079c9614f8b60 in QXcbConnection::initializeScreens() () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
    #4  0x000079c9614cd903 in QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, unsigned int, char const*) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
    #5  0x000079c9614d12e2 in QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**) ()
       from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
    #6  0x000079c971478530 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
    #7  0x000079c9679401c8 in QGuiApplicationPrivate::createPlatformIntegration() ()
       from /lib/x86_64-linux-gnu/libQt5Gui.so.5
    #8  0x000079c9679419c0 in QGuiApplicationPrivate::createEventDispatcher() ()
       from /lib/x86_64-linux-gnu/libQt5Gui.so.5
    #9  0x000079c9674f0595 in QCoreApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
    #10 0x000079c96794496d in QGuiApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
    #11 0x000079c968171205 in QApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
    #12 0x00005a16e2ede3c2 in ?? ()
    #13 0x000079c966a2a3b8 in __libc_start_call_main (main=main@entry=0x5a16e2ede340, argc=argc@entry=1, 
        argv=argv@entry=0x7ffe41796988) at ../sysdeps/nptl/libc_start_call_main.h:58
    #14 0x000079c966a2a47b in __libc_start_main_impl (main=0x5a16e2ede340, argc=1, argv=0x7ffe41796988, 
        init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffe41796978)
        at ../csu/libc-start.c:360
    #15 0x00005a16e2ee2055 in ?? ()
    (gdb) 
    

    Nothing in the source code looks even mildly unusual up to that point. I do not have all the KDE components needed to build the tool from source.

    The actual Qt5 library and plugin components must be good or KDE itself would not start.

    SGaistS 1 Reply Last reply
    0
    • C ChrisW67

      The apt-supplied privacybrowser executable crashes attempting to create its QApplication instance AFAICT:

      test@test-virtualbox:~$ gdb `which privacybrowser`
      GNU gdb (Ubuntu 15.1-1ubuntu2) 15.1
      ...
      
      Thread 1 "privacybrowser" received signal SIGSEGV, Segmentation fault.
      0x000079c9675247ec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      (gdb) bt
      #0  0x000079c9675247ec in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      #1  0x000079c96793bc44 in QGuiApplication::screenAdded(QScreen*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
      #2  0x000079c96791d0fc in QWindowSystemInterface::handleScreenAdded(QPlatformScreen*, bool) ()
         from /lib/x86_64-linux-gnu/libQt5Gui.so.5
      #3  0x000079c9614f8b60 in QXcbConnection::initializeScreens() () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
      #4  0x000079c9614cd903 in QXcbConnection::QXcbConnection(QXcbNativeInterface*, bool, unsigned int, char const*) () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
      #5  0x000079c9614d12e2 in QXcbIntegration::QXcbIntegration(QStringList const&, int&, char**) ()
         from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
      #6  0x000079c971478530 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
      #7  0x000079c9679401c8 in QGuiApplicationPrivate::createPlatformIntegration() ()
         from /lib/x86_64-linux-gnu/libQt5Gui.so.5
      #8  0x000079c9679419c0 in QGuiApplicationPrivate::createEventDispatcher() ()
         from /lib/x86_64-linux-gnu/libQt5Gui.so.5
      #9  0x000079c9674f0595 in QCoreApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      #10 0x000079c96794496d in QGuiApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Gui.so.5
      #11 0x000079c968171205 in QApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
      #12 0x00005a16e2ede3c2 in ?? ()
      #13 0x000079c966a2a3b8 in __libc_start_call_main (main=main@entry=0x5a16e2ede340, argc=argc@entry=1, 
          argv=argv@entry=0x7ffe41796988) at ../sysdeps/nptl/libc_start_call_main.h:58
      #14 0x000079c966a2a47b in __libc_start_main_impl (main=0x5a16e2ede340, argc=1, argv=0x7ffe41796988, 
          init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffe41796978)
          at ../csu/libc-start.c:360
      #15 0x00005a16e2ee2055 in ?? ()
      (gdb) 
      

      Nothing in the source code looks even mildly unusual up to that point. I do not have all the KDE components needed to build the tool from source.

      The actual Qt5 library and plugin components must be good or KDE itself would not start.

      SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #7

      @ChrisW67 I would say: it depends. KDE has recently switched to Qt 6 so it will depend on which version of it you have.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      C 1 Reply Last reply
      0
      • Soren StoutnerS Offline
        Soren StoutnerS Offline
        Soren Stoutner
        wrote on last edited by
        #8

        I am curious what happens if you run privacybrowser --help-all from the command line. Doing so engages a surprising amount of the underlying Qt infrastructure. It would be interesting this also produced an error.

        1 Reply Last reply
        0
        • Q Offline
          Q Offline
          qt_usr
          wrote on last edited by qt_usr
          #9

          Running the program with --help-all returns the following backtrace.

          The bt full command returns a longer log I pasted here: https://pastebin.com/uSzEdaSh

          #0  QObject::thread (this=0x0) at kernel/qobject.cpp:1520
          #1  0x00007be9479cfb93 in (anonymous namespace)::loadOnMainThread () at /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:116
          #2  0x00007be94e6ed624 in qAddPreRoutine (p=0x7be9479cfb70 <(anonymous namespace)::loadOnMainThread()>) at kernel/qcoreapplication.cpp:277
          #3  0x00007be94797bd65 in _sub_I_65535_0.0 () from /lib/x86_64-linux-gnu/libKF5Solid.so.5
          #4  0x00007be9586937ef in call_init (l=<optimized out>, argc=argc@entry=2, argv=argv@entry=0x7fff78eaf408, env=env@entry=0x7fff78eaf420)
              at ./elf/dl-init.c:74
          #5  0x00007be958693904 in call_init (l=<optimized out>, argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at ./elf/dl-init.c:120
          #6  _dl_init (main_map=0x575b553282e0, argc=2, argv=0x7fff78eaf408, env=0x7fff78eaf420) at ./elf/dl-init.c:121
          #7  0x00007be9586905b2 in __GI__dl_catch_exception (exception=exception@entry=0x0, operate=operate@entry=0x7be95869b0f0 <call_dl_init>, 
              args=args@entry=0x7fff78eae430) at ./elf/dl-catch.c:215
          #8  0x00007be95869b1ac in dl_open_worker (a=0x7fff78eae5e0) at ./elf/dl-open.c:804
          #9  dl_open_worker (a=a@entry=0x7fff78eae5e0) at ./elf/dl-open.c:767
          #10 0x00007be95869051c in __GI__dl_catch_exception (exception=exception@entry=0x7fff78eae5c0, operate=operate@entry=0x7be95869b110 <dl_open_worker>, 
              args=args@entry=0x7fff78eae5e0) at ./elf/dl-catch.c:241
          #11 0x00007be95869b594 in _dl_open (file=0x575b5531b468 "/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/KDEPlasmaPlatformTheme5.so", 
              mode=<optimized out>, caller_dlopen=0x7be94e6e4cd0 <QLibraryPrivate::load_sys()+1408>, nsid=<optimized out>, argc=2, argv=0x7fff78eaf408, 
              env=0x7fff78eaf420) at ./elf/dl-open.c:880
          #12 0x00007be94dc9d474 in dlopen_doit (a=a@entry=0x7fff78eae890) at ./dlfcn/dlopen.c:56
          #13 0x00007be95869051c in __GI__dl_catch_exception (exception=exception@entry=0x7fff78eae7d0, operate=0x7be94dc9d410 <dlopen_doit>, args=0x7fff78eae890)
              at ./elf/dl-catch.c:241
          #14 0x00007be958690669 in _dl_catch_error (objname=0x7fff78eae838, errstring=0x7fff78eae840, mallocedp=0x7fff78eae837, operate=<optimized out>, 
              args=<optimized out>) at ./elf/dl-catch.c:260
          #15 0x00007be94dc9cf63 in _dlerror_run (operate=operate@entry=0x7be94dc9d410 <dlopen_doit>, args=args@entry=0x7fff78eae890) at ./dlfcn/dlerror.c:138
          #16 0x00007be94dc9d52f in dlopen_implementation (file=<optimized out>, mode=<optimized out>, dl_caller=<optimized out>) at ./dlfcn/dlopen.c:71
          #17 ___dlopen (file=<optimized out>, mode=<optimized out>) at ./dlfcn/dlopen.c:81
          #18 0x00007be94e6e4cd0 in QLibraryPrivate::load_sys (this=this@entry=0x575b5531d6f0) at plugin/qlibrary_unix.cpp:238
          #19 0x00007be94e6de060 in QLibraryPrivate::load (this=this@entry=0x575b5531d6f0) at plugin/qlibrary.cpp:584
          #20 0x00007be94e6de64f in QLibraryPrivate::loadPlugin (this=this@entry=0x575b5531d6f0) at plugin/qlibrary.cpp:641
          #21 0x00007be94e6de9d0 in QLibraryPrivate::pluginInstance (this=0x575b5531d6f0) at plugin/qlibrary.cpp:557
          #22 0x00007be94e6d1255 in QFactoryLoader::instance (this=this@entry=0x7be94f1133b0 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, 
              index=<optimized out>) at plugin/qfactoryloader.cpp:396
          #23 0x00007be94eb3279e in qLoadPlugin<QPlatformTheme, QPlatformThemePlugin, QStringList&> (
              loader=0x7be94f1133b0 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>, key=...)
              at ../../include/QtCore/5.15.13/QtCore/private/../../../../../src/corelib/plugin/qfactoryloader_p.h:106
          #24 QPlatformThemeFactory::create (key=..., platformPluginPath=...) at kernel/qplatformthemefactory.cpp:73
          #25 0x00007be94eb403e8 in init_platform (pluginNamesWithArguments=..., platformPluginPath=..., platformThemeName=..., argc=@0x7fff78eaf12c: 2, 
              argv=<optimized out>) at kernel/qguiapplication.cpp:1282
          #26 QGuiApplicationPrivate::createPlatformIntegration (this=0x575b55308a80) at kernel/qguiapplication.cpp:1477
          #27 0x00007be94eb419c0 in QGuiApplicationPrivate::createEventDispatcher (this=<optimized out>) at kernel/qguiapplication.cpp:1494
          #28 0x00007be94e6f0595 in QCoreApplicationPrivate::init (this=this@entry=0x575b55308a80) at kernel/qcoreapplication.cpp:835
          #29 0x00007be94eb4496d in QGuiApplicationPrivate::init (this=0x575b55308a80) at kernel/qguiapplication.cpp:1523
          #30 0x00007be94f371205 in QApplicationPrivate::init() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5
          #31 0x0000575b1757f3c2 in ?? ()
          #32 0x00007be94dc2a3b8 in __libc_start_call_main (main=main@entry=0x575b1757f340, argc=argc@entry=2, argv=argv@entry=0x7fff78eaf408)
              at ../sysdeps/nptl/libc_start_call_main.h:58
          #33 0x00007be94dc2a47b in __libc_start_main_impl (main=0x575b1757f340, argc=2, argv=0x7fff78eaf408, init=<optimized out>, fini=<optimized out>, 
              rtld_fini=<optimized out>, stack_end=0x7fff78eaf3f8) at ../csu/libc-start.c:360
          #34 0x0000575b17583055 in ?? ()
          
          
          1 Reply Last reply
          0
          • SGaistS SGaist

            @ChrisW67 I would say: it depends. KDE has recently switched to Qt 6 so it will depend on which version of it you have.

            C Offline
            C Offline
            ChrisW67
            wrote on last edited by ChrisW67
            #10

            @SGaist Good point:

            Kubuntu 24.10 Beta ships with Qt6 6.6.12 and KDE Frameworks 6 version 6.5.0.
            For applications that are still based on Qt5/KF5, Qt5 5.15.13 and Frameworks 5.116.0 are still in the archive.

            So possibly the Qt5/KF5-based executable is missing a KDE 5 framework library or resource that is not present out-of-the-box. For example, KDEPlasmaPlatformTheme5.so or libKF5Solid.so.5 in stack trace above.

            I will check when I get back to the machine with the VM.

            C 1 Reply Last reply
            0
            • C ChrisW67

              @SGaist Good point:

              Kubuntu 24.10 Beta ships with Qt6 6.6.12 and KDE Frameworks 6 version 6.5.0.
              For applications that are still based on Qt5/KF5, Qt5 5.15.13 and Frameworks 5.116.0 are still in the archive.

              So possibly the Qt5/KF5-based executable is missing a KDE 5 framework library or resource that is not present out-of-the-box. For example, KDEPlasmaPlatformTheme5.so or libKF5Solid.so.5 in stack trace above.

              I will check when I get back to the machine with the VM.

              C Offline
              C Offline
              ChrisW67
              wrote on last edited by
              #11

              Nothing seems to be out of order in terms of mixed Qt5/6 or KDE dependencies missing.

              BTW, the apt-supplied privacybrowser fails for me:

              • Kubuntu 24.04 with KDE Frameworks 5.115.0, Qt 5.15.3
              • Kubuntu 24.10 with KDE Frameworks 6.5.0, Qt 6.6.2 and what looks to be KDE Frameworks 5.116

              This issue with Wireshark looks to be the same thing. Essentially, the impossible happens :(
              That leads to QTBUG-86173 and that rabbit hole is more detail than I am willing to wade into and understand.

              There is a suggestion that, "disabling -reduce-relocations by default is the best option."

              1 Reply Last reply
              0
              • Soren StoutnerS Offline
                Soren StoutnerS Offline
                Soren Stoutner
                wrote on last edited by Soren Stoutner
                #12

                Given the discussion about -fPIC and -fPIE on the Wireshark bug, do you think that lines 45-52 in CMakeLists.txt could be the issue:

                  45 # Include the Position Independent Executable checker.  <https://cmake.org/cmake/help/latest/policy/CMP0083.html>
                  46 include(CheckPIESupported)
                  47 
                  48 # Check to see if Position Independent Executable is supported in the current linker and environment.
                  49 check_pie_supported()
                  50 
                  51 # Add the Position Independent Executable compiler flag if it is supported in the current linker and environment.  <https://cmake.org/cmake/help/latest/variable/CMAKE_POSITION_INDEPENDENT_CODE.html>
                  52 set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
                
                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  ChrisW67
                  wrote on last edited by
                  #13

                  Possibly. This snippet derived from the CMake manual:

                  include(CheckPIESupported)
                  check_pie_supported(OUTPUT_VARIABLE output LANGUAGES CXX)
                  set_property(TARGET mmmm_pie PROPERTY POSITION_INDEPENDENT_CODE TRUE)
                  if(NOT CMAKE_C_LINK_PIE_SUPPORTED)
                    message(WARNING "PIE is not supported at link time: ${output}.\n"
                                    "PIE link options will not be passed to linker.")
                  endif()
                  

                  Added to the CMakeLists.txt for a basic empty-widget project generates this:

                  [cmake] Running /usr/bin/cmake -S /tmp/mmmm_pie -B /tmp/mmmm_pie/build/Desktop_Qt_6_7_2-Debug in /tmp/mmmm_pie/build/Desktop_Qt_6_7_2-Debug.
                  [cmake] CMake Warning at CMakeLists.txt:51 (message):
                  [cmake]   PIE is not supported at link time: .
                  [cmake] 
                  [cmake]   PIE link options will not be passed to linker.
                  [cmake] 
                  

                  It nevertheless adds -fPIE to the g++ calls for source compile and linking.
                  Kubuntu 24.04, Qt 5.15.3 or 6.7.2, CMake 3.28.3

                  Could be worth removing the option as an experiment. I expect that support for ASLR is a desirable in a browser though.

                  1 Reply Last reply
                  0
                  • Soren StoutnerS Offline
                    Soren StoutnerS Offline
                    Soren Stoutner
                    wrote on last edited by Soren Stoutner
                    #14

                    @qt_usr, could you please install the .deb from the upstream website in your testing environment (assuming it will install) and check to see if you get the same error?

                    That .deb was built against Debian unstable. Assuming you do get the same error, I can produce another version for testing with the PIE linking code removed.

                    Q 1 Reply Last reply
                    0
                    • Soren StoutnerS Soren Stoutner

                      @qt_usr, could you please install the .deb from the upstream website in your testing environment (assuming it will install) and check to see if you get the same error?

                      That .deb was built against Debian unstable. Assuming you do get the same error, I can produce another version for testing with the PIE linking code removed.

                      Q Offline
                      Q Offline
                      qt_usr
                      wrote on last edited by
                      #15

                      @Soren-Stoutner Hello,
                      using the .deb from the website (0.6.1) it starts!

                      befde752-e01b-4da4-a21f-04885e3ef21e-immagine.png

                      1 Reply Last reply
                      0
                      • Soren StoutnerS Offline
                        Soren StoutnerS Offline
                        Soren Stoutner
                        wrote on last edited by
                        #16

                        That is very interesting (and not what I was expecting). I think I will move this conversation back to the Launchpad bug as it appears to be some issue with how it was built for Ubuntu.

                        Q 1 Reply Last reply
                        0
                        • Soren StoutnerS Soren Stoutner

                          That is very interesting (and not what I was expecting). I think I will move this conversation back to the Launchpad bug as it appears to be some issue with how it was built for Ubuntu.

                          Q Offline
                          Q Offline
                          qt_usr
                          wrote on last edited by
                          #17

                          @Soren-Stoutner Fine. I noticed the Ubuntu repository's version is 0.6 while the website's version is 0.6.1. Let's go "back" to the launchpad bug for this.

                          1 Reply Last reply
                          0
                          • Soren StoutnerS Offline
                            Soren StoutnerS Offline
                            Soren Stoutner
                            wrote on last edited by
                            #18

                            For exactness of comparison, you can load 0.6 from the upstream website. Although I don't expect any difference from 0.6.1.

                            Q 1 Reply Last reply
                            0
                            • Soren StoutnerS Soren Stoutner

                              For exactness of comparison, you can load 0.6 from the upstream website. Although I don't expect any difference from 0.6.1.

                              Q Offline
                              Q Offline
                              qt_usr
                              wrote on last edited by
                              #19

                              @Soren-Stoutner Yes, I confirm. Also the v0.6 starts correctly if installed using the .deb pacakge from the website.

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved