Re: Handling dropped TCP connections more gracefully



On Mon, 2013-06-17 at 05:46 -0700, Timothy Arceri wrote:
I'm looking into a solution for
https://bugzilla.gnome.org/show_bug.cgi?id=615146 in particular I want
to make Nautilus handle this situation more gracefully. As described
in https://bugzilla.gnome.org/show_bug.cgi?id=515217 it is fairly
common for firewalls and routers to break the TCP protocol an just
drop connections without notifying anyone.

Yes.

Currently if this happens and you try to do something in Nautilus you
get a message like this:
“Opps something went wrong.
Unhandled error message: Internal error: The underlying SSH process
died”  

I believe I occasionally see something similar when using WebDAV.

After which the connection disappears and you need to remount it again
(loosing you current location).

Yea, when GVFS 'resets' is *SUCKS* from a usability stand-point.

Now what I'm after is some advice on what you guys think needs to be
done to improve the situation. 

It seems pretty obvious [to me anyway] than any network backend should
be able to handle a drop connection and attempt to resume.  Of course,
easier said than done.

To me it lookslike the solution is probably a combination of gvfs 
passing back a useful error code to Nautilus/filechooser/etc and then 
for Nautilus etc to catch the error and popup a dialog that allows
you 
to either cancel or retry connecting.  The problem is currently gvfs
just passes back a generic G_IO_ERROR_FAILED error code. 
Am I on the right track? Do you think that all that needs to be done
from the gvfs side is to pass a better error code? If so what would
you suggest? There isn't really anything that matches on
https://developer.gnome.org/gio/2.32/gio-GIOError.html or is there
more to this? I suspect there might be.

Sorry, I'm not a GVFS dev, but I'm curious as to what the answer is.

--
Adam Tauno Williams <mailto:awilliam whitemice org> GPG D95ED383
Systems Administrator, Python Developer, LPI / NCLA



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]