You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the inclusion of sentry-native for Windows builds (getsentry/sentry-dart#2286) the plugin exhibits an issue.
When run, the CLI is trying to upload everything in the current directory but there are some intentionally broken debug files inside one of the sentry-native dependencies' test files so the upload fails with "Invalid checksum" (and no details because CLI logs are not piped...)
This is what it looks like:
entry CLI downloaded successfully.
retrieving config from pubspec.yaml
☑ reading config values
☑ validating config values
[❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚❚] 18% uploading debug symbols..
INFO 2024-10-15 20:06:18.197891599 +02:00 sentry-cli was invoked with the following command line: "/home/ivan/dev/sentry-dart/flutter/example/.dart_tool/pub/bin/sentry_dart_plugin/sentry-cli" "--log-level" "info" "debug-files" "upload" "--org" "sentry-sdks" "--project" "sentry-flutter" "--include-sources" "/home/ivan/dev/sentry-dart/flutter/example" "--wait"
INFO 2024-10-15 20:06:18.197961939 +02:00 Issuing a command for Organization: sentry-sdks Project: sentry-flutter
error: Invalid checksum
exitCode: 1
while when you launch sentry-cli manually, you can see the context:
DEBUG 2024-10-15 22:02:55.368911765 +02:00 finished zip archive /home/ivan/dev/sentry-dart/flutter/example/linux/flutter/ephemeral/.plugin_symlinks/sentry_flutter/example/build/linux/x64/release/_deps/sentry-native-src/external/crashpad/third_party/zlib/zlib/google/test/data/test_nocompress.zip
DEBUG 2024-10-15 22:02:55.368959756 +02:00 searching zip archive /home/ivan/dev/sentry-dart/flutter/example/linux/flutter/ephemeral/.plugin_symlinks/sentry_flutter/example/build/linux/x64/release/_deps/sentry-native-src/external/crashpad/third_party/zlib/zlib/google/test/data/Wrong CRC.zip
error: Invalid checksum
Proposed solution
Uploading everything in the current directory is not really necessary - we only need to upload debug files for the recent build. The problem is that we don't have a sure way to know what was built (see #94). Instead, we can look for the build output files based on the path & name - we know they're named a certain way for each platform build and we can search the current directory recursively until we find the right structure and upload only what's necessary. If we can't locate the build according to the rules in the plugin, we can fall back to the current behaviour of uploading eveything.
Benefits
faster debug symbol uploads (unnecessary files are not uploaded)
less space occupied on Sentry
avoid potential issues with broken files
Problems
we may miss some of the debug files if the logic that locates them is incomplete
The text was updated successfully, but these errors were encountered:
With the inclusion of sentry-native for Windows builds (getsentry/sentry-dart#2286) the plugin exhibits an issue.
When run, the CLI is trying to upload everything in the current directory but there are some intentionally broken debug files inside one of the sentry-native dependencies' test files so the upload fails with "Invalid checksum" (and no details because CLI logs are not piped...)
This is what it looks like:
while when you launch sentry-cli manually, you can see the context:
Proposed solution
Uploading everything in the current directory is not really necessary - we only need to upload debug files for the recent build. The problem is that we don't have a sure way to know what was built (see #94). Instead, we can look for the build output files based on the path & name - we know they're named a certain way for each platform build and we can search the current directory recursively until we find the right structure and upload only what's necessary. If we can't locate the build according to the rules in the plugin, we can fall back to the current behaviour of uploading eveything.
Benefits
Problems
The text was updated successfully, but these errors were encountered: