DWO files seem to be corrupted / truncated
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
*Title*: Debugger cannot read local variables or full stack
*Description*:
When trying to read a local variable or get a full backtrace in gdb, I get the following error:
```
bt
DW_FORM_strp pointing outside of .debug_str section [in module /usr/local/bin/bazel-out/k8-dbg/bin/external/envoy/source/extensions/transport_sockets/tls/_objs/context_config_lib/context_config_impl.pic.dwo]
```
I expect to see a full backtrace when I run backtrace.
Moreover, when I run `readelf` on a randomly chosen `dwo` file, I see a bunch of errors:
```
readelf -w bazel-out/k8-dbg/bin/source/server/_objs/ssl_context_manager_lib/ssl_context_manager.pic.dwo > /dev/null
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode 37 seen
readelf: Error: Unknown macro opcode ea seen
readelf: Error: Unknown macro opcode e3 seen
readelf: Error: Unknown macro opcode 94 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode d9 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode d6 seen
readelf: Error: Unknown macro opcode 7f seen
readelf: Error: Unknown macro opcode c1 seen
readelf: Error: Unknown macro opcode a6 seen
readelf: Error: Unknown macro opcode ad seen
readelf: Error: Unknown macro opcode b1 seen
readelf: Error: Unknown macro opcode 2c seen
readelf: Error: Unknown macro opcode 28 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode ad seen
readelf: Error: Unknown macro opcode b2 seen
readelf: Error: Unknown macro opcode a5 seen
readelf: Error: Unknown macro opcode a6 seen
readelf: Error: Unknown macro opcode d4 seen
readelf: Error: Unknown macro opcode 7f seen
readelf: Error: Unknown macro opcode 70 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode d4 seen
readelf: Error: Unknown macro opcode 97 seen
readelf: Error: Unknown macro opcode cb seen
readelf: Error: Unknown macro opcode 53 seen
readelf: Error: Unknown macro opcode ae seen
readelf: Error: Unknown macro opcode ad seen
readelf: Error: Unknown macro opcode 20 seen
readelf: Error: Unknown macro opcode 98 seen
readelf: Error: Unknown macro opcode 9e seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode 6b seen
readelf: Error: DW_MACRO_start_file used, but no .debug_line offset provided.
readelf: Error: Unknown macro opcode c2 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode 92 seen
readelf: Error: Unknown macro opcode 86 seen
readelf: Error: Unknown macro opcode 71 seen
readelf: Error: Unknown macro opcode c6 seen
readelf: Error: Unknown macro opcode b6 seen
readelf: Error: Unknown macro opcode d0 seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode e7 seen
readelf: Error: Unknown macro opcode cb seen
readelf: Error: Unknown macro opcode 81 seen
readelf: Error: Unknown macro opcode 8f seen
readelf: Error: .debug_macro section not zero terminated
readelf: Error: Unknown macro opcode b6 seen
readelf: Error: Unknown macro opcode 50 seen
readelf: Error: Unknown macro opcode 82 seen
readelf: Error: Unknown macro opcode a0 seen
readelf: Error: DW_MACRO_start_file used, but no .debug_line offset provided.
readelf: Error: Unknown macro opcode cc seen
readelf: Error: Unknown macro opcode 0b seen
readelf: Error: Unknown macro opcode dd seen
readelf: Error: .debug_macro section not zero terminated
```
*Repro steps*:
```
bazel build -s -c dbg //source/exe:envoy-static
readelf -w bazel-out/k8-dbg/bin/source/server/_objs/ssl_context_manager_lib/ssl_context_manager.pic.dwo > /dev/null
```
I would like to produce a call stack, but this issue prevents outputting a call stack.
Contributor guide
Assessment
This issue has not been assessed yet.