Comments (4)
For the CLI version, it doesn't crash and even collects some events, but it seems that the symbols are loaded only from ELF file but not from the shared libraries. I'll try to dig a bit deeper into that issue with the crash.
from orbit.
Interesting. We used to profile Orbit itself with Orbit (also quite recently), so I am a bit surprised. I remember some issues shared libraries, when passing the wrong flags to the dlopen call, but not sure if this is relevant.
I assume the crash does manifest in a stall in a non-debug build? In general, would be interesting to see what the other threads are doing.
We've also seen issues in the past, when the target has too many modules. You might want to try disabling auto-symbol loading (start with --auto_symbol_loading=false
) and load symbols manually.
it seems that the symbols are loaded only from ELF file but not from the shared libraries.
It should be possible to open the capture in the UI version afterwards and then load the symbols (right-click on the module, in case auto-symbol loading does not work).
from orbit.
I remember some issues shared libraries, when passing the wrong flags to the dlopen call, but not sure if this is relevant.
It's hard to say so far, but at least it seems that the deadlock happens on different libraries at different moments of time.
I assume the crash does manifest in a stall in a non-debug build?
I'm using debug build: -DCMAKE_BUILD_TYPE=Debug
.
In general, would be interesting to see what the other threads are doing.
Agree, I'll take a look into gdb in the evening. After brief examination yesterday, it seems that Orbit allocates one thread from thread pool per one shared library to load symbols, so these threads are running in parallel. And, at some moment, the deadlock happens. But I'll double check and see at which states all the threads are.
from orbit.
I'm still debugging/reading the code. That's something weird around the mutex in ScheduleAfterIfSuccess
(Executor.h)
But here, as I promised, are threads and stack traces (the current thread has ID 32):
threads_bt.txt
threads_info.txt
P.S.
By the way, it seems that this deadlock verification is only enabled in debug version of absl, so I'm not sure if this issue is reproduced in the Release version.
from orbit.
Related Issues (20)
- Build failing on Ubuntu 23.10 HOT 1
- U888
- orbit: paly_lift.py collison issue HOT 1
- compile failed on Ubuntu20.04.1 HOT 10
- Build is broken due to Orbit not having Conan lock files anymore HOT 5
- Modifying conanfile.py does not trigger build on CI HOT 1
- "Report a bug "and "Request feature" are broken links HOT 2
- Show numa nodes in scheduler track
- Kernel tracepoints memory layout should be set at runtime by reading sysfs entry
- ERROR: googleapis/cci.20221108: Cannot load recipe. Conan version (1.58.0) does not satisfy the defined one HOT 1
- conan profile: error: argument subcommand: invalid choice: 'new' HOT 1
- Live view filtering when capturing not working
- Can't compile Windows - openssl/1.1.1.s HOT 3
- Add Bazel Support
- conan2 support HOT 1
- Banmnsm
- Suggestion for more debug symbol folder file layouts (remotely-mounted system ones, debuginfod…) HOT 1
- Build failure of `TrampolineTest.cpp` on non-AVX platform (not needed to build and run `OrbitService` and `Orbit`)
- Latest Conan release doesn HOT 1
- Latest Conan version doesn't recognize llvm-core HOT 1
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 orbit.