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

Support split-debug-info for Flutter Desktop (Linux and Windows) #433

Open
3 tasks done
ueman opened this issue Apr 26, 2021 · 23 comments
Open
3 tasks done

Support split-debug-info for Flutter Desktop (Linux and Windows) #433

ueman opened this issue Apr 26, 2021 · 23 comments

Comments

@ueman
Copy link
Collaborator

ueman commented Apr 26, 2021

We need to test

Those options have not been tested. They might require changes in the SDK and/or on the server.
It could be that they already work, and in this case we don't need to do anything.

We need to update the docs after this has been tested.

@marandaneto marandaneto changed the title Support split-debug-info and obfuscate for Flutter Desktop Support/Test split-debug-info and obfuscate for Flutter Desktop Apr 27, 2021
@marandaneto
Copy link
Contributor

marandaneto commented Apr 27, 2021

let's add the windows/macos/linux support to this script

https://github.com/getsentry/sentry-dart/blob/main/flutter/example/run.sh

the way of uploading debug files is the same as iOS/Android -> https://github.com/getsentry/sentry-dart/blob/main/flutter/example/run.sh#L58-L60

we need to see if frames are symbolicated, file/function names are available and line number is also correct.

I believe macOS won't work if Flutter has the same format as iOS debug files, but let's try.

@bruno-garcia you may need to help us on Windows, would you be willing to do so? :)

@bruno-garcia
Copy link
Member

Didn't seem to work: https://sentry.io/organizations/sentry-sdks/issues/2367778946/?project=5428562&query=is%3Aunresolved

We would need to add the debug_meta with the DLL's build_id of sorts. @jan-auer might have pointers.

image

@bruno-garcia
Copy link
Member

image

.so on Windows? They really went all in with ELF it seems

@marandaneto
Copy link
Contributor

indeed, we'd need to install the LoadAndroidImageListIntegration integration for Flutter Desktop, but not only, on Android, sentry-native is also responsible for loading that.
That means, either we ship sentry-native for Linux/Windows or we find a way to do it via Native code or ffi

macOS requires that too, so Sentry Cocoa needs to expose a way of getting the debug image list.
getsentry/sentry-cocoa#1089

@marandaneto marandaneto changed the title Support/Test split-debug-info and obfuscate for Flutter Desktop Support split-debug-info and obfuscate for Flutter Desktop Apr 28, 2021
@ueman
Copy link
Collaborator Author

ueman commented May 13, 2021

The Flutter docs state that obfuscate is not supported on Windows and Linux.

@bruno-garcia
Copy link
Member

Makes it easier. On Windows and Linux we only need to bundle sentry-native to capture native crashes.

@bruno-garcia
Copy link
Member

I'm not involved directly so I don't think this is planned to be honest, but I'm sure we're happy to get contributions if folks want to get support. @kahest will know what's going on

@Ghelwig
Copy link

Ghelwig commented Feb 9, 2024

Just to confirm @kahest is this something that will only be supported with outside contributions or is this something that the Sentry team plans on supporting?

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 2 Feb 9, 2024
@kahest
Copy link
Member

kahest commented Feb 12, 2024

Hey @Ghelwig - we're interested in supporting this, but currently don't have the bandwidth internally. We're happy to work with folks interested in contributing!

@JesseRiemens
Copy link

We would really love to see support for flutter build bundle as well. The only way currently is to build a debug build, which is a heavy penalty on an embedded target.

@vaind
Copy link
Collaborator

vaind commented Nov 9, 2024

We would really love to see support for flutter build bundle as well. The only way currently is to build a debug build, which is a heavy penalty on an embedded target.

@JesseRiemens what is your use-case for flutter build bundle builds? I've never had to use these but AFAIU they only bundle assets so I'm not sure how that's relevant to symbolication (and specifically Windows and Linux desktop support, which is what this issue is about). Could you please clarify and/or create a reproducible example? Ideally in a new issue if it's not related to windows/linux support

@JesseRiemens
Copy link

JesseRiemens commented Nov 9, 2024

We would really love to see support for flutter build bundle as well. The only way currently is to build a debug build, which is a heavy penalty on an embedded target.

@JesseRiemens what is your use-case for flutter build bundle builds? I've never had to use these but AFAIU they only bundle assets so I'm not sure how that's relevant to symbolication (and specifically Windows and Linux desktop support, which is what this issue is about). Could you please clarify and/or create a reproducible example? Ideally in a new issue if it's not related to windows/linux support

We use Yocto with meta-flutter, in a kiosk-like touch screen application. It uses a custom embedder, flutter-pi. We have now resorted to not obfuscating release builds, as a sort of middle ground.

Do you need a more concrete example? I reckon I could set up a MWE repo if that's needed.

Does it require a new issue? This is Linux after all :)

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 9, 2024
@vaind
Copy link
Collaborator

vaind commented Nov 9, 2024

Do you need a more concrete example? I reckon I could set up a MWE repo if that's needed.

A repository with a minimal repro would go a long way towards getting this working - it may be a simple change in the SDK or the sentry_dart_plugin, but it's hard to tell since I have no experience with custom flutter embedders & using bundles with them. I can't promise anything but if it's simple to try this out with your repro, I may be able to have a look while testing out linux support in general.

@JesseRiemens
Copy link

Do you need a more concrete example? I reckon I could set up a MWE repo if that's needed.

A repository with a minimal repro would go a long way towards getting this working - it may be a simple change in the SDK or the sentry_dart_plugin, but it's hard to tell since I have no experience with custom flutter embedders & using bundles with them. I can't promise anything but if it's simple to try this out with your repro, I may be able to have a look while testing out linux support in general.

Do you have experience / access to a raspberry pi? I think it would be able to do it with that.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 11, 2024
@vaind
Copy link
Collaborator

vaind commented Nov 11, 2024

Do you need a more concrete example? I reckon I could set up a MWE repo if that's needed.

A repository with a minimal repro would go a long way towards getting this working - it may be a simple change in the SDK or the sentry_dart_plugin, but it's hard to tell since I have no experience with custom flutter embedders & using bundles with them. I can't promise anything but if it's simple to try this out with your repro, I may be able to have a look while testing out linux support in general.

Do you have experience / access to a raspberry pi? I think it would be able to do it with that.

I do have a pi zero lying around somewhere...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Status: No status
Status: No status
Status: Blocked
Development

No branches or pull requests

9 participants