Hi,
Below is some more information on this issue. Kindly reply as this is bit urgent issue we need to solve.
(1) I missed one line at the end of this backtrace, that is as below:
Backtrace stopped: Cannot access memory at address 0x48
(2) gdb shows this error because function "dwarf_get" tries to access memory address 0x48.
(3) To see why it is 72, I check it in the frame 1 as below(as dwarf_get gets inlined)
(gdb) f 1
#1 apply_reg_state (c=0x55681cce70, rs=0x5568069838 <local_addr_space+215176>) at ../contrib/libunwind/src/dwarf/Gparser.c:843
843 ret = dwarf_get (c, c->loc[c->ret_addr_column], &ip);
(gdb) print c->ret_addr_column
$10 = 31
(gdb) print c->loc[c->ret_addr_column]
$11 = {
val = 72
}
(gdb)
(4) All values of this structure are as below:
(gdb) print c->loc
$13 = {{
val = 366818942352
}, {
val = 366818942360
}, {
val = 366818942368
}, {
val = 366818942376
}, {
val = 366818942384
}, {
val = 366818942392
}, {
val = 366818942400
}, {
val = 366818942408
}, {
val = 366818942416
}, {
val = 366818942424
}, {
val = 366818942432
}, {
val = 366818942440
}, {
val = 366818942448
}, {
val = 366818942456
}, {
val = 366818942464
}, {
val = 366818942472
}, {
val = 0
}, {
val = 8
}, {
val = 16
}, {
val = 24
}, {
val = 32
}, {
val = 40
}, {
val = 48
}, {
val = 366818942536
}, {
val = 366818942544
}, {
val = 366818942552
}, {
val = 366818942560
}, {
val = 366818942568
}, {
val = 56
}, {
val = 366818942584
}, {
val = 64
}, {
val = 72 <--- This one is used by dwarf_get as memory address, which breaks the execution.
}, {
val = 0
} <repeats 156 times>}
(gdb)
Does this data structure look ok or it has some missing values in between.
who fills these values and what is the use of them?
and also, is it some libunwind issue which has already been fixed in later versions.I use .99 version .
Your reply is highly appreciated.
Thanks & Regards,
Manish