[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [QtCurve] [Bug 363753] crash-at-exit in QtCurve::Style::disconnectDBus
From:       RJVB <bugzilla_noreply () kde ! org>
Date:       2017-04-26 20:16:06
Message-ID: bug-363753-17878-QqyCyNboBn () http ! bugs ! kde ! org/
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=363753

--- Comment #47 from RJVB <rjvbertin@gmail.com> ---
(In reply to Yichao Yu from comment #45)

> I just tested it and it seems to still happen on 17.04 It can be triggered
> by any programes I've tested that end up not showing a UI by itself `konsole
> --help` for example.

I cannot reproduce that - with my patch in place. If your reasoning is correct
that patch should make me vulnerable to the crash.

What I can confirm is that Style::connectDBus() is called (exactly once in this
case), but not the Style dtor. That's a bit surprising to me, somewhere I was
under the impression that class dtors were always called even if you don't
delete them explicitly.

There's no way to use something like a Q*Pointer class to get automatic
deleting of those Style instances?

But good, if you can reproduce it you can also try to figure out what other
methods there are to avoid it.

What Qt version are you using?

> I believe that's effectly the same. The closure isn't what's causing the
> crash.

Effectively the same but with the closure we don't really know where the Style
instance pointer comes from. That's what I hinted at earlier; if the cleanup
closure is registered twice for the same instance it's not certain how valid
the this pointer ("data") is when called the 2nd time. Seems farfetched, I
know, but we're dealing with an issue here that we don't really understand, so
the mechanism to prevent it should be as easy to understand and verify as
possible.

-- 
You are receiving this mail because:
You are watching all bug changes.=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic