[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: [Ksecretservice-devel] Call for help sorting out bizarre bug
From: Valentin Rusu <kde () rusu ! info>
Date: 2011-10-09 11:06:32
Message-ID: 4E918038.4060501 () rusu ! info
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
Hello again!
This blog post helped me to understand and fix it:
http://randomguy3.wordpress.com/2010/09/07/the-magic-of-qtdbus-and-the-propertychanged-signal/
In my case, the daemon send a signal having a QDBusVariant argument
containing a QList<QDBusObjectPath> and Qt won't know how to un-marshall it.
And BTW, the debugger has also a problem showing empty strings in the
QList<QDBusObjectPath>.
dbus-monitor helped a lot showing that the list actually had valid
strings in it and pointing me to a client-side problem.
On 10/06/2011 02:10 PM, Valentin Rusu wrote:
> Hello lists,
> [sorry for the cross-posting]
>
> Testing ksecretsserviced, I stumbled on a rather bizarre bug and I'd
> like to ask you if it reproduces on your systems or it's only my
> system's fault.
>
> Steps to reproduce:
> - compile kdelibs:ksecretsservice branch and install it (i merged it
> with KDE/4.7 branch yesterday),
>
> - compile current ksecretservice sources and install (cmakekde),
> [if you build errors in the secretsync dir, simply rerun cmakekde, I'll
> fix that later]
>
> - launch in the debugger ksecretsserviced
> # place a breakpoint in daemon/frontent/secret/prompt.cpp:259
>
> - in a konsole prompt, type
> kwl2kss # this will import your existing wallet into the daemon
> # several prompts will popup, simply follow instructions
>
> - still inside the konsole, type
> ksecrets -l<your kdewallet name> # on my system ksecrets -l kdewallet
> # enter the imported collection password you defined above
> # click OK in the permissions dialog
>
> - the breakpoint will be hit
> # do one step and tell me if the m_result collection has a non empty
> string element after executing append call
> [On my system, m_result stubornly holds on empty string, no matter what
> path variable holds]
>
> I even did a separate program to handle QList<QDBusObjectPath> and it
> works fine.
> I'm currently stuck :-(
>
> My other system configuration:
> - opensuse 11.4 tumbleweed,
> - qt 4.8 compiled last week [perhaps I should go back to 4.7 ?]
>
> Thanks for your help,
>
--
Valentin Rusu (IRC valir, KDE vrusu)
KSecretsService (former KSecretService, KWallet replacement)
[Attachment #5 (text/html)]
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello again!<br>
<br>
This blog post helped me to understand and fix it:<br>
<a class="moz-txt-link-freetext" \
href="http://randomguy3.wordpress.com/2010/09/07/the-magic-of-qtdbus-and-the-propertyc \
hanged-signal/">http://randomguy3.wordpress.com/2010/09/07/the-magic-of-qtdbus-and-the-propertychanged-signal/</a><br>
<br>
In my case, the daemon send a signal having a QDBusVariant argument
containing a QList<QDBusObjectPath> and Qt won't know how to
un-marshall it.<br>
<br>
And BTW, the debugger has also a problem showing empty strings in
the QList<QDBusObjectPath>. <br>
dbus-monitor helped a lot showing that the list actually had valid
strings in it and pointing me to a client-side problem.<br>
<br>
<br>
On 10/06/2011 02:10 PM, Valentin Rusu wrote:
<blockquote class=" cite" id="mid_4E8D9AB3_904_rusu_info"
cite="mid:4E8D9AB3.904@rusu.info" type="cite">
<pre wrap="">Hello lists,
[sorry for the cross-posting]
Testing ksecretsserviced, I stumbled on a rather bizarre bug and I'd
like to ask you if it reproduces on your systems or it's only my
system's fault.
Steps to reproduce:
- compile kdelibs:ksecretsservice branch and install it (i merged it
with KDE/4.7 branch yesterday),
- compile current ksecretservice sources and install (cmakekde),
[if you build errors in the secretsync dir, simply rerun cmakekde, I'll
fix that later]
- launch in the debugger ksecretsserviced
# place a breakpoint in daemon/frontent/secret/prompt.cpp:259
- in a konsole prompt, type
kwl2kss # this will import your existing wallet into the daemon
# several prompts will popup, simply follow instructions
- still inside the konsole, type
ksecrets -l <your kdewallet name> # on my system ksecrets -l kdewallet
# enter the imported collection password you defined above
# click OK in the permissions dialog
- the breakpoint will be hit
# do one step and tell me if the m_result collection has a non empty
string element after executing append call
[On my system, m_result stubornly holds on empty string, no matter what
path variable holds]
I even did a separate program to handle QList<QDBusObjectPath> and it
works fine.
I'm currently stuck :-(
My other system configuration:
- opensuse 11.4 tumbleweed,
- qt 4.8 compiled last week [perhaps I should go back to 4.7 ?]
Thanks for your help,
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Valentin Rusu (IRC valir, KDE vrusu)
KSecretsService (former KSecretService, KWallet replacement)
</pre>
</body>
</html>
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic