Merge changes from mono-zeroconf and Fedora

Bug #458687 reported by Michel Lind
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
NDesk D-Bus
New
Undecided
Unassigned
mono-zeroconf (Fedora)
Won't Fix
Medium
ndesk-dbus (Fedora)
Won't Fix
High

Bug Description

mono-zeroconf (used by Banshee) still ships its own copy of NDesk.DBus, has a lot of modifications still not present in the Git source.

Could a new stable release be issued? The mono-zeroconf code does not compile against 0.6.1a, and not against the latest Git code either, due to some changes it made to Connection.cs

Also, Fedora carries a patch against ndesk-dbus that also modifies the public interface. The patch, as currently shipped, has some spelling errors -- I'll attach both a diff for the mono-zeroconf changes and the Fedora patch. If they are applied, I guess the API number will have to be bumped.

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

Created attachment 345876
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

Revision history for this message
In , David (david-redhat-bugs) wrote :

Created attachment 345901
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.

Revision history for this message
In , David (david-redhat-bugs) wrote :

Created attachment 345902
ndesk-dbus-glib.patch

Revision history for this message
In , Bernie (bernie-redhat-bugs) wrote :

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).

Revision history for this message
In , David (david-redhat-bugs) wrote :

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.

Revision history for this message
In , Bernie (bernie-redhat-bugs) wrote :

(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.

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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.

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

Created attachment 355566
Right patch for ndesk-dbus-0.6.1a

This patch related with 0.6.1a version of thi library.

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

Created attachment 355569
Spec file with patch for ndesk-dbus

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

Created attachment 355570
Spec file with patch for ndesk-dbus-glib

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

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

Revision history for this message
In , Peter (peter-redhat-bugs) wrote :

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.

Revision history for this message
Michel Lind (michel-slm) wrote :
Revision history for this message
Michel Lind (michel-slm) wrote :

The Fedora patch (with corrected spelling; it previously misspelled Completion as Completition)

Revision history for this message
In , Michel (michel-redhat-bugs) wrote :

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).

Revision history for this message
In , Michel (michel-redhat-bugs) wrote :

Description of problem:
Mono-Zeroconf currently bundles its own NDesk.DBus. The changes should be upstreamed as soon as possible, allowing us to comply with packaging guidelines.

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

How reproducible:
Always

Steps to Reproduce:
1. Try compiling mono-zeroconf against the system ndesk-dbus

Actual results:
Fails; this is documented by zeroconf author. The patch does not appear to have been upstreamed (until my bug report), though upstream development is still active

Expected results:
Should work

Additional info:

Changed in mono-zeroconf (Fedora):
status: Unknown → Confirmed
Changed in ndesk-dbus (Fedora):
status: Unknown → Fix Committed
Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

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.

Revision history for this message
In , Torello (torello-redhat-bugs) wrote :

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;

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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.

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

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.

Changed in ndesk-dbus (Fedora):
importance: Unknown → High
status: Fix Committed → Won't Fix
Changed in mono-zeroconf (Fedora):
importance: Unknown → Medium
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.