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

Backblaze S3 Unsupported header 'x-amz-checksum-sha256' received for this API call #16107

Closed
Dexus opened this issue Jul 7, 2024 · 13 comments
Closed
Assignees
Labels
b2 Backblaze B2 Protocol Implementation bug s3 AWS S3 Protocol Implementation thirdparty Issue caused by third party
Milestone

Comments

@Dexus
Copy link

Dexus commented Jul 7, 2024

This ticket system is to report bugs and feature requests. For support, visit the help page first.

  • If you have trouble connecting to a server or your login credentials are not valid, try to resolve the issue with the assistance of your hosting service provider. Any such ticket will be closed with a resolution of thirdparty.

Describe the bug
I have installed the latest 9.0.0 version, after I was not able anymore to upload any file to backblaze, I clicked on settings, then the App crashes everytime.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
Working Cyberduck, where i can upload files and open the settings.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. macOS] Win
  • Version [e.g. 22] 11

Log Files
Please include the log file. You can reach the logging output in Preferences → Connection.
cyberduck.log

Additional context
Add any other context about the problem here.

@Dexus
Copy link
Author

Dexus commented Jul 7, 2024

btw. the file in the logs are 0 byte, i have also deletet them but did not change anything.

@dkocher
Copy link
Contributor

dkocher commented Jul 7, 2024


2024-07-07 19:35:18,645 [Thread-5] ERROR ch.cyberduck.core.TransferErrorCallbackControllerFactory - Failure loading callback class class cli.Ch.Cyberduck.Ui.Winforms.Threading.DialogTransferErrorCallback. cli.Ch.Cyberduck.Ui.Winforms.Threading.DialogTransferErrorCallback.<init>()
2024-07-07 19:35:18,654 [Thread-5] ERROR ch.cyberduck.core.AlertCallbackFactory - Failure loading callback class class cli.Ch.Cyberduck.Ui.Winforms.Threading.DialogAlertCallback. cli.Ch.Cyberduck.Ui.Winforms.Threading.DialogAlertCallback.<init>()

@dkocher dkocher added this to the 9.0.1 milestone Jul 7, 2024
@AliveDevil
Copy link
Contributor

Missed changed constructor args for callbacks in #15912:

Broken:

windows\src\main\csharp\ch\cyberduck\ui\winforms\threading\DialogAlertCallback.cs
windows\src\main\csharp\ch\cyberduck\ui\winforms\threading\DialogRecursiveCallback.cs
windows\src\main\csharp\ch\cyberduck\ui\winforms\threading\DialogTransferErrorCallback.cs

@AliveDevil AliveDevil added bug interface User Interface labels Jul 8, 2024
@AliveDevil
Copy link
Contributor

Moved the missing failure alerts to #16113.

Let's focus on the crash reports: Can you attach the crash report (latest file in %AppData%\Cyberduck\CrashReporter) using the GitHub web interface, or e-mail that to support@cyberduck.io with subject "GH-16107".

@Dexus
Copy link
Author

Dexus commented Jul 8, 2024

@AliveDevil
Copy link
Contributor

AliveDevil commented Jul 8, 2024

