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

Synchronization Stops due to 'OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104' #792

Closed
QihanLiu opened this issue Feb 5, 2020 · 10 comments
Closed
Labels
Local Environment Issue Cannot locally reproduce issue Not a bug

Comments

@QihanLiu
Copy link

QihanLiu commented Feb 5, 2020

Bug Report Details

Describe the bug
I am syncing all the files to my new computer. Synchronization stops when only a few files are downloaded. I have to use the same command to force sync multiple times (20 times maybe).
There is no bug appears. It acts simply like sync finished.
Usually, it stops after getting stuck in downloading a file. At least it acts like stuck, but it can download the file after rerun the same command.

Application and Operating System Details:
Ubuntu, 18.04.4 LTS.
Exchange OneDrive Account.
DMD64 D Compiler v2.090.0
curl 7.58.0(x86_64-pc-linux-gnu)

onedrive version                       = v2.3.13-13-g1f6c568
Config path                            =\**Erased*\*
Config file found in config path       = false
Config option 'check_nosync'           = false
Config option 'sync_dir'               = \**Erased*\*
Config option 'skip_dir'               = 
Config option 'skip_file'              = ~*|.~*|*.tmp
Config option 'skip_dotfiles'          = false
Config option 'skip_symlinks'          = false
Config option 'monitor_interval'       = 45
Config option 'min_notify_changes'     = 5
Config option 'log_dir'                = /var/log/onedrive/
Config option 'classify_as_big_delete' = 1000
Config option 'sync_root_files'        = false
Selective sync configured              = false

Note: Please generate a full debug log as per https://github.com/abraunegg/onedrive/wiki/Generate-debug-log-for-support and email to support@mynas.com.au

Complete Verbose Log Output
A clear and full log of the problem when running the application in the following manner (ie, not in monitor mode):

onedrive --synchronize 

No bugs or errors appears. Simply finishes sync, which is not true.

@abraunegg
Copy link
Owner

@QihanLiu
Please update your first post above with all the required information when raising an issue as per https://github.com/abraunegg/onedrive#reporting-issues

@abraunegg
Copy link
Owner

@QihanLiu
Please can you respond and provide the required details.

@abraunegg
Copy link
Owner

@QihanLiu
Thanks for the debug log.

As no error is being generated or throw & there is no evidence in the debug log that there is an issue, a further HTTPS debug log needs to be generated to see what is occurring at the transport level.

Please generate a HTTPS debug log as per https://github.com/abraunegg/onedrive/wiki/Generate-https-debug-log-for-support that captures the sync 'stopping' as per your experience.

@QihanLiu
Copy link
Author

QihanLiu commented Feb 7, 2020

Sent.
The zip file contains 2 log files.

@QihanLiu
Copy link
Author

QihanLiu commented Feb 7, 2020

I also found out that I've synced 31 times to download all the files.
Because each unsuccessful sync was caused by failure in downloading a file, that failure edits the modified date of that file.
So, at the end of synchronization, the program would identify those files as new files and upload them.
I have to manually restore those files to the previous version.

Hope that helps.

@abraunegg
Copy link
Owner

@QihanLiu
Thanks for the debug logs.

The reason for the failure is the following:

OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104

These SYSCALL errors are almost invariably due to server or network issues.

Refer: curl/curl#4409 (comment)

This is not a bug with this client. Most likely:

  • You have some sort of flaky Internet connection somewhere between you and the OneDrive service
  • You have some sort of 'broken' HTTPS transparent inspection service inspecting your traffic

Your Curl version is also 7.58.0 where as the latest is 7.68.0 (Refer: https://github.com/curl/curl/releases) - suggest you also update your Curl version to something a little more modern to see if that also assists with the issue.

@abraunegg abraunegg changed the title Synchronization Stops Synchronization Stops due to 'OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 104' Feb 7, 2020
@QihanLiu
Copy link
Author

QihanLiu commented Feb 7, 2020

I am not sure that is the reason, but after I installed curl (version 7.68) it stop working.
For all the command (sync, monitor logout etc), showing:
"Cannot connect to Microsoft OneDrive Service
Reason: Unsupported protocol on handle 55E5E44B0190"

Also, in apt-get, curl version is still 7.58.0-2ubuntu3.8, not 7.68.
But if I run "curl --version", it shows curl 7.65.3 (x86_64-conda_cos6-linux-gnu).
I searched for a quite a while. nothing works.

@abraunegg
Copy link
Owner

abraunegg commented Feb 7, 2020

@QihanLiu
Unfortunately you need to take this up with Ubuntu support / Curl support.

Your issue is related to the reasons provided above.

If the upgraded Curl version does not work for you, please open an issue tracker with Curl.

@abraunegg
Copy link
Owner

@QihanLiu
Wiki entry created: https://github.com/abraunegg/onedrive/wiki/Debugging-SSL-TLS-Issues-when-the-client-stops-syncing-with-no-crash

Please review best course of actions for yourself, and how to debug your SSL/TLS problem.

Closing issue, not a bug with this client.

@lock
Copy link

lock bot commented Mar 10, 2020

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Mar 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Local Environment Issue Cannot locally reproduce issue Not a bug
Projects
None yet
Development

No branches or pull requests

2 participants