Comments (5)
I am curious about how much memory it uses. Are there any memory leaks in the library? Could you provide details of the process? For example, VSZ/USS/RSS.
By the way, could you give me some background about this process if possible? Is it a long-running process to do symbolization? How many libraries and sizes would be? I mean, do you believe it just uses up all memory or just leaks?
from blazesym.
I just made a patch to give the caller a chance to handle it. However, according to the manual, the allocator may abort without a return. Please check the patch if you can reproduce it.
We don't have a way to release specific ELF from memory except free the whole symbolizer. From the C API point of view, it should call blazesym_free()
to free the whole symbolizer, and create a new one.
from blazesym.
I just made a patch to give the caller a chance to handle it. However, according to the manual, the allocator may abort without a return. Please check the patch if you can reproduce it.
Sorry for the delay in getting back to you. I can't reproduce it every time, so this is just a guess, I will let you know if it happens again with this fix.
We don't have a way to release specific ELF from memory except free the whole symbolizer. From the C API point of view, it should call
blazesym_free()
to free the whole symbolizer, and create a new one.
Thanks for the advice, I call blazesym_free()
only when the whole program exit like this, The symbolizer
is a global var, is that correct?
from blazesym.
Sorry for the delay in getting back to you. I can't reproduce it every time, so this is just a guess, I will let you know if it happens again with this fix.
No worries! Thank you for reporting this issue.Thanks for the advice, I call
blazesym_free()
only when the whole program exit like this, Thesymbolizer
is a global var, is that correct?
Symbolizer
is not a global variable. you may have multiple instances with different features enabled or for different threads.
from blazesym.
Sorry for the delay in getting back to you. I can't reproduce it every time, so this is just a guess, I will let you know if it happens again with this fix.
No worries! Thank you for reporting this issue.
Thanks for the advice, I callblazesym_free()
only when the whole program exit like this, Thesymbolizer
is a global var, is that correct?
Symbolizer
is not a global variable. you may have multiple instances with different features enabled or for different threads.
Finally, we found the root cause of the mem leak, it was NOT due to blazesym but some code dependency we wrote. Sorry for making so much noise here. And thanks again for the enhancement of this wonderful lib!
from blazesym.
Related Issues (20)
- Symbolization of addresses in APKs
- Compare performance to `llvm-symbolizer` HOT 5
- Support inlined function lookup HOT 1
- Support `debuginfod`
- Support breakpad format?
- Support/honor mini debug information?
- Support `DebugFission` format? HOT 1
- Migrate from `log` to `tracing` HOT 6
- Correctly handle `STT_GNU_IFUNC` ELF symbols HOT 1
- Infer build ID section based on section type HOT 1
- Niceify `Debug` representation of various types
- Add `*_sorted` variants of symbolization APIs HOT 6
- Use `/tmp/perf-[pid].map` HOT 3
- Add more context to errors HOT 1
- ELF symbolization of `__libc_init_first` from glibc doesn't work anymore HOT 7
- inspect: Provide access to all discovered symbols HOT 2
- inspect: Proper file offset reporting for DWARF HOT 1
- enhance blazecli with more functionality
- API for single address symbolization HOT 3
- Perform fewer steps on "local" system for remote symbolization
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 blazesym.