After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 687534 - After port to gdbus, timeout on dbus connection changed to dbus default (25 seconds) and blocking pull/push now timeout
After port to gdbus, timeout on dbus connection changed to dbus default (25 s...
Status: RESOLVED FIXED
Product: gvfs
Classification: Core
Component: client module
git master
Other Linux
: Normal critical
: ---
Assigned To: gvfs-maint
gvfs-maint
Depends on:
Blocks:
 
 
Reported: 2012-11-03 22:39 UTC by Philip Langdale
Modified: 2012-12-03 13:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to adjust timeout for file transfers (493 bytes, patch)
2012-11-03 22:57 UTC, Philip Langdale
none Details | Review
Patch to adjust all GFile methods timeout (1.27 KB, patch)
2012-11-05 16:43 UTC, Tomas Bzatek
committed Details | Review

Description Philip Langdale 2012-11-03 22:39:22 UTC
I've been testing my MTP backend with 1.14.0 and I've observed that I now see dbus timeout errors during push and pull operations. I've implemented these in a blocking way as that's how libmtp works, and it means that the dbus timeout is effectively being applied to the whole transfer, causing any large transfers to get timed out.

This didn't happen with 1.12.x
Comment 1 Philip Langdale 2012-11-03 22:57:33 UTC
Created attachment 227992 [details] [review]
Patch to adjust timeout for file transfers

As a file transfer can take arbitrary amounts of time, it doesn't seem that any timeout value is wise. This patch sets the value to G_MAXINT which disables the timeout logic in GIO.
Comment 2 Tomas Bzatek 2012-11-05 16:43:18 UTC
Created attachment 228151 [details] [review]
Patch to adjust all GFile methods timeout

Good point. Looking at the old code, it was using G_VFS_DBUS_TIMEOUT_MSECS = (1000*60) ms = 1 minute which got away for the gdbus port.

Not sure what was the original purpose (apart from defining some universal timeout) but thinking about it, we may easily use the infinite timeout for all GDaemonFile methods. There's a cancellation after all.

Attaching new patch setting default timeout to infinite for all GDaemonFile calls.
Comment 3 Philip Langdale 2012-11-05 19:58:52 UTC
Review of attachment 228151 [details] [review]:

Looks good to me.
Comment 4 Tomas Bzatek 2012-12-03 13:16:46 UTC
Committed to master:

commit c2b246c8e9ee67034aa0e0017516bc0f05448783
Author: Tomas Bzatek <tbzatek@redhat.com>
Date:   Mon Dec 3 14:15:33 2012 +0100

    client: Set default timeout to infinite for all GDaemonFile methods
    
    Certain operations may take a lot of time to complete, don't timeout
    on that. Use cancellable if you need to control the flow.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=687534