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