-
-
Notifications
You must be signed in to change notification settings - Fork 338
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
debug_id is not sent as part of the event #4264
Comments
Hi @saarazari5, could you share a bit more details about the issue? Note that the debugIDs are only generated and added to the events in production bundles. How do you check the event payload?
It that during the source maps upload? Could you share the upload command output? |
Hi @krystofwoldrich , thank you for the quick replay, of course:
the issue seems to be that the trace it self is not associated with the uploaded debug id , i also tried to force the mapping by proxy every access to __sentryDebugIds to return the generated debug_id, it didn't worked. thank you! |
@krystofwoldrich for more context- in our react native app, we are loading multiple hermes bundles, and now we are trying to fix our bundles sourcemaps. we want to be able to reproduce it from dev, because the production cycles are too long. how can we simulate production for sentry? maybe we can patch something locally to make it work? |
Thank you @saarazari5 and @Niryo for the details.
The Debug ID is generated for statically generated bundles, that means Debug ID is not generated when bundle is requested over the development server. When the Debug ID is generated you should see Together with the Debug ID comment at the end of the plain text bundle and sentry-react-native/packages/core/scripts/sentry-debugid-injection-snippet.js Lines 1 to 18 in ddcabff
Are
Perfect, thank you. |
yes indeed, it does print the generated debug_id. when testing in production environment, for some events, the debug_id is sent inside debug_meta however sentry still don't show the unminify code correctly. its show irrelevant code:
you can see that for those different events (which crash at different places in the code) the relevant bundle frames always leads to the same place in the bundle : store.ts. thanks! |
@krystofwoldrich maybe you can take a look at this event? |
Thank you @saarazari5 and @Niryo for the details, in the example that @saarazari5 shared I see that there are 3 hermes bundles in the stack trace, but only one file is referenced in the event JSON debug images. That seems to be the issue, we will investigate this further. Just to confirm, when you symbolicate the stack trace locally, do you use 3 difference source maps one for each bundle? |
we actually only tried to test it on one bundle, since separating our big bundle to multiple ones is a new feature, we assumed that if we will only reference one of the bundles it will show the original source code of all the frames in the stack that come from this bundle alone, as for the rest of the unreferenced bundles we assumed that if we dont generate debug id and artifacts for them it should not effect the bundle that we want to test. |
Thank you, yes that assumption is correct, we are currently checking why the event is not symbolicated. |
Do you possibly change the The event have not been symbolicate due to Could you share your SDK init? |
this.client.init({ im attaching the SDK init in our react native project (: |
Thank you @saarazari5, If it is, why do you initialize the client directly instead of using The |
Based on our today's conversation with @saarazari5 and @Niryo the incorrectly symbolicated frames might be cause by use of Hermes composed source map on frames from Hermes bundle with debug information (the bundle should be generated without debug information or package source map should be used). Another possible culprit could be the source of the bundle. Load from application bundle vs load from downloads. Both variants need more investigation. |
Closing this due to inactivity. If this is still an issue feel free to comment here or open a new issue if the context changed. |
What React Native libraries do you use?
Hermes
Are you using sentry.io or on-premise?
sentry.io (SaS)
@sentry/react-native SDK Version
5.35.0
How does your development environment look like?
OS: mac os sonoma
Node: 20.18.0
Yarn: 4.3.1
react-native: 10.2.7
hermesEnabled: true
newArchEnabled: false
Sentry.init()
using sentry-cli
Steps to Reproduce
Expected Result
event should contain debug-id in its payload.
Actual Result
no debug-id is attached to the payload unless you remove usage of deprecated
...eventProcessors.getGlobalEventProcessors()
fromprepareEvent.js
.also, after removing the usage mentioned, it does add the debug_id payload but bundle image does not have a reference anymore
`
The text was updated successfully, but these errors were encountered: