Skip to content
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

Commit ed6c7b751dd4 causes test failures in debuginfo suite on Debian Stable #56730

Closed
kinnison opened this issue Dec 11, 2018 · 7 comments
Closed
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) O-linux Operating system: Linux

Comments

@kinnison
Copy link
Contributor

Hi,

I have been trying to get the rust compiler tests running on my Debian/stable (Stretch) computer and was hitting continuous failure running the debuginfo suite, specifically the pretty-std-collections test. I kept hitting gdb complaining with Python Exception <class 'gdb.error'> No type named alloc::collections::btree::node::InternalNode<i32, ()>. and similar.

Looking at the gdb pretty printer python integration, I decided to try reverting the commit mentioned in the title and now the tests pass just fine.

I'm sadly not well enough versed in gdb/python bindings to begin to debug this, but would be pleased to be remote-hands to help someone else work it out.

@nikic
Copy link
Contributor

nikic commented Dec 11, 2018

The corresponding PR is #56144, cc @tromey.

@estebank estebank added O-linux Operating system: Linux A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) labels Dec 11, 2018
@tromey
Copy link
Contributor

tromey commented Dec 12, 2018

Reverting the commit isn't really an option as the previous code was incorrect. Rewriting it in a different way is hard because BTreeSet and BTreeMap hide the real types of nodes.

What version of gdb are you using? gdb --version will say. I can build that locally and try it out. Perhaps some workaround can be found.

Failing a workaround, I think the only recourse will be to disable the test, and probably that pretty-printer, on whatever gdb releases show the problem.

@kinnison
Copy link
Contributor Author

I guessed that a revert wasn't the right answer, sure :-) It just got me to a point of being able to run the rest of the test suite so I could play with another issue.

GDB is version GNU gdb (Debian 7.12-6) 7.12.0.20161007-git

It is the version packaged in Debian's Stretch (Stable) distribution.

@tromey
Copy link
Contributor

tromey commented Dec 12, 2018

I guessed that a revert wasn't the right answer, sure :-)

Sorry about that, I didn't mean to imply anything.

I've built 7.12 and I can reproduce the problem.

@kinnison
Copy link
Contributor Author

I've built 7.12 and I can reproduce the problem.

That's excellent news. Let me know if you put a patch together and want a confirmation on my system.

@tromey
Copy link
Contributor

tromey commented Dec 12, 2018

I think this was this gdb bug: https://sourceware.org/bugzilla/show_bug.cgi?id=21763. I fixed it in 8.1. There isn't a workaround so I'll be disabling the test.

@kinnison
Copy link
Contributor Author

Fair enough :-) Thanks for looking into this.

kennytm pushed a commit to kennytm/rust that referenced this issue Dec 13, 2018
gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes rust-lang#56730
kennytm added a commit to kennytm/rust that referenced this issue Dec 13, 2018
…er, r=alexcrichton

Disable btree pretty-printers on older gdbs

gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes rust-lang#56730
kennytm added a commit to kennytm/rust that referenced this issue Dec 14, 2018
…er, r=alexcrichton

Disable btree pretty-printers on older gdbs

gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes rust-lang#56730
kennytm added a commit to kennytm/rust that referenced this issue Dec 14, 2018
…er, r=alexcrichton

Disable btree pretty-printers on older gdbs

gdb versions before 8.1 have a bug that prevents the BTreeSet and
BTreeMap pretty-printers from working.  This patch disables the test
on those versions, and also disables the pretty-printers there as
well.

Closes rust-lang#56730
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) O-linux Operating system: Linux
Projects
None yet
Development

No branches or pull requests

4 participants