Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-130265

Random crash in QUtf8::convertFromUnicode - SegFault accessing nextAscii and src

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 6.7.2
    • None
    • Operating System: Fedora Linux 40
      KDE Plasma Version: 6.2.0
      KDE Frameworks Version: 6.7.0
      Qt Version: 6.7.2
      Kernel Version: 6.11.3-200.fc40.x86_64 (64-bit)
      Graphics Platform: Wayland
    • Linux/Wayland

    Description

      Baloo suddenly crashed, but it looks like a Qt issue. Here's the relevant backtrace - unfortunately a few things are optimized out:

       

      ```

      #3  0x00007f0ed21861a2 in KCrash::defaultCrashHandler (...)

      #4  <signal handler called

      #5  QUtf8::convertFromUnicode (in=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/text/qstringconverter.cpp:490
             u = <optimized out>
             res = <optimized out>
             nextAscii = 0x3 <error: Cannot access memory at address 0x3>
             len = <optimized out>
             result = {d = {d = 0x7eceb0005e50, ptr = 0x7eceb0005e60 "", size = 3}, static _empty = 0 '\000'}
             dst = 0x7eceb0005e60 ""
             src = 0x1 <error: Cannot access memory at address 0x1>
             end = <optimized out>
      #6  0x00007f0ed1890238 in qt_convert_to_utf8 (str=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/text/qstring.cpp:5666
      No locals.
      #7  QString::toUtf8_helper (str=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/text/qstring.cpp:5658
      No locals.
      #8  0x00007f0ed1e3e226 in QString::toUtf8() const & (this=0x7f0ebe5ff338) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/text/qstring.h:619
      No locals.
      #9  QDBusMarshaller::append (this=this@entry=0x7f0ebe5ff350, arg=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusmarshaller.cpp:102
             data = {d = {d = 0x7eceb0005e50, ptr = 0x7eceb0005e60 "", size = 3}, static _empty = 0 '\000'}
             cdata = 0xefb4ac7e2c616a00 <error: Cannot access memory at address 0xefb4ac7e2c616a00>
      #10 0x00007f0ed1e4082f in QDBusMarshaller::append (this=0x55b65734e068, arg=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusmarshaller.cpp:210
             s = @0x55b65734e050: {d = {d = 0x31, ptr = 0x1 <error: Cannot access memory at address 0x1>, size = 1}, static _empty = 0 u'\000'}
             __for_range = @0x7f0ebe5ff330: {<QListSpecialMethods<QString>> = {<QListSpecialMethodsBase<QString>> = {<No data fields>{color:#000000}}, <No data fields>{color:#000000}}, d = {d = 0x55b65734e040,  
                 ptr = 0x55b65734e050, size = 2}}
             __for_begin = <optimized out>
             __for_end = <optimized out>
             sub = {<QDBusArgumentPrivate> = {_vptr.QDBusArgumentPrivate = 0x7f0ed1ed6120 <vtable for QDBusMarshaller+16>, message = 0x0,  
                 ref = {<QAtomicInteger<int>> = {<QBasicAtomicInteger<int>> = {_q_value = std::atomic<int> = { 1 }}, <No data fields>{color:#000000}}, <No data fields>{color:#000000}}, capabilities = {i = 1},  
                 direction = QDBusArgumentPrivate::Direction::Marshalling{color:#000000}}, iterator = {dummy1 = 0x7f0eb8023300, dummy2 = 0x7f0e01e00000, dummy3 = 3193921900, dummy4 = 32526,  
                 dummy5 = -1338954128, dummy6 = 32462, dummy7 = 1, dummy8 = 250, dummy9 = -1207815344, dummy10 = 32526, dummy11 = 4, pad1 = 4, pad2 = 0x100000000, pad3 = 0x7f0ebe5ff57f{color:#000000}},  
               parent
      = 0x7f0ebe5ff530, ba = 0x0, errorString = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}, closeCode = 0 '\000', ok = true, skipSignature = false}
             sub = <optimized out>
             s = <optimized out>
             __for_range = <optimized out>
             __for_begin = <optimized out>
             __for_end = <optimized out>
      #11 QDBusMarshaller::appendVariantInternal (this=this@entry=0x7f0ebe5ff530, arg=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusmarshaller.cpp:446
             id = {d_ptr = 0x7f0ed1c896a0 <QtPrivate::QMetaTypeInterfaceWrapper<QList<QString> >::metaType>}
             signature = <optimized out>
      #12 0x00007f0ed1e77caf in QDBusMessagePrivate::toDBusMessage (message=..., capabilities=..., error=error@entry=0x7f0ebe5ff7f0)
         at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusmessage.cpp:178
             argument = @0x7eceb0014610: {d = {static MaxInternalSize = 24, data = {data = "@\3404W\266U\000\000P\3404W\266U\000\000\002\000\000\000\000\000\000", shared = 0x55b65734e040,  
                   _forAlignment = 4.6561554504442892e-310}, is_shared = 0, is_null = 0, packedType = 34925406463400}}
             __for_range = <optimized out>
             __for_begin = <optimized out>
             __for_end = <optimized out>
             msg = 0x7f0eb8023300
             d_ptr = <optimized out>
             marshaller = {<QDBusArgumentPrivate> = {_vptr.QDBusArgumentPrivate = 0x7f0ed1ed6120 <vtable for QDBusMarshaller+16>, message = 0x0,  
                 ref = {<QAtomicInteger<int>> = {<QBasicAtomicInteger<int>> = {_q_value = std::atomic<int> = { 1 }}, <No data fields>{color:#000000}}, <No data fields>{color:#000000}}, capabilities = {i = 1},  
                 direction = QDBusArgumentPrivate::Direction::Marshalling{color:#000000}}, iterator = {dummy1 = 0x7f0eb8023300, dummy2 = 0x7f0e01e00000, dummy3 = 3193831532, dummy4 = 32526,  
                 dummy5 = -1338954128, dummy6 = 32462, dummy7 = 2, dummy8 = 250, dummy9 = -1207815344, dummy10 = 32526, dummy11 = 0, pad1 = 32462, pad2 = 0x7f0ebe5ff5e0,  
                 pad3 = 0x7f0ebe5ff57f{color:#000000}}, parent = 0x0, ba = 0x0, errorString = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}, closeCode = 0 '\000', ok = true,  
               skipSignature = false}
      #13 0x00007f0ed1e529a1 in QDBusConnectionPrivate::send (this=0x7f0eb8001450, message=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qflags.h:34
             error = {code = QDBusError::NoError, msg = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'}, nm = {d = {d = 0x0, ptr = 0x0, size = 0}, static _empty = 0 u'\000'},  
               unused = 0x7f0ebe5ff990{color:#000000}}
             msg
      = <optimized out>
      #14 0x00007f0ed1e53077 in QDBusConnectionPrivate::send (this=<optimized out>, message=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusintegrator.cpp:1967
             error = <optimized out>
             msg = <optimized out>
             qt_category = <optimized out>
             qt_category = <optimized out>
             qt_category = <optimized out>
      #15 0x00007f0ed1e43f5e in QDBusConnection::send (this=<optimized out>, message=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusconnection.cpp:316
      No locals.
      #16 0x000055b655c6bfdf in (anonymous namespace)::sendChangedSignal (updatedFiles=...) at /usr/src/debug/kf6-baloo-6.7.0-1.fc40.x86_64/src/file/filecontentindexer.cpp:27
             message = {d_ptr = 0x7eceb02f4840{color:#000000}}
             message
      = <optimized out>

      (...)

      ```

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            thiago Thiago Macieira
            alexde Alex Debus
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes