-
Notifications
You must be signed in to change notification settings - Fork 20
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
Sentinel handling fixes for seastar-addr2line. #24
Sentinel handling fixes for seastar-addr2line. #24
Conversation
Previously we used 0x0 as a sentinel at the end of every address sent to addr2line, but this fails with some binaries (e.g., redpanda compiled with clang 14) because 0 actually resolves to something. Instead just use a string like 'sentinel' as the sentinel since addr2line (and llvm-addr2line) just echos these unchanged. See redpanda issue 5004.
This looks like it got forgotten? @travisdowns does this PR get us back into a state where crashes in integration tests will come with redpanda_backtrace.log populated? |
@jcsp - probably? What is odd is that even without this decoding generally hasn't been hanging for me so I'm not 100% sure what to make of that. Do we have an example of any binary + stack where it hangs? I can test this change there. Not sure what happened with the view, looks like I removed Ben for some reason after adding him. |
IIRC I may have removed him because |
I found a stash which has the correct fix, I believe, stand by. |
@jcsp - I looked a bit more into this and played around locally and I believe the hang is related to slowness in So I think the fix here is to use I propose we wrap this up in a I can do this quickly, but wondering if there's a backtrace & binary handy I can try this on or will just any old DT test hang? |
I don't have anything handy -- would probably just hack a segfault into the code and run a ducktape test, that's what I've done in the past for testing things like the log scraping. |
@travisdowns shall we merge redpanda-data/redpanda#6550 while this one is pending? Not sure how imminent it is |
@jcsp go ahead and merge 6550, I think I am too busy to get this this week and I imagine this is being quite painful in its current state. |
Previously we used 0x0 as a sentinel at the end of every address
sent to addr2line, but this fails with some binaries (e.g., redpanda
compiled with clang 14) because 0 actually resolves to something.
Instead just use a string like 'sentinel' as the sentinel since
addr2line (and llvm-addr2line) just echos these unchanged.