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

Sometimes a file cannot be downloaded from pCloud, which leads to random errors, such as cannot unlock a vault, cannot open a file, ... #459

Closed
2 tasks done
SailReal opened this issue Aug 16, 2022 · 2 comments
Labels
storage:pcloud type:upstream-bug Something isn't working in upstream
Milestone

Comments

@SailReal
Copy link
Member

Please agree to the following

Summary

The request to the filelink URL sometimes returns a 410 HTTP status code, resulting in random errors in Cryptomator, such as opening a file/folder, unlocking a vault....mostly reports: no network connection.

System Setup

- Android: 12
- Cryptomator: 1.7.5

Cloud Type

No response

Steps to Reproduce

I am not able to reproduce the problem, but the user who reported it often can. It occurs when a file gets downloaded e.g. during vault unlock or opening a file and they uses not cellular but WiFi. With cellular everything seems to work.

Expected Behavior

All pCloud files can be downloaded

Actual Behavior

Sometimes a 410 - Gone HTTP status code is returned

Reproducibility

Intermittent

Relevant Log Output

OkHttp	--> GET https://eapi.pcloud.com/stat?path=/Trezor/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 200 OK https://eapi.pcloud.com/stat?path=/Trezor/vault.cryptomator (105ms)
OkHttp	Server: CloudHTTPd-API v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:31 GMT
OkHttp	ETag: "DdCOe4wWNEzXi6PhAbo7tbbM5oy7"
OkHttp	Cache-Control: private, max-age=0
OkHttp	Vary: Accept-Encoding
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=1800
OkHttp	<-- END HTTP
OkHttp	--> GET https://eapi.pcloud.com/getfilelink?path=/Trezor/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 200 OK https://eapi.pcloud.com/getfilelink?path=/Trezor/vault.cryptomator (60ms)
OkHttp	Server: CloudHTTPd-API v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:31 GMT
OkHttp	ETag: "INM57mRMmY7yIts8rUUQiYMJpytk"
OkHttp	Cache-Control: private, max-age=0
OkHttp	Vary: Accept-Encoding
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=1800
OkHttp	<-- END HTTP
OkHttp	--> GET https://evc132.pcloud.com/dpZfYLrhzZe3tmCmZkRWRZZ16bir7Z2ZZYn0ZZITMQacS5AyHuV1chtR1uFHBWTKAk/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 410 Gone https://evc132.pcloud.com/dpZfYLrhzZe3tmCmZkRWRZZ16bir7Z2ZZYn0ZZITMQacS5AyHuV1chtR1uFHBWTKAk/vault.cryptomator (269ms)
OkHttp	Server: CloudHTTPd v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:31 +0000
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=30
OkHttp	<-- END HTTP
GetUnverifiedVaultConfigUseCase	failed 2622aeb6
ExceptionHandler	Unexpected error
org.cryptomator.domain.exception.NetworkConnectionException: org.cryptomator.domain.exception.FatalBackendException: com.pcloud.sdk.internal.networking.APIHttpException: API returned '410 - Gone' HTTP error.
	at org.cryptomator.data.cloud.pcloud.PCloudContentRepository.throwConnectionErrorIfRequired(PCloudContentRepository.kt:32)
	at org.cryptomator.data.cloud.pcloud.PCloudContentRepository.throwWrappedIfRequired(PCloudContentRepository.kt:25)
	at org.cryptomator.data.cloud.InterceptingCloudContentRepository.read(InterceptingCloudContentRepository.kt:173)
	at org.cryptomator.data.repository.DispatchingCloudContentRepository.read(DispatchingCloudContentRepository.kt:160)
	at org.cryptomator.data.cloud.crypto.CryptoCloudFactory.readConfigFileData(CryptoCloudFactory.java:59)
	at org.cryptomator.data.cloud.crypto.CryptoCloudFactory.unverifiedVaultConfig(CryptoCloudFactory.java:52)
	at org.cryptomator.data.repository.CloudRepositoryImpl.unverifiedVaultConfig(CloudRepositoryImpl.java:97)
	at org.cryptomator.domain.usecases.vault.GetUnverifiedVaultConfig.execute(GetUnverifiedVaultConfig.java:28)
	at org.cryptomator.domain.usecases.vault.GetUnverifiedVaultConfigUseCase$Launcher$2.call(GetUnverifiedVaultConfigUseCase.java:92)
	at org.cryptomator.domain.usecases.vault.GetUnverifiedVaultConfigUseCase$Launcher$2.call(GetUnverifiedVaultConfigUseCase.java:86)
	at io.reactivex.internal.operators.flowable.FlowableFromCallable.subscribeActual(FlowableFromCallable.java:39)
	at io.reactivex.Flowable.subscribe(Flowable.java:14935)
	at io.reactivex.Flowable.subscribe(Flowable.java:14882)
	at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82)
	at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker$BooleanRunnable.run(ExecutorScheduler.java:288)
	at io.reactivex.internal.schedulers.ExecutorScheduler$ExecutorWorker.run(ExecutorScheduler.java:253)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:920)
