Comments (11)
Is it possible that your libvision_utils_rs.so (and maybe also libapp.so and libflutter.so) is loaded dynamically later in the execution of your app?
I am using the Flutter framework, and IMHO the procedure is like this:
- android app starts
- libflutter.so is loaded at onCreate (or something like that - very early in the lifetime)
- libapp.so is then immediately loaded
- libvision_utils_rs.so is then loaded, via dynamic loading mechanism
If I understand correctly, the native part is auto inited from the Sentry Android, which seems to be called before flutter system has loaded, so your suggestion may be the cause!
I will try that, thank you!
from sentry-native.
Hi @fzyzcjy! Did you upload the debug-info of all your binaries according to the docs?
from sentry-native.
@supervacuus Hi, IMHO it is missing critical information, please correct me if I am wrong!
Usually, the imageAddr is used to determine which .so's symbol should be used. However, here the imageAddr of the stack frame does not correspond to any debug image, so it cannot be decoded.
from sentry-native.
@fzyzcjy, thanks. I misunderstood the issue you were raising. You're saying that the sentry backend retrieves an incomplete list of modules from the Android device? Is this reproducible, or do you have this only from a singular event? In any case, it would help if you could provide an event URL for someone from the team to inspect the whole event.
Typically the image list is incomplete when you are using an obfuscator that also touches the ELF files and makes them unusable for our module-finder or obfuscates the debug-id (#849). There were also issues when users sent a non-crash event before a later crash, where in-between modules were loaded, since we cache the module-list after an initial load.
But it is hard to get an idea of what is happening without seeing the full event.
from sentry-native.
You're saying that the sentry backend retrieves an incomplete list of modules from the Android device?
I guess yes.
Is this reproducible, or do you have this only from a singular event?
Not tried to reproduce yet, but I will report if it reproduces.
In any case, it would help if you could provide an event URL for someone from the team to inspect the whole event.
Unfortunately I cannot use the Sentry cloud service even though I want to use it :( (See getsentry/sentry#51859 for why) But I can send the event to the team! Just give me an email address (or other communication methods).
Typically the image list is incomplete when you are using an obfuscator that also touches the ELF files and makes them unusable for our module-finder or obfuscates the debug-id (#849). There were also issues when users sent a non-crash event before a later crash, where in-between modules were loaded, since we cache the module-list after an initial load.
Thank you for the information!
from sentry-native.
Hey @fzyzcjy thanks for following up - you can send the event to [email protected]
from sentry-native.
Hi, thanks for the reply and sorry for the delay, I have sent the event JSON data to your email
from sentry-native.
@fzyzcjy no worries, thanks for following up, we will take a look
from sentry-native.
You are welcome! Looking forward to it
from sentry-native.
Hi @fzyzcjy! I might not have been clear enough with this statement:
There were also issues when users sent a non-crash event before a later crash, where in-between modules were loaded, since we cache the module-list after an initial load.
Is it possible that your libvision_utils_rs.so
(and maybe also libapp.so
and libflutter.so
) is loaded dynamically later in the execution of your app? In that case, your shared libraries don't appear because we read the module list at one point and cache it, and then later, when you crash, only use that cached version. You can ensure that a refreshed module list is used after loading shared libraries by calling sentry_clear_modulecache()
.
from sentry-native.
This issue has gone three weeks without activity. In another week, I will close it.
But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community
, I will leave it alone ... forever!
"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀
from sentry-native.
Related Issues (20)
- Stream envelopes to file directly HOT 3
- Request: Merge getsentry/crashpad PR #101 to fix llvm-mingw arm64 crashpad builds HOT 3
- Add WINE meta-data to OS context.
- Breadcrumbs should use more efficient ringbuffer
- Ensure unsafe functions are properly guarded HOT 2
- Only four information are in event in on_crash or before_send handler. Exception and other information is missing. HOT 3
- Stream attachments from file to use in transport
- codecov requires a token HOT 1
- Optionally allow the inproc handler to invoke the signal chain at the start HOT 3
- MSVC double-free crash not supported? HOT 6
- Need support for socks5proxy for sentry-native HOT 1
- Wrong MIME type is sent for attachment HOT 3
- Implement sentry_handle_exception for macOS and Linux when using crashpad HOT 3
- How to use sentry native in macos app sandbox!I think maybe have some function can try it HOT 2
- Stack traces seem to incorrectly end at function _sigtramp - leads to incorrect grouping HOT 1
- SIGSEGV possible via `sentry_envelope_write_to_path` when path is invalid HOT 2
- Extend Envelope API to get item count, specific items HOT 2
- Benchmark SDK startup HOT 1
- Forced C++20 requirement? HOT 2
- Crashpad submodule reference doesn't point to a valid commit HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sentry-native.