From kde-core-devel Mon Jan 30 08:05:50 2012 From: =?utf-8?q?Cristian_One=C8=9B?= Date: Mon, 30 Jan 2012 08:05:50 +0000 To: kde-core-devel Subject: Re: Review Request: Fix a VLC crash by delaying object deletion to avoid invalid access by QtDBus Message-Id: <20120130080550.538.66093 () vidsolbach ! de> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=132791097410565 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============6395269180694477299==" --===============6395269180694477299== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/100577/#review10221 ----------------------------------------------------------- I think this is the same crash that happens every time in kioslave.exe whil= e closing a KDE on Windows application, since KDE 4.7. - Cristian One=C8=9B On Jan. 30, 2012, 6:35 a.m., Dawit Alemayehu wrote: > = > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/100577/ > ----------------------------------------------------------- > = > (Updated Jan. 30, 2012, 6:35 a.m.) > = > = > Review request for kdelibs and Thiago Macieira. > = > = > Description > ------- > = > 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 g= et 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 ou= t 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 on= ly common thing between the crash at KBookmarkmanager and KIO::Scheduler wa= s that in both cases the backtrace shows QtDBus attempting to invoke or acc= ess some method or slot in the object that was just destroyed. At this poin= t I decided to check how many other classes in KIO register themselves with= QtDBus and found only one more. I then applied the same changes to all thr= ee, defering the deletion of any object registered with QtDBus using QObje= ct::deleteLater, and the crashing went away. > = > Anyhow, I have no idea why the crashes are only seen with this applicatio= n. I was not able to duplicate the crash using the same sequences in anothe= r Qt only app, Arora or any of the other KDE applications I tried. > = > = > This addresses bug 234484. > http://bugs.kde.org/show_bug.cgi?id=3D234484 > = > = > Diffs > ----- > = > kio/bookmarks/kbookmarkmanager.cc d8a9cb7 = > kio/kio/fileundomanager.cpp f580c29 = > kio/kio/scheduler.cpp 6b36d9d = > = > Diff: http://git.reviewboard.kde.org/r/100577/diff/diff > = > = > Testing > ------- > = > = > Thanks, > = > Dawit Alemayehu > = > --===============6395269180694477299== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable
This is an automatically generated e-mail. To reply, visit: http://git.revie= wboard.kde.org/r/100577/

I think th=
is is the same crash that happens every time in kioslave.exe while closing =
a KDE on Windows application, since KDE 4.7.

- Cristian


On January 30th, 2012, 6:35 a.m., Dawit Alemayehu wrote:

Review request for kdelibs and Thiago Macieira.
By Dawit Alemayehu.

Updated Jan. 30, 2012, 6:35 a.m.

Descripti= on

As described in the bug report when opening the file dialog,=
 canceling it and exiting VLC causes the application to seg fault. The back=
traces posted in the bug report shows that the crash happens somewhere in Q=
tDBus 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 t=
hat register themselves with QtDBus cause the crash. I only found that out =
because fixing the crash in KIO::Scheduler by defering its deletion using d=
eleteLater() did not prevent the application from still crashing on exit. H=
owever, 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 acces=
s 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 Q=
tDBus and found only one more. I then applied the same changes to all three=
,  defering the deletion of any object registered with QtDBus using QObject=
::deleteLater, and the crashing went away.

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 or any of the other KDE applications I tried.
Bugs: 234484

Diffs=

  • kio/bookmarks/kbookmarkmanager.cc (d8a9cb7= )
  • kio/kio/fileundomanager.cpp (f580c29)
  • kio/kio/scheduler.cpp (6b36d9d)

View Diff

--===============6395269180694477299==--