-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
debuginfo/pretty-uninitialized-vec fails with Cannot access memory at address 0x7fffff7fe000
#64343
Comments
Related WIP pull request: #60826 |
I'm getting this when running |
This test is also failing for me with GDB 8.3 on Arch. Same error. As of GDB 8.3, batch mode causes GDB to exit with non-zero exit status if a command failed, per https://www.gnu.org/software/gdb/news/
We either need to execute the "failing" command (the print that accesses invalid memory) from python in gdb and ignore the exception thrown, or ignore the return code of gdb for this test. |
pre-triage: not certain what priority to assign (tempted to do P-medium). Leaving nominated for dicsussion of priority at T-compiler meeting. Also, I think I'll nominate #60826 for discussion there too. |
topic is too big to handle in triage meeting. Plan is now to allocate steering meeting to topic; see: rust-lang/compiler-team#186 |
for now, tagging P-high because this is causing pain for T-release. Hopefully we'll figure something out in the aforementioned planning meeting. Removing nomination. |
there's a planning meeting scheduled Oct 18th to discuss debuginfo; this will hopefully be addressed as part of that. See rust-lang/compiler-team#186 |
self-assigning to at least look into this as part of prep work for aforementioned planning meeting. |
@pnkfelix I'm confused by |
I believe the impression in the planning meeting was that a rustc change broke this test -- if it is a GDB version issue we can likely work to fix the test and bump GDB version requirements. |
This was definitely a change to GDB that made the test fail. It still does the expected behavior, but GDB now returns a failure return code. |
adding @Centril to assignee list to deal with the test suite stuff to T-release. (See also rust-lang/compiler-team#186 ) |
Of potential interest: This bug does not reproduce for me on a |
…ed vec. I based this solution on my reading of: https://rethinkdb.com/blog/make-debugging-easier-with-custom-pretty-printers#what-is-still-to-be-done That post claims that there is no clean way to check for garbage pointers, and so this PR adopts the same solution of tentatively attempting to convert a dererence to a string, which throws a clean exception on garbage that we can catch and recover from. I only made the change to vec and not the other pretty printers because I wanted to focus my effort on the simplest thing that would resolve issue rust-lang#64343. In particular, I *considered* generalizing this fix to work on the other datatypes in the pretty-printing support library, but I don't want to invest effort in that until after we resolve our overall debugging support strategy; see also issues rust-lang#60826 and rust-lang#65564.
…r, r=alexcrichton made gdb pretty-printing more robust when printing uninitialized vec made gdb pretty-printing more robust when printing uninitialized vec I based this solution on my reading of: https://rethinkdb.com/blog/make-debugging-easier-with-custom-pretty-printers#what-is-still-to-be-done That post claims that there is no clean way to check for garbage pointers, and so this PR adopts the same solution of tentatively attempting to convert a dererence to a string, which throws a clean exception on garbage that we can catch and recover from. I only made the change to vec and not the other pretty printers because I wanted to focus my effort on the simplest thing that would resolve issue rust-lang#64343. In particular, I *considered* generalizing this fix to work on the other datatypes in the pretty-printing support library, but I don't want to invest effort in that until after we resolve our overall debugging support strategy; see also issues rust-lang#60826 and rust-lang#65564. Fix rust-lang#64343
The text was updated successfully, but these errors were encountered: