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

Checksum issues mainly with SMB mount point + Google Drive #40809

Closed
2 tasks done
mmattel opened this issue May 18, 2023 · 16 comments
Closed
2 tasks done

Checksum issues mainly with SMB mount point + Google Drive #40809

mmattel opened this issue May 18, 2023 · 16 comments
Assignees

Comments

@mmattel
Copy link
Contributor

mmattel commented May 18, 2023

Pre-submission Checks

  • I checked for similar issues, but could not find any. I also checked the closed issues. I could not contribute additional information to any existing issue.
  • I will take the time to fill in all the required fields. I know that the bug report may be dismissed otherwise due to lack of information.

Describe the bug

The owncloud instance running 10.11 in combination of the desktop app 3.2 and all version before never had syncing issues, a recent upgrade to desktop 4.0 did not changed the following behaviour.

Problem:

Having some SMB and Google Drive mount points and post upgrading to server 10.12.0 respectively 10.12.1, syncing data fails in the following conditions, but ONLY when using SMB, works flawless with GD.

Files can be located in any folder/subfolder representing the synced SMB mountpoint:

In these conditions the issue appears:

  • Adding a new file via the local filesystem.
  • Editing an existing file like with Excel.
  • Overwriting an existing file via the browser.
    Note that the file gets fully accepted by the backend and can be downloaded manually without any issue, but fails syncing.

When the file is NOT present in the local sync folder, you can upload it via browser and it gets synced. It is then available locally as usual

This shows up like a sync issue from the client to the server but not vice versa.

This is the SMB mount point:
image

Expected behavior

Files should sync to SMB mount points as before

Steps to reproduce the issue

See the bug description above

Screenshots

No response

Logs

Right click on files that failed syncing:

Locally present but should get overwritten by the server (file update via browser)

Issues         ,File                                                            ,Folder                        ,Size  ,Account             ,Time                ,Status              ,
The downloaded file does not match the checksum, it will be resumed. '374e32ad842ed171ac51af672724887cea3a0c2f' != '98d3eb8c44e936c7d7110c09b4464a91e2c7cfae' (skipped due to earlier error, trying again in 21 second(s)),martin@filer/Dokumente/Firma/Buchhaltung/2023/2023 Abgaben Bewegungen.xlsx,ownCloud\diemattels.at        ,      ,mmattel@owncloud.diemattels.at,2023-05-18T10:06:07.845,Blacklisted         ,

Newly added local file

Issues         ,File                                                            ,Folder                        ,Size  ,Account             ,Time                ,Status              ,
Server replied "400 Bad Request" to "PUT https://owncloud.diemattels.at/remote.php/dav/files/mmattel/martin@filer/desktop_client_test.txt" (The computed checksum does not match the one received from the client.),martin@filer/desktop_client_test.txt                            ,ownCloud\diemattels.at        ,0 B   ,mmattel@owncloud.diemattels.at,2023-05-18T10:13:36.000,Error               ,

Log for newly added local file

23-05-18 10:24:51:311 [ info sync.propagator ]:	Starting SyncInstruction(CSYNC_INSTRUCTION_IGNORE) propagation of "martin@filer/desktop_client_test.txt" by OCC::PropagateIgnoreJob(0x2ea7a0d3fb0)
23-05-18 10:24:51:312 [ warning sync.propagator ]:	Could not complete propagation of "martin@filer/desktop_client_test.txt" by OCC::PropagateIgnoreJob(0x2ea7a0d3fb0) with status OCC::SyncFileItem::BlacklistedError and error: "Server replied \"400 Bad Request\" to \"PUT https://owncloud.diemattels.at/remote.php/dav/files/mmattel/martin@filer/desktop_client_test.txt\" (The computed checksum does not match the one received from the client.) (skipped due to earlier error, trying again in 10 minute(s))"
23-05-18 10:24:51:312 [ debug sync.statustracker ]	[ OCC::SyncFileStatusTracker::slotItemCompleted ]:	Item completed "martin@filer/desktop_client_test.txt" OCC::SyncFileItem::BlacklistedError SyncInstruction(CSYNC_INSTRUCTION_IGNORE)
23-05-18 10:24:51:312 [ info gui.socketapi ]:	Sending SocketAPI message --> "STATUS:IGNORE:C:\\Users\\marti\\ownCloud\\diemattels.at\\martin@filer" to QLocalSocket(0x2ea74a11a80)
23-05-18 10:24:51:312 [ info gui.socketapi ]:	Sending SocketAPI message --> "STATUS:ERROR:C:\\Users\\marti\\ownCloud\\diemattels.at\\martin@filer\\desktop_client_test.txt" to QLocalSocket(0x2ea74a11a80)
23-05-18 10:24:51:312 [ debug sync.localdiscoverytracker ]	[ OCC::LocalDiscoveryTracker::slotItemCompleted ]:	inserted error item "martin@filer/desktop_client_test.txt"

