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

qdoc: Crash at QString::operator+=()

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 6.2.3, 6.3
    • Fix Version/s: 6.2.3, 6.3.0 Alpha
    • Component/s: Build tools: qdoc
    • Labels:
      None
    • Commits:
      11409f4c02 (qt/qtbase/dev) 11409f4c02 (qt/tqtc-qtbase/dev) 4b2c03a6de (qt/qtbase/6.2) 5e45fe2a4e (qt/qtbase/6.3) 4b2c03a6de (qt/tqtc-qtbase/6.2) 5e45fe2a4e (qt/tqtc-qtbase/6.3)

      Description

      The recent optimizations for QStringBuilder cause QDoc to crash for multiple Qt modules.
      For example, backtrace for qdoc running in generate phase in qtopengl:

       Thread 1 "qdoc" received signal SIGABRT, Aborted.
      0x00007ffff24cf438 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
      54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
      (gdb) bt
      #0  0x00007ffff24cf438 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
      #1  0x00007ffff24d103a in __GI_abort () at abort.c:89
      #2  0x00007ffff25117fa in __libc_message (do_abort=2, fmt=fmt@entry=0x7ffff262af98 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
      #3  0x00007ffff251ae0b in malloc_printerr (ar_ptr=0x7ffff285eb20 <main_arena>, ptr=0x55e9c90, str=0x7ffff2627d35 "corrupted size vs. prev_size", action=3) at malloc.c:5020
      #4  _int_free (av=0x7ffff285eb20 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:4021
      #5  0x00007ffff251e58c in __GI___libc_free (mem=<optimized out>) at malloc.c:2975
      #6  0x00007ffff31cc082 in QArrayData::deallocate (data=0x55e9a90, objectSize=2, alignment=8) at qtbase/src/corelib/tools/qarraydata.cpp:279
      #7  0x00007ffff2f6399a in QTypedArrayData<char16_t>::deallocate (data=0x55e9a90) at qtbase/include/QtCore/../../src/corelib/tools/qarraydata.h:160
      #8  0x00007ffff2f6305e in QArrayDataPointer<char16_t>::~QArrayDataPointer (this=0x7fffffffc350, __in_chrg=<optimized out>)
          at qtbase/include/QtCore/../../src/corelib/tools/qarraydatapointer.h:131
      #9  0x00007ffff3135cf2 in QArrayDataPointer<char16_t>::operator= (this=0x7fffffffc550, other=...) at qtbase/include/QtCore/../../src/corelib/tools/qarraydatapointer.h:92
      #10 0x00007ffff317dfb6 in QString::reallocData (this=0x7fffffffc550, alloc=236, option=QArrayData::Grow) at qtbase/src/corelib/text/qstring.cpp:2634
      #11 0x00007ffff317dd55 in QString::resize (this=0x7fffffffc550, size=236) at qtbase/src/corelib/text/qstring.cpp:2524
      #12 0x000000000048f4c3 in operator+=<char [4], QString> (a=..., b=...) at qtbase/include/QtCore/../../src/corelib/text/qstringbuilder.h:487
      #13 0x000000000048a897 in CppCodeMarker::markedUpSynopsis (this=0x7fffffffd4a8, node=0x356f250, style=Section::Details) at qttools/src/qdoc/cppcodemarker.cpp:146
      #14 0x000000000057527f in HtmlGenerator::generateSynopsis (this=0x7fffffffd980, node=0x356f250, relative=0x35532a0, marker=0x7fffffffd4a8, style=Section::Details, alignNames=false,
          prefix=0x0) at qttools/src/qdoc/htmlgenerator.cpp:3075
      #15 0x00000000005777b2 in HtmlGenerator::generateDetailedMember (this=0x7fffffffd980, node=0x356f250, relative=0x35532a0, marker=0x7fffffffd4a8) at qttools/src/qdoc/htmlgenerator.cpp:3385
      #16 0x0000000000565431 in HtmlGenerator::generateCppReferencePage (this=0x7fffffffd980, aggregate=0x35532a0, marker=0x7fffffffd4a8) at qttools/src/qdoc/htmlgenerator.cpp:1151
      #17 0x0000000000522843 in Generator::generateDocumentation (this=0x7fffffffd980, node=0x35532a0) at qttools/src/qdoc/generator.cpp:1086
      #18 0x0000000000522bf7 in Generator::generateDocumentation (this=0x7fffffffd980, node=0x3488d90) at qttools/src/qdoc/generator.cpp:1111
      #19 0x00000000005264d7 in Generator::generateDocs (this=0x7fffffffd980) at qttools/src/qdoc/generator.cpp:1560
      #20 0x000000000055e168 in HtmlGenerator::generateDocs (this=0x7fffffffd980) at qttools/src/qdoc/htmlgenerator.cpp:259
      #21 0x000000000058e42c in processQdocconfFile (fileName=...) at qttools/src/qdoc/main.cpp:508
      #22 0x000000000058ebc7 in main (argc=10, argv=0x7fffffffe118) at qttools/src/qdoc/main.cpp:598

        Attachments

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

          Activity

            People

            Assignee:
            mmutz Marc Mutz
            Reporter:
            treinio Topi Reiniƶ
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: