datovka-4.13.0 crashing during synchronization
datovka-4.13.0-1.fc29.x86_64 openssl-1.1.1b-5.fc29.x86_64
Just clicked the 'synchronize account" button:
#0 0x00007f257a4643cc in sqlite3DbMallocRawNN (db=0x558395aca488, n=5) at sqlite3.c:26898
#1 0x00007f257a48635c in sqlite3VdbeMemTranslate (pMem=pMem@entry=0x7f2564031578, desiredEnc=<optimized out>) at sqlite3.c:29726
#2 0x00007f257a4869d9 in sqlite3VdbeChangeEncoding (pMem=pMem@entry=0x7f2564031578, desiredEnc=<optimized out>) at sqlite3.c:74110
#3 0x00007f257a494b4e in sqlite3VdbeChangeEncoding (desiredEnc=<optimized out>, pMem=0x7f2564031578) at sqlite3.c:74099
#4 0x00007f257a494b4e in bindText (encoding=2 '\002', xDel=0x0, nData=2, zData=0x7f256402a5c8, i=<optimized out>, pStmt=0x558395d706c8) at sqlite3.c:16498
#5 0x00007f257a494b4e in bindText (pStmt=0x558395d706c8, i=<optimized out>, zData=0x7f256402a5c8, nData=2, xDel=0x0, encoding=<optimized out>) at sqlite3.c:16480
#6 0x00007f25887f4ac6 in () at /usr/lib64/qt5/plugins/sqldrivers/libqsqlite.so
#7 0x00007f2596047348 in QSqlQuery::exec() () at /lib64/libQt5Sql.so.5
#8 0x0000558393a07f75 in MessageDb::insertMessageEnvelope(Isds::Envelope const&, QString const&, MessageDirection) (
this=this@entry=0x558395d24aa0, envelope=..., _origin=..., msgDirect=msgDirect@entry=MSG_RECEIVED) at src/io/message_db.cpp:1751
#9 0x0000558393abd7c7 in Task::storeMessageEnvelope(MessageDirection, MessageDbSet&, Isds::Envelope const&) (msgDirect=msgDirect@entry=MSG_RECEIVED, dbSet=..., envelope=...)
at /usr/include/qt5/QtCore/qstring.h:693
#10 0x0000558393ac486d in TaskDownloadMessageList::downloadMessageList(QString const&, MessageDirection, MessageDbSet&, bool, QString&, QString&, QString const&, int&, int&, QList<long long>&, unsigned long*, QFlags<Isds::Type::DmFiltState>, RecMgmt::AutomaticUploadTarget const&)
(userName=..., msgDirect=MSG_RECEIVED, dbSet=..., downloadWhole=false, error=..., longError=..., progressLabel=..., total=@0x7f2579c45b68: 0, news=@0x7f2579c45b6c: 0, newMsgIdList=..., dmLimit=0x558395fcf4a0, dmStatusFilter=..., recMgmtTargets=...) at src/worker/task_download_message_list.cpp:292
#11 0x0000558393ac5c00 in TaskDownloadMessageList::run() (this=0x558395fcf460) at /usr/include/qt5/QtCore/qstring.h:693
#12 0x00005583938f6e9f in WorkerPool::run(WorkerPool*) (pool=0x5583957c63a0) at src/datovka_shared/worker/pool.cpp:234
#13 0x00007f2595c162fb in () at /lib64/libQt5Core.so.5
#14 0x00007f2595aa658e in start_thread () at /lib64/libpthread.so.0
#15 0x00007f259569c683 in clone () at /lib64/libc.so.6
It's testing account and I received there some testing messages, so there can be some malformed data.
Also the traceback changes, so there is probably some memory corruption, e.g. different traceback for the same rreproducer:
#0 0x00007fcf9c46e52d in sqlite3StrICmp (zRight=0x7fcf9c530098 "temp", zLeft=0x101000000 <error: Cannot access memory at address 0x101000000>) at sqlite3.c:30291
#1 0x00007fcf9c46e52d in sqlite3FindTable
(db=db@entry=0x564682b996d8, zName=zName@entry=0x564682e78828 "messages", zDatabase=zDatabase@entry=0x101000000 <error: Cannot access memory at address 0x101000000>) at sqlite3.c:40700
#2 0x00007fcf9c4f028f in sqlite3LocateTable (pParse=0x7fcf8dd5a4e0, flags=0, zName=0x564682e78828 "messages", zDbase=0x101000000 <error: Cannot access memory at address 0x101000000>)
at sqlite3.c:106278
#3 0x00007fcf9c4f0b81 in selectExpander (pWalker=0x7fcf8dd59740, p=0x564682e69468) at sqlite3.c:128782
#4 0x00007fcf9c473077 in sqlite3WalkSelect (pWalker=pWalker@entry=0x7fcf8dd59740, p=p@entry=0x564682e69468) at sqlite3.c:94417
#5 0x00007fcf9c4752a6 in sqlite3WalkSelect (p=0x564682e69468, pWalker=0x7fcf8dd59740) at sqlite3.c:129052
#6 0x00007fcf9c4752a6 in sqlite3SelectExpand (pSelect=0x564682e69468, pParse=0x7fcf8dd5a4e0) at sqlite3.c:63516
#7 0x00007fcf9c4752a6 in sqlite3SelectPrep (pParse=0x7fcf8dd5a4e0, p=0x564682e69468, pOuterNC=0x0) at sqlite3.c:63600
#8 0x00007fcf9c4cef48 in sqlite3Select (pParse=pParse@entry=0x7fcf8dd5a4e0, p=0x564682e69468, pDest=pDest@entry=0x7fcf8dd59ab0) at sqlite3.c:129540
#9 0x00007fcf9c501a9e in yy_reduce (yyLookahead=<optimized out>, pParse=0x7fcf8dd5a4e0, yyruleno=79, yypParser=0x7fcf8dd59ae0, yyLookaheadToken=...) at sqlite3.c:149807
#10 0x00007fcf9c501a9e in sqlite3Parser (yyminor=..., yymajor=<optimized out>, yyp=0x7fcf8dd59ae0) at sqlite3.c:19999
#11 0x00007fcf9c501a9e in sqlite3RunParser (pParse=0x7fcf8dd5a4e0, zSql=0x564682e67d2f "", pzErrMsg=0x7fcf8dd5a4d8) at sqlite3.c:21188
#12 0x00007fcf9c504550 in sqlite3Prepare
(db=db@entry=0x564682b996d8, zSql=zSql@entry=0x564682e67cf8 "SELECT dmMessageStatus FROM messages WHERE dmID = :dmId", nBytes=nBytes@entry=-1, prepFlags=prepFlags@entry=128, pReprepare=pReprepare@entry=0x0, ppStmt=ppStmt@entry=0x7fcf7800f910, pzTail=0x7fcf8dd5a740) at sqlite3.c:123309
#13 0x00007fcf9c504a96 in sqlite3LockAndPrepare
(pzTail=0x7fcf8dd5a740, ppStmt=0x7fcf7800f910, pOld=0x0, prepFlags=128, nBytes=-1, zSql=0x564682e67cf8 "SELECT dmMessageStatus FROM messages WHERE dmID = :dmId", db=0x564682b996d8)
at sqlite3.c:123402
#14 0x00007fcf9c504a96 in sqlite3LockAndPrepare
(db=0x564682b996d8, zSql=0x564682e67cf8 "SELECT dmMessageStatus FROM messages WHERE dmID = :dmId", nBytes=-1, prepFlags=128, pOld=0x0, ppStmt=0x7fcf7800f910, pzTail=0x7fcf8dd5a740)
at sqlite3.c:57841
#15 0x00007fcf9c505ae6 in sqlite3Prepare16 (db=0x564682b996d8, zSql=0x7fcf7806dcb8, nBytes=110, prepFlags=<optimized out>, ppStmt=0x7fcf7800f910, pzTail=0x7fcf8dd5a790) at sqlite3.c:123838
#16 0x00007fcf9ccb0f2b in () at /usr/lib64/qt5/plugins/sqldrivers/libqsqlite.so
#17 0x00007fcfaa519918 in QSqlResult::savePrepare(QString const&) () at /lib64/libQt5Sql.so.5
#18 0x00007fcfaa509e20 in QSqlQuery::prepare(QString const&) () at /lib64/libQt5Sql.so.5
#19 0x0000564681cac7fb in MessageDb::getMessageStatus(long long) (this=<optimized out>, dmId=6911979) at src/io/message_db.cpp:1900
#20 0x0000564681d72848 in TaskDownloadMessageList::downloadMessageList(QString const&, MessageDirection, MessageDbSet&, bool, QString&, QString&, QString const&, int&, int&, QList<long long>&, unsigned long*, QFlags<Isds::Type::DmFiltState>, RecMgmt::AutomaticUploadTarget const&)
(userName=..., msgDirect=MSG_RECEIVED, dbSet=..., downloadWhole=false, error=..., longError=..., progressLabel=..., total=@0x7fcf8dd5ab68: 0, news=@0x7fcf8dd5ab6c: 0, newMsgIdList=..., dmLimit=0x564683344060, dmStatusFilter=..., recMgmtTargets=...) at src/worker/task_download_message_list.cpp:285
#21 0x0000564681d73c00 in TaskDownloadMessageList::run() (this=0x564683344020) at /usr/include/qt5/QtCore/qstring.h:693
#22 0x0000564681ba4e9f in WorkerPool::run(WorkerPool*) (pool=0x5646828e25a0) at src/datovka_shared/worker/pool.cpp:234
#23 0x00007fcfaa0d62fb in () at /lib64/libQt5Core.so.5
#24 0x00007fcfa9f6658e in start_thread () at /lib64/libpthread.so.0
#25 0x00007fcfa9b5c683 in clone () at /lib64/libc.so.6