Caused by: org.cryptomator.domain.exception.FatalBackendException: com.pcloud.sdk.internal.networking.APIHttpException: API returned '410 - Gone' HTTP error.
	at org.cryptomator.data.cloud.pcloud.PCloudContentRepository$Intercepted.read(PCloudContentRepository.kt:150)
	at org.cryptomator.data.cloud.pcloud.PCloudContentRepository$Intercepted.read(PCloudContentRepository.kt:47)
	at org.cryptomator.data.cloud.InterceptingCloudContentRepository.read(InterceptingCloudContentRepository.kt:168)
	... 16 more
Caused by: com.pcloud.sdk.internal.networking.APIHttpException: API returned '410 - Gone' HTTP error.
	at com.pcloud.sdk.internal.RealApiClient.getAsRawBytes(RealApiClient.java:1230)
	at com.pcloud.sdk.internal.RealApiClient.lambda$download$5$com-pcloud-sdk-internal-RealApiClient(RealApiClient.java:499)
	at com.pcloud.sdk.internal.RealApiClient$$ExternalSyntheticLambda19.adapt(Unknown Source:6)
	at com.pcloud.sdk.internal.OkHttpCall.adapt(OkHttpCall.java:101)
	at com.pcloud.sdk.internal.OkHttpCall.execute(OkHttpCall.java:43)
	at org.cryptomator.data.cloud.pcloud.PCloudImpl.writeToData(PCloudImpl.kt:274)
	at org.cryptomator.data.cloud.pcloud.PCloudImpl.read(PCloudImpl.kt:246)
	at org.cryptomator.data.cloud.pcloud.PCloudContentRepository$Intercepted.read(PCloudContentRepository.kt:148)
	... 18 more


OkHttp	--> GET https://eapi.pcloud.com/stat?path=/Trezor/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 200 OK https://eapi.pcloud.com/stat?path=/Trezor/vault.cryptomator (108ms)
OkHttp	Server: CloudHTTPd-API v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:41 GMT
OkHttp	ETag: "DdCOe4wWNEzXi6PhAbo7tbbM5oy7"
OkHttp	Cache-Control: private, max-age=0
OkHttp	Vary: Accept-Encoding
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=1800
OkHttp	<-- END HTTP
OkHttp	--> GET https://eapi.pcloud.com/getfilelink?path=/Trezor/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 200 OK https://eapi.pcloud.com/getfilelink?path=/Trezor/vault.cryptomator (55ms)
OkHttp	Server: CloudHTTPd-API v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:41 GMT
OkHttp	ETag: "MEqnm5XExfy0ig4JYtn5eVzU7RVy"
OkHttp	Cache-Control: private, max-age=0
OkHttp	Vary: Accept-Encoding
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=1800
OkHttp	<-- END HTTP
OkHttp	--> GET https://evc212.pcloud.com/dpZfYLrhzZe3tmCmZkRWRZZw6bir7Z2ZZYn0ZZrl21nD7mafkm2xGbegIKk0NlqOWk/vault.cryptomator http/1.1 (unknown length)
OkHttp	User-Agent: pCloud SDK Java unspecified
OkHttp	--> END GET
OkHttp	<-- 200 OK https://evc212.pcloud.com/dpZfYLrhzZe3tmCmZkRWRZZw6bir7Z2ZZYn0ZZrl21nD7mafkm2xGbegIKk0NlqOWk/vault.cryptomator (349ms)
OkHttp	Server: CloudHTTPd v1.1
OkHttp	Date: Tue, 16 Aug 2022 10:15:41 +0000
OkHttp	Etag: "d85ebfffc31e6f5cc664ff2d0b8c6e9c91e8a246"
OkHttp	Last-Modified: Thu, 11 Aug 2022 13:49:11 +0000
OkHttp	Expires: Tue, 16 Aug 2022 16:15:41 +0000
OkHttp	Content-Disposition: attachment; filename="vault.cryptomator"
OkHttp	Accept-Ranges: bytes
OkHttp	Content-Transfer-Encoding: binary
OkHttp	Connection: keep-alive
OkHttp	Keep-Alive: timeout=30
OkHttp	<-- END HTTP

Anything else?

No response

@SailReal SailReal added type:bug Something isn't working storage:pcloud labels Aug 16, 2022
@SailReal
Copy link
Member Author

Just created an upstream issue for it: pCloud/pcloud-sdk-java#39

@LearningAsIGo71
Copy link

I hope pCloud gets this resolved quickly. I would not have bought 10 TB of lifetime pCloud space if I knew it was going to cause problems with my Cryptomator vault.

A temporary workaround I found was to move the problem folder to a different location within the Cryptomator vault. This restored my access to the problem folder and it's subfolders and files.

Until this problem is fixed however, I do not feel comfortable using pCloud.

@SailReal SailReal added type:upstream-bug Something isn't working in upstream and removed type:bug Something isn't working labels Nov 14, 2022
@SailReal SailReal added this to the 1.8.0 milestone Mar 9, 2023
@SailReal SailReal closed this as completed Mar 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
storage:pcloud type:upstream-bug Something isn't working in upstream
Projects
None yet
Development

No branches or pull requests

2 participants