Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Root error while transferring files between users #842

Open
Aniket21mathur opened this issue Jun 29, 2019 · 7 comments
Open

Root error while transferring files between users #842

Aniket21mathur opened this issue Jun 29, 2019 · 7 comments

Comments

@Aniket21mathur
Copy link
Contributor

Aniket21mathur commented Jun 29, 2019

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

  • Get a file to share say a text file from the write activity.
  • Send to one of the friend.
  • Accept file from friend's sugar instance.

Check shell.logs.

@quozl
Copy link
Contributor

quozl commented Jun 29, 2019

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

@Aniket21mathur
Copy link
Contributor Author

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

@quozl
Copy link
Contributor

quozl commented Jun 29, 2019

Good, thanks.

@Aniket21mathur
Copy link
Contributor Author

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
Copy link
Contributor Author

Aniket21mathur commented Jul 6, 2019

Sugar seems to handle file transfer through _dispatch_non_sugar_invitation method of the Invites class. This method called the _call_handle_with method with an empty handler hence causing the exception. Fixed in #845.

@quozl
Copy link
Contributor

quozl commented Jul 6, 2019

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

  • ChannelDispatchOperation.HandleWith does accept an empty handler, which means the "client has no preferred channel handler",
  • the error says there is no HandleWith method; it doesn't say there is anything wrong with the handler argument.

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
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants