Skip to content

espflash monitor addr2line is different compared to native add2line #600

Open
@MabezDev

Description

@MabezDev

Consider the hello world esp32 example startup:

load:0x3fff0030,len:7104
load:0x40078000,len:15576
load:0x40080400,len:4
0x40080400 - _DoubleExceptionVector
    at ??:??
ho 8 tail 4 room 4
load:0x40080404,len:3876
0x40080404 - _DoubleExceptionVector
    at ??:??
entry 0x4008064c
0x4008064c - __user_exception
    at /home/mabez/.cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-backtrace-0.10.0/src/lib.rs:113

If you actually call addr2line on with these addresses you don't get the same output for the first two entries.

xtensa-esp32-elf-addr2line -a 0x40080400 -e target/xtensa-esp32-none-elf/debug/examples/hello_world
0x40080400
??:0
xtensa-esp32-elf-addr2line -a 0x40080404 -e target/xtensa-esp32-none-elf/debug/examples/hello_world
0x40080404
??:0

Though I would argue that espflash is right here (take a look at https://github.com/esp-rs/xtensa-lx/blob/d6b8224d8a3e426be3564481130d994fe73e2bf6/xtensa-lx-rt/exception-esp32.x.jinja#L91-L93) this creates a confusing log where users think that some exception is occurring.

I think somehow we want to avoid this behaviour, but I don't know the best way to approach this.

cc: @bjoernQ I think you poked around in this bit of code last, any suggestions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    serial monitorIssues relating to the serial monitor functionality

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions