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

Lupdate crashes with segmentation fault

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 5.15.2
    • Tools: Linguist
    • None
    • Linux/X11

    Description

      I was running lupdate and it crashed with a segmentation fault.

      I'm using Qt 5.15.2 installed from Ubuntu packages. I was able to install the debug symbols as well and pull some info from gdb

       

      Program received signal SIGSEGV, Segmentation fault.
      0x00007ffff7994fa5 in QString::append(QString const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      (gdb) bt
      #0  0x00007ffff7994fa5 in QString::append(QString const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      #1  0x00005555555af343 in QString::operator+= (s=..., this=0x7fffffffd3e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:569
      #2  CppParser::handleTr (this=this@entry=0x7fffffffd380, prefix=..., plural=false) at cpp.cpp:1514
      #3  0x00005555555b304e in CppParser::parseInternal (this=this@entry=0x7fffffffd380, cd=..., includeStack=..., inclusions=...) at cpp.cpp:1935
      #4  0x00005555555b3a90 in CppParser::parse (this=this@entry=0x7fffffffd380, cd=..., includeStack=..., inclusions=...) at cpp.cpp:1666
      #5  0x00005555555b3c93 in loadCPP (translator=..., filenames=..., cd=...) at cpp.cpp:2251
      #6  0x000055555559a578 in processSources (fetchedTor=..., sourceFiles=..., cd=...) at main.cpp:516
      #7  0x0000555555571e5b in main (argc=<optimized out>, argv=<optimized out>) at main.cpp:1000
      (gdb) frame 0
      #0  0x00007ffff7994fa5 in QString::append(QString const&) () from /lib/x86_64-linux-gnu/libQt5Core.so.5
      (gdb) info args
      No symbol table info available.
      (gdb) info locals
      No symbol table info available.
      (gdb) frame 1
      #1  0x00005555555af343 in QString::operator+= (s=..., this=0x7fffffffd3e0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:569
      569         inline QString &operator+=(const QString &s) { return append(s); }
      (gdb) info args
      s = <optimized out>
      this = 0x7fffffffd3e0
      (gdb) frame 2
      #2  CppParser::handleTr (this=this@entry=0x7fffffffd380, prefix=..., plural=false) at cpp.cpp:1514
      1514    cpp.cpp: No such file or directory.
      (gdb) info args
      this = 0x7fffffffd380
      prefix = @0x7fffffffd240: {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}
      plural = false
      (gdb) info locals
      i = <optimized out>
      idx = <optimized out>
      fctx = 0x5555556e8058
      line = 26
      (gdb) frame 3
      #3  0x00005555555b304e in CppParser::parseInternal (this=this@entry=0x7fffffffd380, cd=..., includeStack=..., inclusions=...) at cpp.cpp:1935
      1935    in cpp.cpp
      (gdb) info args
      this = 0x7fffffffd380
      cd = @0x7fffffffd860: {m_defaultContext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_sourceIsUtf16 = false, m_unTrPrefix = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_sourceFileName = {static null = {<No data fields>}, 
          d = 0x55555562f950}, m_targetFileName = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_excludes = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_sourceDir = {d_ptr = {d = 0x55555563bed0}}, 
        m_targetDir = {d_ptr = {d = 0x55555563c3e0}}, m_projectRoots = {q_hash = {{d = 0x555555630e50, e = 0x555555630e50}}}, m_allCSources = {<QHash<QString, QString>> = {{d = 0x7ffff7be93e0 <QHashData::shared_null>, e = 0x7ffff7be93e0 <QHashData::shared_null>}}, <No data fields>}, 
        m_includePath = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, 
                d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_dropTags = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, 
        m_errors = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, 
                d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_verbose = false, m_ignoreUnfinished = false, m_sortContexts = false, m_noUiLines = false, m_idBased = false, m_saveMode = SaveEverything}
      includeStack = @0x7fffffffd328: {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, 
                array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}
      inclusions = @0x7fffffffd320: {q_hash = {{d = 0x7ffff7be93e0 <QHashData::shared_null>, e = 0x7ffff7be93e0 <QHashData::shared_null>}}}
      (gdb) info locals
      forcePlural = <optimized out>
      strColons = {static null = {<No data fields>}, d = 0x555555643850}
      prefix = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}
      yyTokColonSeen = false
      yyTokIdentSeen = false
      (gdb) frame 4
      #4  0x00005555555b3a90 in CppParser::parse (this=this@entry=0x7fffffffd380, cd=..., includeStack=..., inclusions=...) at cpp.cpp:1666
      1666    in cpp.cpp
      (gdb) info args
      this = 0x7fffffffd380
      cd = @0x7fffffffd860: {m_defaultContext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_sourceIsUtf16 = false, m_unTrPrefix = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_sourceFileName = {static null = {<No data fields>}, 
          d = 0x55555562f950}, m_targetFileName = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, m_excludes = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_sourceDir = {d_ptr = {d = 0x55555563bed0}}, 
        m_targetDir = {d_ptr = {d = 0x55555563c3e0}}, m_projectRoots = {q_hash = {{d = 0x555555630e50, e = 0x555555630e50}}}, m_allCSources = {<QHash<QString, QString>> = {{d = 0x7ffff7be93e0 <QHashData::shared_null>, e = 0x7ffff7be93e0 <QHashData::shared_null>}}, <No data fields>}, 
        m_includePath = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, 
                d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_dropTags = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {
                          static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, 
        m_errors = {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, 
                d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}, m_verbose = false, m_ignoreUnfinished = false, m_sortContexts = false, m_noUiLines = false, m_idBased = false, m_saveMode = SaveEverything}
      includeStack = @0x7fffffffd328: {<QList<QString>> = {<QListSpecialMethods<QString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, 
                array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, <No data fields>}
      inclusions = @0x7fffffffd320: {q_hash = {{d = 0x7ffff7be93e0 <QHashData::shared_null>, e = 0x7ffff7be93e0 <QHashData::shared_null>}}}
      (gdb) info locals
      No locals.
      (gdb) frame 2
      #2  CppParser::handleTr (this=this@entry=0x7fffffffd380, prefix=..., plural=false) at cpp.cpp:1514
      1514    in cpp.cpp
      (gdb) p *this
      $3 = {yyFileName = {static null = {<No data fields>}, d = 0x55555563e890}, yyCh = 59, yyAtNewline = false, yyWord = {static null = {<No data fields>}, d = 0x5555556eb200}, yyIfdefStack = {<QVector<CppParser::IfdefState>> = {d = 0x55555563e180}, <No data fields>}, yyBracketDepth = 0, yyBraceDepth = 3, 
        yyParenDepth = 0, yyLineNo = 26, yyCurLineNo = 26, yyBracketLineNo = 1, yyBraceLineNo = 12, yyParenLineNo = 26, yySourceCodec = 0x55555562dd90, yyInStr = {static null = {<No data fields>}, d = 0x5555556e8380}, yyInPtr = 0x5555556e884e, yyTok = CppParser::Tok_RightParen, metaExpected = true, 
        context = {static null = {<No data fields>}, d = 0x5555556e8000}, text = {static null = {<No data fields>}, d = 0x5555556ebb40}, comment = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, extracomment = {static null = {<No data fields>}, 
          d = 0x7ffff7be8960 <QArrayData::shared_null>}, msgid = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, sourcetext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, extra = {{d = 0x7ffff7be93e0 <QHashData::shared_null>, 
            e = 0x7ffff7be93e0 <QHashData::shared_null>}}, namespaces = {<QListSpecialMethods<HashString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, 
                begin = 0, end = 0, array = {0x0}}, d = 0x5555556e9820}, d = 0x5555556e9820}}, namespaceDepths = {<QVector<int>> = {d = 0x5555556e8a70}, <No data fields>}, functionContext = {<QListSpecialMethods<HashString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {
                    _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x5555556e9820}, d = 0x5555556e9820}}, functionContextUnresolved = {static null = {<No data fields>}, 
          d = 0x7ffff7be8960 <QArrayData::shared_null>}, prospectiveContext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, pendingContext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, results = 0x5555556e8050, tor = 0x5555556db1d0, 
        directInclude = false, savedState = {namespaces = {<QListSpecialMethods<HashString>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, 
                  array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, d = 0x7ffff7be9470 <QListData::shared_null>}}, namespaceDepths = {<QVector<int>> = {d = 0x7ffff7be8960 <QArrayData::shared_null>}, <No data fields>}, functionContext = {<QListSpecialMethods<HashString>> = {<No data fields>}, {
              p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, static is_always_lock_free = true}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7ffff7be9470 <QListData::shared_null>}, 
              d = 0x7ffff7be9470 <QListData::shared_null>}}, functionContextUnresolved = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}, pendingContext = {static null = {<No data fields>}, d = 0x7ffff7be8960 <QArrayData::shared_null>}}, yyMinBraceDepth = 0, 
        inDefine = false}
      
      

       

      Attachments

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

        Activity

          People

            kkohne Kai Köhne
            glax Mattia Basaglia
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes