Review Request: Fix a VLC crash by delaying object deletion to avoid invalid access by QtDBus...

Dawit Alemayehu adawit at kde.org
Tue Apr 12 23:22:10 BST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100577/
-----------------------------------------------------------

(Updated April 12, 2011, 10:22 p.m.)


Review request for kdelibs and Thiago Macieira.


Changes
-------

Thiago, 

A reminder for you to look into this crash when you get a chance[1]. Otherwise, we would have to commit the workaround patch posted in this review.

[1] http://lists.kde.org/?l=kde-core-devel&m=129693527318658&w=2


Summary
-------

As described in the bug report when opening the file dialog, canceling it and exiting VLC causes the application to seg fault. The backtraces posted in the bug report shows that the crash happens somewhere in QtDBus and I get a similar backtrace when using v1.1.7 of this application. 

When I looked into this issue what I discovered was that only KIO classes that register themselves with QtDBus cause the crash. I only found that out because fixing the crash in KIO::Scheduler by defering its deletion using deleteLater() did not prevent the application from still crashing on exit. However, the crash had moved to another location, KBookmarkManager. The only common thing between the crash at KBookmarkmanager and KIO::Scheduler was that in both cases the backtrace shows QtDBus attempting to invoke or access some method or slot in the object that was just destroyed. At this point I decided to check how many other classes in KIO register themselves with QtDBS and found only one and applied the same change to all three, defer deletion of any object registered with QtDBus using QObject::deleteLater. 

Anyhow, I have no idea why the crashes are only seen with this application. I was not able to duplicate the crash using the same sequences in another Qt only app, Arora and none of the KDE applications I tried.


This addresses bug 234484.
    http://bugs.kde.org/show_bug.cgi?id=234484


Diffs
-----

  kio/kio/scheduler.cpp d5fab85 
  kio/bookmarks/kbookmarkmanager.cc 9086fd2 
  kio/kio/fileundomanager.cpp ca1cbbb 

Diff: http://git.reviewboard.kde.org/r/100577/diff


Testing
-------


Thanks,

Dawit

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110412/6787e335/attachment.htm>


More information about the kde-core-devel mailing list