Bug 503151

Summary: NDesk-DBus bug using sugar datastore
Product: [Fedora] Fedora Reporter: Torello Querci <torello>
Component: ndesk-dbusAssignee: Peter Gordon <peter>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 12CC: bernie+fedora, gnomeuser
Target Milestone: ---Keywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-12-05 06:53:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Testcase
none
ndesk-dbus.patch
none
ndesk-dbus-glib.patch
none
Right patch for ndesk-dbus-0.6.1a
none
Spec file with patch for ndesk-dbus
none
Spec file with patch for ndesk-dbus-glib none

Description Torello Querci 2009-05-29 09:32:36 UTC
Created attachment 345876 [details]
Testcase

Description of problem:

There is 2 bug in this package
1 - related with the mapping of dbus datatype a byte align in the buffer
2 - related with the reading from the socket

You can see these bugs in action using sugar-datastore that use DBus to do the search, for example.
I attach a tastcase that show this behaviour.

Here the command to compile it.

gmcs datastore-test.cs `pkg-config --libs ndesk-dbus-1.0` `pkg-config 
--libs ndesk-dbus-glib-1.0`


Version-Release number of selected component (if applicable):

Any version


How reproducible:


Steps to Reproduce:
1. Logon using sugar interface
2. Start an activity
3. Start the terminal activity
4. From the terminal activity start the testing application.

Now can see one of two bug.
If the datastore is small you got this error:

Unhandled Exception: System.Exception: Read non-zero byte at position 4 while expecting padding
  at NDesk.DBus.MessageReader.ReadPad (Int32 alignment) [0x00000] 
  at NDesk.DBus.MessageReader.ReadArray (System.Type elemType) [0x00000] 
  at NDesk.DBus.MessageReader.ReadValue (System.Type type) [0x00000] 
  at NDesk.DBus.MessageReader.ReadStruct (System.Type type) [0x00000] 
  at NDesk.DBus.MessageReader.ReadValue (System.Type type) [0x00000] 
  at NDesk.DBus.MessageHelper.GetDynamicValues (NDesk.DBus.Message msg, System.Type[] types) [0x00000] 
  at NDesk.DBus.BusObject.SendMethodCall (System.String iface, System.String member, System.String inSigStr, NDesk.DBus.MessageWriter writer, System.Type retType, System.Exception& exception) [0x00000] 
  at DataStoreInterfaceProxy.find (IDictionary`2 properties, System.String[] ) [0x00000] 
  at datastore_test.Main (System.String[] argv) [0x00000] 




If the datastore is big you got this other error:

Unhandled Exception: System.Exception: Message body length mismatch: 15800 of expected 3210520
  at NDesk.DBus.Connection.ReadMessage () [0x00000] 
  at NDesk.DBus.PendingCall.get_Reply () [0x00000] 
  at NDesk.DBus.Connection.SendWithReplyAndBlock (NDesk.DBus.Message msg) [0x00000] 
  at NDesk.DBus.BusObject.SendMethodCall (System.String iface, System.String member, System.String inSigStr, NDesk.DBus.MessageWriter writer, System.Type retType, System.Exception& exception) [0x00000] 
  at DataStoreInterfaceProxy.find (IDictionary`2 properties, System.String[] ) [0x00000] 
  at datastore_test.Main (System.String[] argv) [0x00000] 


You can find the new spec file (I not change the log yet) here:
http://sugar-sharp.googlecode.com/files/ndesk-dbus-glib.spec
http://sugar-sharp.googlecode.com/files/ndesk-dbus.spec

Comment 1 David Nielsen 2009-05-29 12:45:59 UTC
Created attachment 345901 [details]
ndesk-dbus.patch

for reference since you forgot, these are the patches you sent to me in private. Once I get my Fedora account fixed up I will commit these to Rawhide and if nothing breaks wildly I am more than open to do the requested push to the stable platforms.

Comment 2 David Nielsen 2009-05-29 12:46:33 UTC
Created attachment 345902 [details]
ndesk-dbus-glib.patch

