3 ms·
Interesting. I just took a look at the line of gdb code that's crashing on you. I'm only slightly familiar with gdb's internals, but I can imagine a bunch of di
by DoofusOfDeath 6y ago
Interesting. I just took a look at the line of gdb code that's crashing on you. I'm only slightly familiar with gdb's internals, but I can imagine a bunch of different sources for this bug:
- gdb has a misconception about which c++ ABI was used when compiling the target program, or
- your program is stomping on an object's vtable pointer, leading gdb to follow invalid pointers when trying to parse the object's RTTI, or
- there's a bug in clang++, or
- there's a mix of abi versions in your program's code, perhaps because of unexpected linking issues (static or dynamic), or perhaps because of inconsistent compiler flags when building your code
I'm curious what happens if you build your program with g++ instead of clang++.
- jcelerier 6y agoMy program has no issues running with asan / ubsan so I don't think it would be a vtable / memory overwrite issue as those are pretty much 100% detected. Also I build my whole stack (except glibc and libx11 basically) statically with the same flags so I doubt there could be an abi problem (and LTO builds would complain).
- DoofusOfDeath 6y agoUgh, this is so frustrating. I'd love to solve this mystery, but I can't easily set up an environment for it right now. Best of luck. I hope you'll post an update if you ever get to the bottom of it.