Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.15.2
-
None
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}