Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Bartosz Golaszewski
On Fri, Dec 16, 2022 at 10:39 PM Albert Astals Cid  wrote:
>
> El divendres, 16 de desembre de 2022, a les 16:20:29 (CET), Bartosz
> Golaszewski va escriure:
> > On Fri, Dec 16, 2022 at 4:05 PM Albert Astals Cid  wrote:
> > > El divendres, 16 de desembre de 2022, a les 15:45:17 (CET), Bartosz
> > >
> > > Golaszewski va escriure:
> > > > On Fri, Dec 16, 2022 at 3:27 PM Albert Astals Cid  wrote:
> > > > > El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz
> > > > > Golaszewski>
> > > > >
> > > > > va escriure:
> > > > > > Hi!
> > > > > >
> > > > > > I'm working on a piece of software that extensively uses QDBus. The
> > > > > > project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> > > > > > encountered an issue with QDBus that's described in detail in my
> > > > > > official bug report[1]. The report includes a link to a github repo
> > > > > > with reproducible examples.
> > > > > >
> > > > > > Short version is: it's impossible to connect to the InterfacesAdded
> > > > > > or
> > > > > > InterfacesRemoved signals (and potentially to any signals that have
> > > > > > slightly more complex arguments) on the system bus with QDBus in Qt6
> > > > > > (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> > > > > > suspect some timing issue/race condition but don't know Qt enough to
> > > > > > debug it.
> > > > > >
> > > > > > While my project is not related to KDE, I thought I'd bring it to
> > > > > > your
> > > > > > attention (as KDE is scheduled to upgrade to Qt6). This bug
> > > > > > definitely
> > > > > > affects KDE as for instance the networkmanager-qt project subscribes
> > > > > > for the InterfacesAdded signal of NetworkManager's paths and will no
> > > > > > longer work with Qt6.
> > > > > >
> > > > > > Has anyone in the KDE community encountered this bug yet? How does
> > > > > > KDE
> > > > > > deal with blockers like this? Seems like Qt is not eager to fix it
> > > > > > on
> > > > > > their side.
> > > > >
> > > > > Remember Qt is Free Software, if you are blocked by it, you seem like
> > > > > a
> > > > > good person to try to fix it :)
> > > >
> > > > Oh I tried and failed. :(
> > > >
> > > > So instead I thought I'd find a) paying clients, b) projects with some
> > > > serious stake in QDBus that could help and report it to them in hope
> > > > of finding help. :)
> > >
> > > Fair enough :)
> > >
> > > As a suggestion next time attach the code, don't put it in comments (and
> > > provide a full buildable example, yours doesn't have a buildsystem), makes
> > > me super sad that i have to copy and paste and i was almost super close
> > > to not even bothering trying it.
> >
> > What are you talking about, there's a link to my github repo at the
> > bottom and it includes requirements.txt for python and a .pro file for
> > Qt.
>
> For those that are not put off by his somewhat agressive manners and still 
> want
> to invest their spare time to help him, the link to github repo is hidden in
> the "here" word of the "The examples I posted are available here." in a 250
> lines comment.
>

Albert,

Sorry, it was not my intention to come off as "aggressive". Sometimes
written communication doesn't correctly convey emotions, especially if
English is a second language.

