-
-
Notifications
You must be signed in to change notification settings - Fork 238
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
Support Flutter Web WASM symbolication #1480
Comments
runtime parsing can also be improved, currently (dart2wasm used in tests and introduced in #2113) we get this: {
event_id: dd5764b21ef04faa84c5c9c4a4e54447,
timestamp: 2024-06-20T17: 43: 53.646Z,
platform: other,
user: {
ip_address: {
{
auto
}
}
},
sdk: {
name: sentry.dart.browser,
version: 8.3.0,
packages: [
{
name: pub: sentry,
version: 8.3.0
}
]
},
exception: {
values: [
{
type: _Exception,
value: Exception,
stacktrace: {
frames: [
{
filename: unparsed,
function: at_rootRunUnarytear-offtrampoline(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
6756
]: 0xd9fef),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: at_rootRunUnary(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
2929
]: 0x86136),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: atclosurewrapperatfile: ///Users/ivan/dev/tools/flutter/bin/cache/dart-sdk/lib/_internal/wasm/lib/async_patch.dart: 83: 16trampoline(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
5634
]: 0xc3c13),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: at_awaitHelperclosureatfile: ///Users/ivan/dev/tools/flutter/bin/cache/dart-sdk/lib/_internal/wasm/lib/async_patch.dart: 83: 16(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
5628
]: 0xc3b39),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: atDeclarer.testclosureatfile: ///Users/ivan/.pub-cache/hosted/pub.dev/test_api-0.7.2/lib/src/backend/declarer.dart: 213: 22inner(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
6573
]: 0xd758e),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: atclosurewrapperatfile: ///Users/ivan/dev/sentry-dart/dart/test/sentry_client_test.dart: 121: 7trampoline(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
1146
]: 0x5bdf9),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
},
{
filename: unparsed,
function: atmainclosureatfile: ///Users/ivan/dev/sentry-dart/dart/test/sentry_client_test.dart: 121: 7(http: //localhost: 60835/MHrTmoJ7AVBxEfI0R9zMcjvHD1kUs8gC/test/sentry_client_test.dart.browser_test.dart.wasm: wasm-function[
942
]: 0x58b01),
abs_path: http: //localhost: 60835/unparsed,
in_app: true
}
]
}
}
]
}
} |
flutter web wasm won't generate DWARF since it disables some binaryen optimizations, instead they utilize sourcemaps we can generate source maps on flutter wasm with the once this issue lands this flutter web wasm symbolication for us will be unblocked |
fyi the stack_trace package was updated to support parsing WASM frames, see https://pub.dev/packages/stack_trace/changelog it requires dart 3.4 so it's unusable for us but we can get take a look in how they parse them |
the bump to 3.4 seems arbitrary... here's the PR for future reference. https://github.com/dart-lang/stack_trace/pull/159/files#diff-ed67bb474f51f23727dc5890aa26e248d4190e14f574b2e46cf631864d38354e |
This dart2wasm issue is now done and fully supports sourcemaps generation starting from dart 3.7.0-41.0.dev |
@buenaflor does that mean the issue can be closed, or it is just unblocked? |
@smeubank it's unblocked |
Description
JS package -> https://github.com/getsentry/sentry-javascript/tree/develop/packages/wasmThe SDK needs to fill thedebug_meta
property with the image list.Flutter Web probably exposes theWebAssembly.Module
as well, if not, we can leverage that by using the JS SDK directly.The Dart plugin should upload the DWARF files.SDKs cannot depend onhtml
packages nor its transitive dependencieshttps://docs.flutter.dev/platform-integration/web/wasm#requires-preview-js-interop-to-access-browser-and-js-apisSentry Flutter SDK isn't compatible as of now.Sentry Dart SDK compiles just fine.Blocked by flutter/flutter#127564 as wellUpdate by @buenaflor:
We are going to utilise sourcemaps generated like so
flutter web --wasm --source-maps
However the current generated sourcemaps by dart2wasm don't contain function names.Currently blocked by: dart-lang/sdk#56718This dart2wasm issue is now done and fully supports sourcemaps generation starting from dart 3.7.0-41.0.dev
The text was updated successfully, but these errors were encountered: