sugarlabs / sugar

Sugar GTK shell
GNU General Public License v3.0
253 stars 241 forks source link

Root error while transferring files between users #842

Open Aniket21mathur opened 5 years ago

Aniket21mathur commented 5 years ago
1561780606.989075 ERROR root: 
__handle_with_reply_cb
DBusException(dbus.String(
u'Method "HandleWith" with signature "s" on interface
"org.freedesktop.Telepathy.ChannelDispatchOperation"
doesn\'t exist\n'),)

Reproducer

Check shell.logs.

quozl commented 5 years ago

src/jarabe/model/invites.py contains __handle_with_reply_cb, so is this issue with master branch or a later commit?

Aniket21mathur commented 5 years ago

I got this with the master branch with the static bindings.

quozl commented 5 years ago

Good, thanks.

Aniket21mathur commented 5 years ago

No need to Accept from the friend's end. Just check shell.logs of friend's sugar instance after sending a file transfer request.

Aniket21mathur commented 5 years ago

Sugar seems to handle file transfer through dispatch_non_sugarinvitation method of the Invites class. This method called the call_handlewith method with an empty handler hence causing the exception. Fixed in https://github.com/sugarlabs/sugar/pull/845.

quozl commented 5 years ago

Sorry, but I think you're wrong in your interpretation.

It is more likely that the ChannelDispatchOperation has vanished just prior to the call. Documentation says the ChannelDispatchOperation will emit Finished and vanish in response to an earlier HandleWith call by the client acting as an approver, or another client.

Please dig further into the problem using dbus-monitor and determine the events leading up to the error. I'll close the pull request.

Aniket21mathur commented 5 years ago

Thanks for correcting I will look into it :-).