Comment 3 Bernie Innocenti 2009-06-04 15:53:26 UTC
David, what's wrong with your FAS account?  If you can't get it sorted out soon, I can offer to commit these changes for you (I'm a Fedora provenpackager).

Comment 4 David Nielsen 2009-06-05 11:49:53 UTC
cvs keeps claiming I don't have rights even to checkout things. Regardless I would be happy if you would take the time to do this work, I imagine the sugar lab guys would be happy if that happened and I can't see myself having the time to mess with FAS for a while.

Comment 5 Bernie Innocenti 2009-06-07 13:49:35 UTC
(In reply to comment #4)
> cvs keeps claiming I don't have rights even to checkout things. Regardless I
> would be happy if you would take the time to do this work, I imagine the sugar
> lab guys would be happy if that happened and I can't see myself having the time
> to mess with FAS for a while.  

I'm looking into it.  Meanwhile, you could go to #fedora-admin on irc.freenode.net and ask for help with your account.

Comment 6 Bug Zapper 2009-06-09 16:46:10 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Peter Gordon 2009-07-07 19:26:55 UTC
I recently took over ownership of these two NDesk packages in Fedora; and I definitely reproduce the bug as Torello mentions in the first post to this report. 

However, the ndesk-dbus patch as-is don't apply properly, and I'm having trouble figuring out how to rediff them properly (for example, it looks like most of the ReadMessage code has been moved into src/Connection.cs, and the ReadMessageReal hack is no longer present at all.

The ndesk-dbus-glib patch does apply correctly; but since it requires the WaitForIOCompletion stuff from the ndesk-dbus one, can't build yet.

Would you please attached an updated ndesk-dbus patch? I'd appreciate that very much. Thanks.

Comment 8 Torello Querci 2009-07-29 15:24:33 UTC
Created attachment 355566 [details]
Right patch for ndesk-dbus-0.6.1a

This patch related with 0.6.1a version of thi library.

Comment 9 Torello Querci 2009-07-29 15:27:25 UTC
Created attachment 355569 [details]
Spec file with patch for ndesk-dbus

Comment 10 Torello Querci 2009-07-29 15:27:54 UTC
Created attachment 355570 [details]
Spec file with patch for ndesk-dbus-glib

Comment 11 Torello Querci 2009-07-29 15:30:31 UTC
Sorry Peter,

I see this message only today. The right patch file was present on http://code.google.com/p/sugar-sharp/ website. I already prepared the specfile with the patch.

I just upload the right (I hope) file here.

If I can do anything simple ask me :)

Best regards

Comment 12 Peter Gordon 2009-07-30 06:12:00 UTC
Thanks for the updated patch!

I've committed and built these patches into Rawhide. After a few days there, to help ensure it doesn't cause any regressions or negative issues, I'll push updates for them to Fedora 10/11. 

Regards.

Comment 13 Michel Lind 2009-10-23 02:49:26 UTC
Note that there are spelling errors in the patch.

Also, has upstream been contacted at all? While there have been no release since 2008, the Git repository is still being periodically updated.

I have filed a bug upstream, recommending that the changes made by both mono-zeroconf and sugar-sharp be merged (and the API version bumped).

Comment 14 Bug Zapper 2009-11-16 10:00:55 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 15 Torello Querci 2009-11-19 16:34:47 UTC
I sent the bug report and the patch at April 2009. The mantainer told me that the problem is present and work to fix it, but today I check the git code and the bug it is still present.
I not know why this patch is not adopted.

Next I check my with mono-zeroconf to verify if the library/patch can be joined.

Comment 16 Torello Querci 2009-11-20 17:24:59 UTC
Sorry, I tested the git version again and with the following changes it now works.
I sent an email to the maintainer

Only one problem remains and this patch fixes it:

--- a/src/MessageReader.cs
+++ b/src/MessageReader.cs
@@ -420,7 +420,7 @@ namespace NDesk.DBus
                        }
 
                        //advance to the alignment of the element
-                       ReadPad (Protocol.GetAlignment (Signature.TypeToDType (elemType)));
+                       ReadPad (Protocol.GetAlignment (DType.Array));
 
                        int endPos = pos + (int)ln;

Comment 17 Bug Zapper 2010-11-04 11:11:57 UTC
This message is a reminder that Fedora 12 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 12.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '12'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 12's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 12 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 18 Bug Zapper 2010-12-05 06:53:17 UTC
Fedora 12 changed to end-of-life (EOL) status on 2010-12-02. Fedora 12 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.