Bart


Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Albert Astals Cid
El divendres, 16 de desembre de 2022, a les 16:20:29 (CET), Bartosz 
Golaszewski va escriure:
> On Fri, Dec 16, 2022 at 4:05 PM Albert Astals Cid  wrote:
> > El divendres, 16 de desembre de 2022, a les 15:45:17 (CET), Bartosz
> > 
> > Golaszewski va escriure:
> > > On Fri, Dec 16, 2022 at 3:27 PM Albert Astals Cid  wrote:
> > > > El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz
> > > > Golaszewski>
> > > > 
> > > > va escriure:
> > > > > Hi!
> > > > > 
> > > > > I'm working on a piece of software that extensively uses QDBus. The
> > > > > project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> > > > > encountered an issue with QDBus that's described in detail in my
> > > > > official bug report[1]. The report includes a link to a github repo
> > > > > with reproducible examples.
> > > > > 
> > > > > Short version is: it's impossible to connect to the InterfacesAdded
> > > > > or
> > > > > InterfacesRemoved signals (and potentially to any signals that have
> > > > > slightly more complex arguments) on the system bus with QDBus in Qt6
> > > > > (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> > > > > suspect some timing issue/race condition but don't know Qt enough to
> > > > > debug it.
> > > > > 
> > > > > While my project is not related to KDE, I thought I'd bring it to
> > > > > your
> > > > > attention (as KDE is scheduled to upgrade to Qt6). This bug
> > > > > definitely
> > > > > affects KDE as for instance the networkmanager-qt project subscribes
> > > > > for the InterfacesAdded signal of NetworkManager's paths and will no
> > > > > longer work with Qt6.
> > > > > 
> > > > > Has anyone in the KDE community encountered this bug yet? How does
> > > > > KDE
> > > > > deal with blockers like this? Seems like Qt is not eager to fix it
> > > > > on
> > > > > their side.
> > > > 
> > > > Remember Qt is Free Software, if you are blocked by it, you seem like
> > > > a
> > > > good person to try to fix it :)
> > > 
> > > Oh I tried and failed. :(
> > > 
> > > So instead I thought I'd find a) paying clients, b) projects with some
> > > serious stake in QDBus that could help and report it to them in hope
> > > of finding help. :)
> > 
> > Fair enough :)
> > 
> > As a suggestion next time attach the code, don't put it in comments (and
> > provide a full buildable example, yours doesn't have a buildsystem), makes
> > me super sad that i have to copy and paste and i was almost super close
> > to not even bothering trying it.
> 
> What are you talking about, there's a link to my github repo at the
> bottom and it includes requirements.txt for python and a .pro file for
> Qt.

For those that are not put off by his somewhat agressive manners and still want 
to invest their spare time to help him, the link to github repo is hidden in 
the "here" word of the "The examples I posted are available here." in a 250 
lines comment.

Cheers,
  Albert




Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Bartosz Golaszewski
On Fri, Dec 16, 2022 at 4:05 PM Albert Astals Cid  wrote:
>
> El divendres, 16 de desembre de 2022, a les 15:45:17 (CET), Bartosz
> Golaszewski va escriure:
> > On Fri, Dec 16, 2022 at 3:27 PM Albert Astals Cid  wrote:
> > > El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz
> > > Golaszewski>
> > > va escriure:
> > > > Hi!
> > > >
> > > > I'm working on a piece of software that extensively uses QDBus. The
> > > > project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> > > > encountered an issue with QDBus that's described in detail in my
> > > > official bug report[1]. The report includes a link to a github repo
> > > > with reproducible examples.
> > > >
> > > > Short version is: it's impossible to connect to the InterfacesAdded or
> > > > InterfacesRemoved signals (and potentially to any signals that have
> > > > slightly more complex arguments) on the system bus with QDBus in Qt6
> > > > (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> > > > suspect some timing issue/race condition but don't know Qt enough to
> > > > debug it.
> > > >
> > > > While my project is not related to KDE, I thought I'd bring it to your
> > > > attention (as KDE is scheduled to upgrade to Qt6). This bug definitely
> > > > affects KDE as for instance the networkmanager-qt project subscribes
> > > > for the InterfacesAdded signal of NetworkManager's paths and will no
> > > > longer work with Qt6.
> > > >
> > > > Has anyone in the KDE community encountered this bug yet? How does KDE
> > > > deal with blockers like this? Seems like Qt is not eager to fix it on
> > > > their side.
> > >
> > > Remember Qt is Free Software, if you are blocked by it, you seem like a
> > > good person to try to fix it :)
> >
> > Oh I tried and failed. :(
> >
> > So instead I thought I'd find a) paying clients, b) projects with some
> > serious stake in QDBus that could help and report it to them in hope
> > of finding help. :)
>
> Fair enough :)
>
> As a suggestion next time attach the code, don't put it in comments (and
> provide a full buildable example, yours doesn't have a buildsystem), makes me
> super sad that i have to copy and paste and i was almost super close to not
> even bothering trying it.
>

