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
Forum Updated to NodeBB v4.3 + New Features

Qt issue in Kubuntu

Scheduled Pinned Locked Moved Unsolved General and Desktop
kubuntusegfault
19 Posts 5 Posters 1.9k Views 5 Watching
  • 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.
  • S Offline
    S Offline
    Soren Stoutner
    wrote on 21 Sept 2024, 21:34 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 22 Sept 2024, 16:05 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
      • S SGaist
        21 Sept 2024, 15:12

        @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 22 Sept 2024, 22:30 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 23 Sept 2024, 07:30
        0
        • C ChrisW67
          22 Sept 2024, 22:30

          @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 23 Sept 2024, 07:30 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
          • S Offline
            S Offline
            Soren Stoutner
            wrote on 23 Sept 2024, 18:00 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 23 Sept 2024, 19:58 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
              • S Offline
                S Offline
                Soren Stoutner
                wrote on 23 Sept 2024, 20:17 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 24 Sept 2024, 18:35
                0
                • S Soren Stoutner
                  23 Sept 2024, 20:17

                  @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 24 Sept 2024, 18:35 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
                  • S Offline
                    S Offline
                    Soren Stoutner
                    wrote on 24 Sept 2024, 18:38 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 24 Sept 2024, 18:50
                    0
                    • S Soren Stoutner
                      24 Sept 2024, 18:38

                      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 24 Sept 2024, 18:50 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
                      • S Offline
                        S Offline
                        Soren Stoutner
                        wrote on 24 Sept 2024, 19:17 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 24 Sept 2024, 20:47
                        0
                        • S Soren Stoutner
                          24 Sept 2024, 19:17

                          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 24 Sept 2024, 20:47 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

                          17/19

                          24 Sept 2024, 18:50

                          • Login

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