Client version number

Client:

  • Windows x64
  • 4.0.0.10896
  • QT 5.15.8
  • NO virtual files

Desktop environment (Linux only)

No response

Client package version and origin (Linux only)

No response

Installation path (Windows only)

C:\Program Files\ownCloud

Server information

Server:

  • Ubuntu 20.04
  • mariadb
  • php7.4
  • Version 10.12.1

Additional context

The interesting thing is, that it was challenging to identify that this is a checksum issue because the client tells that the file is blacklisted. As the server has a blacklisting configuration possibility too, this was confusing. Note that there is NO server blacklisting configured!

@mmattel
Copy link
Contributor Author

mmattel commented May 21, 2023

Here is the log entry from the server:

Exception: HTTP\/1.1 400 The computed checksum does not match the one received from the client.: {\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\BadRequest\",\"Message\":\"The computed checksum does not match the one received from the client.\",\"Code\":0,\"Trace\":\"
#0 \\\/var\\\/www\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php(172): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put()\\
n#1 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(1098): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->createFile()\\
n#2 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(504): Sabre\\\\DAV\\\\Server->createFile()\\
n#3 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(89): Sabre\\\\DAV\\\\CorePlugin->httpPut()\\
n#4 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(472): Sabre\\\\DAV\\\\Server->emit()\\
n#5 \\\/var\\\/www\\\/owncloud\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(253): Sabre\\\\DAV\\\\Server->invokeMethod()\\
n#6 \\\/var\\\/www\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Server.php(348): Sabre\\\\DAV\\\\Server->start()\\
n#7 \\\/var\\\/www\\\/owncloud\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\
n#8 \\\/var\\\/www\\\/owncloud\\\/remote.php(165): require_once('\\\/var\\\/w...')\\
n#9 {main}\",\"File\":\"\\\/var\\\/www\\\/owncloud\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php\",\"Line\":219}

\/remote.php\/dav\/files\/user-x\/martin@filer\/desktop_client_test.txt

@mmattel
Copy link
Contributor Author

mmattel commented May 21, 2023

Update, it seems that other users of my instance have issues with the same problem on Google Drive too. Means that this is likely a generic problem and not related to a mount point type.

@jnweiger
Copy link
Contributor

jnweiger commented May 22, 2023

@IljaN hoijoijoi a new checksum error that was introduced in 10.12.0 (still seen in 10.12.1) ??

@michaelstingl michaelstingl changed the title Syncing items fails when backend is a SMB mount point Checksum issues with SMB mount point + Google Drive May 23, 2023
@michaelstingl michaelstingl transferred this issue from owncloud/client May 23, 2023
@michaelstingl
Copy link

@mmattel @jnweiger @IljaN issue transferred to server repo. IMHO nothing to fix in the desktop app.

@mmattel mmattel changed the title Checksum issues with SMB mount point + Google Drive Checksum issues mainly with SMB mount point + Google Drive May 26, 2023
@jnweiger jnweiger added this to Qualification in Releases May 26, 2023
@Helios07
Copy link

I can also see that issue on an instance with owncloud 10.12 and external SMB mounts. Please ping me, if I can deliver any logs, etc.

@jnweiger
Copy link
Contributor

jnweiger commented Jun 7, 2023

I can reproduce a similar issue with an SFTP mount on 10.12.2 -- my SMB mounts work fine.

@Helios07
Copy link

Helios07 commented Jun 7, 2023

Interestingly, this happens only for a single or at least some users on that server and I'm not sure, if this was the case at the beginning. Nevertheless, I upgraded from 10.12.0 to 12.12.2 and will observe, if it still is the case.

@Helios07
Copy link

Helios07 commented Jun 7, 2023

I can reproduce the error in v10.12.2, too:

"reqId":"84bc77c7-6aea-40ab-aef2-8bf0ada75713","level":4,"time":"2023-06-07T16:38:14+02:00","remoteAddr":"128.176.190.76","user":"h_zimm01","app":"webdav","method":"MOVE","url":"\/remote.php\/dav\/uploads\/h_zimm01\/142368810\/.file","message":"Exception: HTTP\/1.1 400 The computed checksum does not match the one received from the client.: {\"Exception\":\"Sabre\\\\DAV\\\\Exception\\\\BadRequest\",\"Message\":\"The computed checksum does not match the one received from the client.\",\"Code\":0,\"Trace\":\"#0 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/Directory.php(172): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\File->put()\\n#1 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(307): OCA\\\\DAV\\\\Connector\\\\Sabre\\\\Directory->createFile()\\n#2 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(133): Sabre\\\\DAV\\\\Tree->copyNode()\\n#3 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/apps\\\/dav\\\/lib\\\/Tree.php(113): Sabre\\\\DAV\\\\Tree->copy()\\n#4 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Tree.php(163): OCA\\\\DAV\\\\Tree->copy()\\n#5 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/CorePlugin.php(612): Sabre\\\\DAV\\\\Tree->move()\\n#6 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/event\\\/lib\\\/WildcardEmitterTrait.php(89): Sabre\\\\DAV\\\\CorePlugin->httpMove()\\n#7 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(472): Sabre\\\\DAV\\\\Server->emit()\\n#8 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/lib\\\/composer\\\/sabre\\\/dav\\\/lib\\\/DAV\\\/Server.php(253): Sabre\\\\DAV\\\\Server->invokeMethod()\\n#9 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/apps\\\/dav\\\/lib\\\/Server.php(348): Sabre\\\\DAV\\\\Server->start()\\n#10 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/apps\\\/dav\\\/appinfo\\\/v2\\\/remote.php(31): OCA\\\\DAV\\\\Server->exec()\\n#11 \\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/remote.php(165): require_once('\\\/var\\\/www\\\/html\\\/o...')\\n#12 {main}\",\"File\":\"\\\/var\\\/www\\\/html\\\/owncloud-10.12.2-enterprise\\\/apps\\\/dav\\\/lib\\\/Connector\\\/Sabre\\\/File.php\",\"Line\":219}"}

@jnweiger
Copy link
Contributor

jnweiger commented Jun 7, 2023

I've opened a new clean issue with a bisect for my case: #40831

@jnweiger
Copy link
Contributor

jnweiger commented Jun 9, 2023

@mmattel @Helios07 chances are, that #40832 already does the trick here too ...

@jnweiger jnweiger moved this from Qualification to In dev in Releases Jun 15, 2023
@mmattel
Copy link
Contributor Author

mmattel commented Jun 19, 2023

Adding the changes of the referenced PR manually fixed the problem and syncing is possible again.

Can be closed imho.

@jnweiger
Copy link
Contributor

Thanks for confirming.
@Helios07 does that work for you too?

@Helios07
Copy link

I just installed the patch and will observe, if it helps.

@Helios07
Copy link

I did a quick test and at least for me it works :)

@jnweiger
Copy link
Contributor

Thanks for double checking!
Closing here, all is in master.
Patch URL for reference: https://patch-diff.githubusercontent.com/raw/owncloud/core/pull/40832.patch

@jnweiger jnweiger removed this from In dev in Releases Jun 22, 2023
@jnweiger
Copy link
Contributor

Confirmed fixed in 10.13.0-rc.1

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

No branches or pull requests

5 participants