[Akonadi] [Bug 394071] Kmail crash after searching message

2018-07-05 Thread Daniel Vrátil
https://bugs.kde.org/show_bug.cgi?id=394071

Daniel Vrátil  changed:

   What|Removed |Added

  Latest Commit||https://commits.kde.org/ako
   ||nadi/154cfb8fc2d2bb92e42952
   ||3ba62ce90e257f0118
   Version Fixed In||5.8.3
 Resolution|--- |FIXED
 Status|UNCONFIRMED |RESOLVED

--- Comment #2 from Daniel Vrátil  ---
Git commit 154cfb8fc2d2bb92e429523ba62ce90e257f0118 by Daniel Vrátil.
Committed on 05/07/2018 at 12:15.
Pushed by dvratil into branch 'Applications/18.04'.

Server: handle race condition on connection shutdown

When client sends a command and disconnects immediatelly it is possible
that the Connection gets mostly torn down from a nested event loop
before we get back to the main loop in handleIncomingData(),
leading to m_socket being null when we try to access it.
FIXED-IN: 5.8.3

M  +3-3src/server/connection.cpp

https://commits.kde.org/akonadi/154cfb8fc2d2bb92e429523ba62ce90e257f0118

-- 
You are receiving this mail because:
You are watching all bug changes.

[Akonadi] [Bug 394071] Kmail crash after searching message

2018-06-05 Thread Christoph Feck
https://bugs.kde.org/show_bug.cgi?id=394071

Christoph Feck  changed:

   What|Removed |Added

   Severity|normal  |crash

--- Comment #1 from Christoph Feck  ---
Analyzing the backtrace: Thread 37 crashes because of a null socket in
Akonadi::Server::Connection::handleIncomingData(). We see that Thread 1 has
already deleted Akonadi::Server::Connection.

Pasting relevant parts of the backtrace:

Thread 37 (Thread 0x7f07bedec700 (LWP 2056)):
[KCrash Handler]
#6  QLocalSocket::state (this=0x0) at socket/qlocalsocket.cpp:453
#7  0x00423178 in Akonadi::Server::Connection::handleIncomingData
(this=0x1d044d0) at /workspace/build/src/server/connection.cpp:208
#8  0x7f081e082de6 in QtPrivate::QSlotObjectBase::call (a=0x7f07bedeb950,
r=, this=) at
../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:378
#9  QSingleShotTimer::timerEvent (this=0x7f07f000da50) at kernel/qtimer.cpp:318
#10 0x7f081e077483 in QObject::event (this=0x7f07f000da50, e=) at kernel/qobject.cpp:1268
#11 0x7f081e0493bb in doNotify (event=0x7f07bedeba70,
receiver=0x7f07f000da50) at kernel/qcoreapplication.cpp:1134

Thread 1 (Thread 0x7f081f7d2900 (LWP 1744)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at
../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x7f081de6d5b6 in QWaitConditionPrivate::wait_relative (time=1,
this=0x1d06790) at thread/qwaitcondition_unix.cpp:133
#2  QWaitConditionPrivate::wait (time=1, this=0x1d06790) at
thread/qwaitcondition_unix.cpp:141
#3  QWaitCondition::wait (this=this@entry=0x1d03f70,
mutex=mutex@entry=0x1d03f50, time=time@entry=1) at
thread/qwaitcondition_unix.cpp:215
#4  0x7f081de6c28e in QThread::wait (this=,
time=time@entry=1) at thread/qthread_unix.cpp:741
#5  0x0052635a in Akonadi::Server::AkThread::quitThread
(this=this@entry=0x1d044d0) at /workspace/build/src/server/akthread.cpp:74
#6  0x00421c4c in Akonadi::Server::Connection::~Connection
(this=0x1d044d0, __in_chrg=) at
/workspace/build/src/server/connection.cpp:170
#7  0x00421d99 in Akonadi::Server::Connection::~Connection
(this=0x1d044d0, __in_chrg=) at
/workspace/build/src/server/connection.cpp:175
#8  0x7f081e0774c9 in QObject::event (this=0x1bd8350, e=) at
kernel/qobject.cpp:1246
#9  0x7f081e0493bb in doNotify (event=0x7f07f000d960, receiver=0x1bd8350)
at kernel/qcoreapplication.cpp:1134

-- 
You are receiving this mail because:
You are watching all bug changes.