-
Notifications
You must be signed in to change notification settings - Fork 444
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
Use libbacktrace for stack dumps if available #4088
Conversation
ChrisDodd
commented
Aug 1, 2023
- Memory allocation tracing hooks to track where memory is being allocated and print summary with stack trace of each allocation site. Used when logging in ComputeWriteSet to understand how/why it is using so much memory.
1ade6b3
to
c79a5af
Compare
Turns out with PIE executables (which Ubuntu 20.04 uses by default), addr2line is completely broken and can't produce a useful backtrace. The libbacktrace library from Github is a good alternative -- produces nice dumps and even deals with inlined calls, and is more efficient to boot. We don't really want a dependency on it, but using it automatically when it is installed is a good compromise. |
c79a5af
to
7d1f875
Compare
Has anyone analyzed the reasons for the CI test failures? |
Likely a missing include, which is why the unity builds pass. The sanitizer failure looks like a |
edbe4d8
to
143aecb
Compare
Test failures are because I added |
e948198
to
ea4bb92
Compare
@ChrisDodd Looks like 3 of the CI builds are still failing even after #4092 was merged in last week., 2 of them related to Bazel builds. Is this something that someone at Google might be able to help with? |
f485d99
to
7c17062
Compare
- Memory allocation tracing hooks to track where memory is being allocated and print summary with stack trace of each allocation site. Used when logging in ComputeWriteSet to understand how/why it is using so much memory.
7c17062
to
9f679e6
Compare
I believe the failure is a Clang problem, since the clang build also fails. Bazel uses Clang by default iirc. |
The bazel problems were actually because it builds without garbage collection by default. I've fixed that to actually build, but it is not clear that such a build would actually be useful, as it would require immense amounts of memory, due to not freeing anything. |