What are you talking about, there's a link to my github repo at the
bottom and it includes requirements.txt for python and a .pro file for
Qt.

> And then i realized my distro doesn't seem to provide pydbus_manager so yep
> too hard to even try to reproduce for something that personally is not at all
> pressing for me yet.
>

Yeah the requirements.txt in the repo points to the relevant github repo.

Bart


Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Albert Astals Cid
El divendres, 16 de desembre de 2022, a les 15:45:17 (CET), Bartosz 
Golaszewski va escriure:
> On Fri, Dec 16, 2022 at 3:27 PM Albert Astals Cid  wrote:
> > El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz
> > Golaszewski> 
> > va escriure:
> > > Hi!
> > > 
> > > I'm working on a piece of software that extensively uses QDBus. The
> > > project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> > > encountered an issue with QDBus that's described in detail in my
> > > official bug report[1]. The report includes a link to a github repo
> > > with reproducible examples.
> > > 
> > > Short version is: it's impossible to connect to the InterfacesAdded or
> > > InterfacesRemoved signals (and potentially to any signals that have
> > > slightly more complex arguments) on the system bus with QDBus in Qt6
> > > (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> > > suspect some timing issue/race condition but don't know Qt enough to
> > > debug it.
> > > 
> > > While my project is not related to KDE, I thought I'd bring it to your
> > > attention (as KDE is scheduled to upgrade to Qt6). This bug definitely
> > > affects KDE as for instance the networkmanager-qt project subscribes
> > > for the InterfacesAdded signal of NetworkManager's paths and will no
> > > longer work with Qt6.
> > > 
> > > Has anyone in the KDE community encountered this bug yet? How does KDE
> > > deal with blockers like this? Seems like Qt is not eager to fix it on
> > > their side.
> > 
> > Remember Qt is Free Software, if you are blocked by it, you seem like a
> > good person to try to fix it :)
> 
> Oh I tried and failed. :(
> 
> So instead I thought I'd find a) paying clients, b) projects with some
> serious stake in QDBus that could help and report it to them in hope
> of finding help. :)

Fair enough :)

As a suggestion next time attach the code, don't put it in comments (and 
provide a full buildable example, yours doesn't have a buildsystem), makes me 
super sad that i have to copy and paste and i was almost super close to not 
even bothering trying it.

And then i realized my distro doesn't seem to provide pydbus_manager so yep 
too hard to even try to reproduce for something that personally is not at all 
pressing for me yet.

Cheers,
  Albert

> 
> Bart






Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Bartosz Golaszewski
On Fri, Dec 16, 2022 at 3:27 PM Albert Astals Cid  wrote:
>
> El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz Golaszewski
> va escriure:
> > Hi!
> >
> > I'm working on a piece of software that extensively uses QDBus. The
> > project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> > encountered an issue with QDBus that's described in detail in my
> > official bug report[1]. The report includes a link to a github repo
> > with reproducible examples.
> >
> > Short version is: it's impossible to connect to the InterfacesAdded or
> > InterfacesRemoved signals (and potentially to any signals that have
> > slightly more complex arguments) on the system bus with QDBus in Qt6
> > (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> > suspect some timing issue/race condition but don't know Qt enough to
> > debug it.
> >
> > While my project is not related to KDE, I thought I'd bring it to your
> > attention (as KDE is scheduled to upgrade to Qt6). This bug definitely
> > affects KDE as for instance the networkmanager-qt project subscribes
> > for the InterfacesAdded signal of NetworkManager's paths and will no
> > longer work with Qt6.
> >
> > Has anyone in the KDE community encountered this bug yet? How does KDE
> > deal with blockers like this? Seems like Qt is not eager to fix it on
> > their side.
>
> Remember Qt is Free Software, if you are blocked by it, you seem like a good
> person to try to fix it :)
>

Oh I tried and failed. :(

So instead I thought I'd find a) paying clients, b) projects with some
serious stake in QDBus that could help and report it to them in hope
of finding help. :)

