[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&lt;QDBusObjectPath&gt; 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&lt;QDBusObjectPath&gt;. <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 &lt;your kdewallet name&gt; # 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&lt;QDBusObjectPath&gt; 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