Please navigate to %AppData%\iterate_GmbH and move all Cyberduck.exe_Url-folders to a temporary location.
Then navigate to %AppData%\Cyberduck and either move away the file Cyberduck.user.config or delete the line containing connection.protocol.default (as in #15795 (comment)).

Can confirm, that with 9.0.0 having this line

<setting name="connection.protocol.default" value="bad" />

in the Cyberduck.user.config crashes the application. Will need to amend that.

AliveDevil added a commit that referenced this issue Jul 8, 2024
@AliveDevil AliveDevil linked a pull request Jul 8, 2024 that will close this issue
AliveDevil added a commit that referenced this issue Jul 8, 2024
@Dexus
Copy link
Author

Dexus commented Jul 8, 2024

Please navigate to %LocalAppData%\iterate GmbH and move all Cyberduck.exe_Url-folders to a temporary location.

this path is not there - but %AppData%\iterate_GmbH with the folder prefix. - i created a zip and removed it.

Then navigate to %AppData%\Cyberduck and either move away the file Cyberduck.user.config or delete the line containing connection.protocol.default (as in #15795 (comment)).

removed the line, now it works again without a crash.

However, there is now the problem that I make uploads that seem to be successful but never appear on backblaze. (at least not within 10 minutes)

@AliveDevil
Copy link
Contributor

but %AppData%\iterate_GmbH with the folder prefix

Apologies, I really thought it was local appdata.

However, there is now the problem that I make uploads that seem to be successful but never appear on backblaze. (at least not within 10 minutes)

This is an issue with the current 9.0.0-release. An alert window should be shown, but due to an issue this doesn't happen, so the upload is canceled, and marked as completed.

Please enable debug logging in the preferences window again, and retry the upload.
Attach the cyberduck log file either here (warning: public) or as e-mail attachment to support@cyberduck.io.
With the debug log, the real issue will be logged.

@Dexus
Copy link
Author

Dexus commented Jul 9, 2024

Hi, have send the log by mail.

@AliveDevil
Copy link
Contributor

AliveDevil commented Jul 9, 2024

> PUT /002.jpg HTTP/1.1
> Content-Type: image/jpeg
> x-amz-acl: private
> x-amz-checksum-sha256: Gy+ntJ0qfWk+w9o7XUbDRHFfm2is2lK7mooEHCuNl3E=
> x-amz-content-sha256: 1b2fa7b49d2a7d693ec3da3b5d46c344715f9b68acda52bb9a8a041c2b8d9771
> x-amz-storage-class: STANDARD
> Content-Length: 320545
> Host: ***.eu-central-003.backblazeb2.com
> Connection: Keep-Alive
> User-Agent: Cyberduck/9.0.0.41777 (Windows 10/10.0.22631.0) (amd64)
> Accept-Encoding: gzip,deflate
> Expect: 100-continue
> x-amz-date: 20240709T074721Z
> Authorization: ********
< HTTP/1.1 400 
< Server: nginx
< Date: Tue, 09 Jul 2024 07:47:23 GMT
< Content-Type: application/xml
< Content-Length: 200
< Connection: keep-alive
< x-amz->-: f15a449517f8b909
< x-amz-id-2: ade1uE2uxbjtvOXd2bpg=
< Cache-Control: max-age=0, no-cache, no-store
< Strict-Transport-Security: max-age=63072000
Caused by: org.apache.http.client.HttpResponseException: status code: 400, reason phrase: Unsupported header 'x-amz-checksum-sha256' received for this API call.
	at ch.cyberduck.core.s3.S3ExceptionMappingService.map(S3ExceptionMappingService.java:120) ~[Cyberduck.Protocols.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.s3.S3ExceptionMappingService.map(S3ExceptionMappingService.java:43) ~[Cyberduck.Protocols.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.AbstractExceptionMappingService.map(AbstractExceptionMappingService.java:53) ~[Cyberduck.Core.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.s3.S3WriteFeature$1.call(S3WriteFeature.java:86) ~[Cyberduck.Protocols.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.s3.S3WriteFeature$1.call(S3WriteFeature.java:73) ~[Cyberduck.Protocols.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.http.AbstractHttpWriteFeature$2.run(AbstractHttpWriteFeature.java:99) ~[Cyberduck.Core.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at ch.cyberduck.core.threading.NamedThreadFactory$1.run(NamedThreadFactory.java:59) ~[Cyberduck.Core.DLL:10a5fb9d32e92c0422eccaf7936efce7d9cb4dd0]
	at java.lang.Thread.run(Thread.java:955) ~[?:1.8.0]

@AliveDevil AliveDevil changed the title App Crash on open settings (send report or no send report) Backblaze S3 Unsupported header 'x-amz-checksum-sha256' received for this API call Jul 9, 2024
@AliveDevil AliveDevil added s3 AWS S3 Protocol Implementation thirdparty Issue caused by third party b2 Backblaze B2 Protocol Implementation and removed interface User Interface labels Jul 9, 2024
@AliveDevil AliveDevil assigned dkocher and unassigned AliveDevil Jul 9, 2024
@AliveDevil
Copy link
Contributor

Backblaze isn't S3 API compatible: S3-Compatible API#Unsupported Features

Requests that include the following checksum HTTP headers are rejected with a 400 Bad Request response:

  • x-amz-checksum-crc32
  • x-amz-checksum-crc32c
  • x-amz-checksum-sha1
  • x-amz-checksum-sha256
  • x-amz-checksum-algorithm
  • x-amz-checksum-mode

Backblaze doesn't care about their S3 API compatibility, please use the Backblaze protocol instead.

@AliveDevil
Copy link
Contributor

AliveDevil commented Jul 9, 2024

For a workaround you can create default.properties in %AppData%\Cyberduck and append the line

s3.upload.checksum.header=false

if you want to continue with the S3 connection.

Or enable the "Backblaze S3 compatible EU-central"-profile in Preferences -> Profiles, and use that instead.
You can directly download that file here, and place it in %AppData%\Cyberduck\Profiles.

@AliveDevil
Copy link
Contributor

Closing as this should be resolved by either using the Backblaze S3-profile, or disabling s3.upload.checksum.header.
Was handled in #15841.

@AliveDevil AliveDevil self-assigned this Jul 9, 2024
dkocher added a commit that referenced this issue Jul 9, 2024
Amend Add forNameOrDefault to ProtocolFactory
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
b2 Backblaze B2 Protocol Implementation bug s3 AWS S3 Protocol Implementation thirdparty Issue caused by third party
Projects
None yet
Development

No branches or pull requests

3 participants