https://bugs.kde.org/show_bug.cgi?id=364447
Bug ID: 364447
Summary: Random segfault at exit
Product: choqok
Version: Git
Platform: Compiled Sources
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
Assignee: mehrdad.mom...@gmail.com
Reporter: shadowm2...@gmail.com
CC: scarp...@kde.org
The Git master version as of 136e9f27f25d85d2573d9f0eede6963818cdba20 sometimes
segfaults at exit. This happens silently (the KDE crash handler doesn't appear)
other than a line like the following being written to the system log:
[196447.905520] choqok[8551]: segfault at 7fef761fb340 ip 004106cb sp
7ffd87cb0ac0 error 4 in choqok[40+23000]
I have not been able to obtain a backtrace from gdb thus far because the bug
seems to elude observation when under a debugger, but I was able to get this
from Valgrind (using master @ 6b646e86a466bdb92966092826c18a50f4aefe34 for line
numbers), which might be related. These are the only invalid memory accesses
reported by Valgrind otherwise:
==27682== Invalid read of size 4
==27682==at 0xA3BAFD0: QCoreApplicationPrivate::deref() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0xA3B5CA3: QEventLoopLocker::~QEventLoopLocker() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0x5082703: Choqok::PluginManager::~PluginManager()
(pluginmanager.cpp:100)
==27682==by 0x5085E9C:
Choqok::PluginManagerPrivate::~PluginManagerPrivate() (pluginmanager.cpp:49)
==27682==by 0x50825AB: Choqok::(anonymous
namespace)::Q_QGS__kpmp::innerFunction()::Holder::~Holder()
(pluginmanager.cpp:87)
==27682==by 0xAED1DE7: __run_exit_handlers (in
/lib/x86_64-linux-gnu/libc-2.22.so)
==27682==by 0xAED1E34: exit (in /lib/x86_64-linux-gnu/libc-2.22.so)
==27682==by 0xAEBC5F6: (below main) (in /lib/x86_64-linux-gnu/libc-2.22.so)
==27682== Address 0x16d32c00 is 112 bytes inside a block of size 352 free'd
==27682==at 0x4C2B2CB: operator delete(void*) (vg_replace_malloc.c:575)
==27682==by 0xA3EBF2B: QObject::~QObject() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0xA3B9B61: QCoreApplication::~QCoreApplication() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0x939A523: QApplication::~QApplication() (in
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.6.1)
==27682==by 0x507E891: Choqok::Application::~Application()
(application.cpp:42)
==27682==by 0x40BD10: ChoqokApplication::~ChoqokApplication()
(choqokapplication.cpp:50)
==27682==by 0x418AA4: main (main.cpp:77)
==27682== Block was alloc'd at
==27682==at 0x4C2A16F: operator new(unsigned long)
(vg_replace_malloc.c:333)
==27682==by 0x939F83D: QApplication::QApplication(int&, char**, int) (in
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.6.1)
==27682==by 0x507E82C: Choqok::Application::Application(int&, char**)
(application.cpp:38)
==27682==by 0x40BAF8: ChoqokApplication::ChoqokApplication(int&, char**)
(choqokapplication.cpp:33)
==27682==by 0x418907: main (main.cpp:77)
==27682==
==27682== Invalid read of size 4
==27682==at 0xA3BAF30: QCoreApplicationPrivate::maybeQuit() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0xA3B5CA3: QEventLoopLocker::~QEventLoopLocker() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0x5082703: Choqok::PluginManager::~PluginManager()
(pluginmanager.cpp:100)
==27682==by 0x5085E9C:
Choqok::PluginManagerPrivate::~PluginManagerPrivate() (pluginmanager.cpp:49)
==27682==by 0x50825AB: Choqok::(anonymous
namespace)::Q_QGS__kpmp::innerFunction()::Holder::~Holder()
(pluginmanager.cpp:87)
==27682==by 0xAED1DE7: __run_exit_handlers (in
/lib/x86_64-linux-gnu/libc-2.22.so)
==27682==by 0xAED1E34: exit (in /lib/x86_64-linux-gnu/libc-2.22.so)
==27682==by 0xAEBC5F6: (below main) (in /lib/x86_64-linux-gnu/libc-2.22.so)
==27682== Address 0x16d32c00 is 112 bytes inside a block of size 352 free'd
==27682==at 0x4C2B2CB: operator delete(void*) (vg_replace_malloc.c:575)
==27682==by 0xA3EBF2B: QObject::~QObject() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0xA3B9B61: QCoreApplication::~QCoreApplication() (in
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.6.1)
==27682==by 0x939A523: QApplication::~QApplication() (in
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.6.1)
==27682==by 0x507E891: Choqok::Application::~Application()
(application.cpp:42)
==27682==by 0x40BD10: ChoqokApplication::~ChoqokApplication()
(choqokapplication.cpp:50)
==27682==by 0x418AA4: main (main.cpp:77)
==27682== Block was alloc'd at
==27682==at 0x4C2A16F: operator new(unsigned long)
(vg_replace_malloc.c:333)
==27682==by 0x939F83D: QApplication::QApplication(int&, char**, int) (in
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.6.1)
==27682==by 0x507E82C: Choqok::Applicatio