Bart


Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Albert Astals Cid
El dijous, 15 de desembre de 2022, a les 19:55:59 (CET), Bartosz Golaszewski 
va escriure:
> Hi!
> 
> I'm working on a piece of software that extensively uses QDBus. The
> project is based on Qt5. I'm trying to upgrade it to Qt6 but have
> encountered an issue with QDBus that's described in detail in my
> official bug report[1]. The report includes a link to a github repo
> with reproducible examples.
> 
> Short version is: it's impossible to connect to the InterfacesAdded or
> InterfacesRemoved signals (and potentially to any signals that have
> slightly more complex arguments) on the system bus with QDBus in Qt6
> (unless one enables QDBUS_DEBUG=1 in which case it's possible). I
> suspect some timing issue/race condition but don't know Qt enough to
> debug it.
> 
> While my project is not related to KDE, I thought I'd bring it to your
> attention (as KDE is scheduled to upgrade to Qt6). This bug definitely
> affects KDE as for instance the networkmanager-qt project subscribes
> for the InterfacesAdded signal of NetworkManager's paths and will no
> longer work with Qt6.
> 
> Has anyone in the KDE community encountered this bug yet? How does KDE
> deal with blockers like this? Seems like Qt is not eager to fix it on
> their side.

Remember Qt is Free Software, if you are blocked by it, you seem like a good 
person to try to fix it :)

Cheers,
  Albert

> 
> Best regards,
> Bartosz Golaszewski
> 
> [1] https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-108822






Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-16 Thread Thiago Macieira
On Thursday, 15 December 2022 18:34:54 -03 Kai Uwe Broulik wrote:
> thanks for bringing that up. Indeed, at least Solid, KDE’s Hardware
> Abstraction Framework, makes use of InterfacesAdded/InterfacesRemoved
> extensively when talking to UDisks for monitoring storage devices.
> 
> That said, I haven’t tried Solid on Qt 6 yet, so I don’t know if it is a
> real-world issue for this scenario.

The issue appears to be a race condition, because strace shows everything 
working as it should and the use of QDBUS_DEBUG=1 will affect timing. That also 
means the issue is likely a Heisenbug and difficult to debug.

It might also be a latent issue in Qt 5 that got exposed by faster 
functionality somewhere in QtCore, because there have been no changes to 
QtDBus to account for this (it has barely received any changes since 5.6).

Someone needs to debug it and I don't have the time.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel DCAI Cloud Engineering





Re: Major QDBus regression in Qt6 with potential impact on KDE

2022-12-15 Thread Kai Uwe Broulik

Hi,

thanks for bringing that up. Indeed, at least Solid, KDE’s Hardware 
Abstraction Framework, makes use of InterfacesAdded/InterfacesRemoved 
extensively when talking to UDisks for monitoring storage devices.


That said, I haven’t tried Solid on Qt 6 yet, so I don’t know if it is a 
real-world issue for this scenario.


Cheers
Kai Uwe


Major QDBus regression in Qt6 with potential impact on KDE

2022-12-15 Thread Bartosz Golaszewski
Hi!

I'm working on a piece of software that extensively uses QDBus. The
project is based on Qt5. I'm trying to upgrade it to Qt6 but have
encountered an issue with QDBus that's described in detail in my
official bug report[1]. The report includes a link to a github repo
with reproducible examples.

Short version is: it's impossible to connect to the InterfacesAdded or
InterfacesRemoved signals (and potentially to any signals that have
slightly more complex arguments) on the system bus with QDBus in Qt6
(unless one enables QDBUS_DEBUG=1 in which case it's possible). I
suspect some timing issue/race condition but don't know Qt enough to
debug it.

While my project is not related to KDE, I thought I'd bring it to your
attention (as KDE is scheduled to upgrade to Qt6). This bug definitely
affects KDE as for instance the networkmanager-qt project subscribes
for the InterfacesAdded signal of NetworkManager's paths and will no
longer work with Qt6.

Has anyone in the KDE community encountered this bug yet? How does KDE
deal with blockers like this? Seems like Qt is not eager to fix it on
their side.

Best regards,
Bartosz Golaszewski

[1] https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-108822