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

Crash on missing vfs sync root #9016

Closed
sentry-io bot opened this issue Sep 13, 2021 · 15 comments
Closed

Crash on missing vfs sync root #9016

sentry-io bot opened this issue Sep 13, 2021 · 15 comments
Labels
p3-medium Normal priority

Comments

@sentry-io
Copy link

sentry-io bot commented Sep 13, 2021

When the client is using virtual files and the user manually deleted the sync root the client crashes.

Sentry Issue: DESKTOP-WIN-AND-MAC-A0W

EXCEPTION_ACCESS_VIOLATION_WRITE: Fatal Error: EXCEPTION_ACCESS_VIOLATION_WRITE
  File "utility.cpp", line 410, in OCC::Utility::crash
  File "logger.cpp", line 110, in OCC::Logger::doLog
  File "qlogging.cpp", line 1836, in qt_message_print
  File "qlogging.cpp", line 373, in qt_message
  File "qlogging.cpp", line 885, in QMessageLogger::fatal
...
(12 additional frame(s) were not displayed)
TheOneRing added a commit that referenced this issue Sep 13, 2021
@michaelstingl michaelstingl added the p3-medium Normal priority label Sep 15, 2021
TheOneRing added a commit that referenced this issue Sep 15, 2021
TheOneRing added a commit that referenced this issue Sep 15, 2021
@TheOneRing
Copy link
Member

TheOneRing commented Sep 15, 2021

@gabi18 Please stop the client test what happens when the sync root

  • gets lost
  • is read only (maybe mounted read only)
  • ...
    before you start the client again

@gabi18
Copy link
Contributor

gabi18 commented Sep 16, 2021

@gabi18 Please stop the client, test what happens when the sync root

* gets lost

Bug fix confirmed with 2.9.1daily 20210916: after deleting sync root manually the restarted client shows red error message: Local dir ... not existing.

* is read only (maybe mounted read only)

* ...
  before you start the client again

@gabi18 gabi18 closed this as completed Sep 16, 2021
@gabi18
Copy link
Contributor

gabi18 commented Sep 20, 2021

Reopen issue - continue testing

@gabi18 gabi18 reopened this Sep 20, 2021
@gabi18
Copy link
Contributor

gabi18 commented Sep 20, 2021

Test scenario:

  • add client account with VFS ON, 'Open folder'
  • stop client
    -> cloud icon for files is still shown, when trying to 'Always keep on device' a popup 'Cannot open file. Make sure owncloud is running ..' is shown -> okay
  • rename folder sync connection in Explorer
  • enter renamed folder -> Explorer shows not available icon for the files
    not_available
  • restart client

Result:

  • restarted client shows red error message "Local dir ... doesn't exists" -> okay

Stop client and rename sync connection to initial name, start client -> everything is fine

@gabi18
Copy link
Contributor

gabi18 commented Sep 21, 2021

Test scenario:

  • run docker run --rm -v /tmp/smb:/shared -d --name samba dperson/samba -u "admin;admin" -s "shared;/shared;;no;;all" -n -p e.g. on linux host
docker inspect samba | grep -i '"IPAddress"'
 "IPAddress": "172.17.0.2"
  • start client in Windows VirtualBox VM
  • add client account with VFS OFF (because VFS only allowed on NTFS, error popup when trying VFS on samba mount)
  • try to select \\172.17.0.2\shared\MySyncRoot as sync folder

Result:
Client error popup "No write access" despite it is possible to create new files in \\172.17.0.2\shared\MySyncRoot in Explorer
pick_another_one
20210921_1018_owncloud.log.0.gz

  • in Explorer on right click menu 'Properties' 'Security': set all permissions for all users

Result:
Client accepts \\172.17.0.2\shared\MySyncRoot as sync folder

  • stop client
  • in Explorer on right click menu 'Properties' 'Security': remove all permissions

Result:
Restarted client doesn't show an error message, files can be added to the sync root

  • stop client
  • remove write permissions from directory on linux host
    dr-x------+ 4 100 101 4096 Sep 21 09:47 MySyncRoot

Result:
Client starts without error message

  • try to create file in Explorer leads to Windows error -> okay
  • attempt to sync new file from server leads to client error -> okay
    no_write_access1

no_write_access2

@gabi18
Copy link
Contributor

gabi18 commented Sep 21, 2021

Testscenario:
client version: 2.9.1daily20210920

  • stop client
  • remove write permissions in Explorer for existing sync root folder (VFS ON)
    explorer_remove_perm
  • try to enter in Explorer shows
    no_permissions_sync_folder
  • restart client

Result:
Client crash
crash_no_permissions

@gabi18
Copy link
Contributor

gabi18 commented Sep 21, 2021

Reconfirmed with 2.9.1daily20210920 that after deleting the sync root folder manually the red error message is shown.

red_error_after_delete

Removing the account works without problems as well as adding the account again (deleted sync root is suggested).

@gabi18
Copy link
Contributor

gabi18 commented Sep 22, 2021

Retest scenario from #9016 (comment) client 2.9.1daily20210920 - instead removing write permissions from linux dir restart docker with samba share readonly:

  • stop client
  • stop docker providing samba share
  • restart docker container with samba 'readonly' ..."shared;/shared;;yes;;all" ...

Result:
Client shows error message:
no_samba_write_perm

And also a correct error message is shown if the docker container is not running at all:
share_doesnt_exist

@gabi18

This comment has been minimized.

@gabi18
Copy link
Contributor

gabi18 commented Sep 23, 2021

2.9.1daily20210923 (build 5245) testing:

  1. Do not crash without write permissions (Crash on missing vfs sync root #9016 (comment))
    Result: correct error message is shown
    not_readable

  2. handle OneDrive account correctly
    Result: correct error message is shown
    OneCrive used

  3. Regression test: delete sync folder connection
    Result: correct error message "Local dir ... doesn't exist", see Crash on missing vfs sync root #9016 (comment)

@gabi18
Copy link
Contributor

gabi18 commented Sep 23, 2021

related issue #9003

@gabi18 gabi18 mentioned this issue Sep 27, 2021
46 tasks
@gabi18
Copy link
Contributor

gabi18 commented Sep 29, 2021

Test on Linux openSUSE 15.2 client 2.9.1daily20210929 (build 5268)

  • stop client
  • delete sync folder root
  • restart client -> Result: red error message "Local folder ... does not exist", it's possible to remove the account
  • add the account again
  • stop client
  • remove write perm from sync folder
  • restart client -> Result: red error message "... is not readable"

@gabi18
Copy link
Contributor

gabi18 commented Sep 29, 2021

Test on Windows 10 20H2 client 2.9.1-rc1.5270 VFS ON

  • stop client
  • delete sync folder C:\Users\gabi\ownCloud
  • restart client -> red error message
  • "Add Folder Sync Connection", client suggests C:\Users\gabi\ownCloud2
  • edit to C:\Users\gabi\ownCloud

Result: Warning sync connection exitsts -> Okay
existing_sync

But the bad sync folder connection cannot be removed on ... menu because it's greyed out.

@TheOneRing
Copy link
Member

Crash is fixed in 2.9.1

@gabi18
Copy link
Contributor

gabi18 commented Oct 4, 2021

Confirmed on Windows 10 20H2 with client 2.9.1-rc1.5270 VFS ON:

  • red error message "... not readable" if no write permissions on sync folder
  • red error message "... doesn't exist" if sync folder was deleted
  • red error message "The folder is used by a different client OneDrive" for OneDrive folder as sync root

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

No branches or pull requests

3 participants