Review Request 120150: [OS X] prevent another crash after finishing a code difference review
René J.V. Bertin
rjvbertin at gmail.com
Fri Sep 12 11:28:21 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120150/
-----------------------------------------------------------
(Updated Sept. 12, 2014, 1:28 p.m.)
Review request for KDE Software on Mac OS X, KDevelop and Olivier Goffart.
Changes
-------
This change should show the ASSERT statements I inserted, and was uploaded to see if I'd get a crash. It seems the objects that might be `deleteLater`'ed instead of deleted are all `QPointer`s to a kdevplatform type, so I used an ASSERT of `object->thread()` just before the delete rather than an ASSERT on `thread()` in the destructor (which ought to be the QPointer destructor, I guess).
I did the review and upload while the background parser was doing its thing (had to restart kdevelop of course), and while I didn't get a crash, the process does hang now. After attaching, gdb shows this backtrace:
Program received signal SIGINT, Interrupt.
0x00007fff85f3c932 in select$DARWIN_EXTSN ()
(gdb) bt
#0 0x00007fff85f3c932 in select$DARWIN_EXTSN ()
#1 0x0000000102e142dd in qt_safe_select ()
#2 0x0000000102db4b18 in select_msecs ()
#3 0x0000000102db61a3 in QProcessPrivate::waitForFinished ()
#4 0x0000000102d6882a in QProcess::waitForFinished ()
#5 0x0000000102d68afe in QProcess::~QProcess ()
#6 0x0000000128494f02 in GccLikeCompiler::defines (this=0x123d75690) at /Volumes/Debian/MacPorts/var/macports/build/_Volumes_Debian_MacPorts_site-ports_kde_kdevelop-git/kdevelop-git/work/kdevelop-git-4.7.60/languages/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp:48
#7 0x000000013024d324 in ?? ()
Previous frame inner to this frame (gdb could not unwind past this frame)
The changes to the CMake file are probably a Macports-specific thing.
Repository: kdevplatform
Description
-------
In https://reviewboard.kde.org/r/120081/ I proposed an (accepted) approach to prevent kdevelop from crashing after closing the patch review ("git/show differences") toolview. I had another of those crashes after heavier-than-usual perusal of the toolview, despite the previous patch. The attached patch replaces all `delete`s of `QObject` derived class instances with `deleteLater()`.
Diffs (updated)
-----
language/CMakeLists.txt 3c790a4
plugins/patchreview/patchreview.cpp 18b63db
Diff: https://git.reviewboard.kde.org/r/120150/diff/
Testing
-------
kdevplatform git/kde4-legacy on KDE/MacPorts OS X 10.6.8 .
Thanks,
René J.V. Bertin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20140912/b8467e7e/attachment.html>
More information about the KDevelop-devel
mailing list