[Crash-utility] [Question] There are differences when gdb7.6 and gdb10.2 parse the stack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The first time I discovered this problem was in crash 8.0.1. I found the stack was very strange. Logically, the code should not have such a stack.
Then, I tried to update the crash version to the latest.I found that the problem still exists.
By chance, I used crash version 7.3.2 in another old environment to enable vmcore, and the stack became logically reasonable.

Finally, I tried many solutions and found that it was related to the updated version of gdb in the crash.
(github url:https://github.com/crash-utility/crash/commit/9fab193)

Based on the latest code, I rolled back this change in gdb10.2. In the same environment, I can see the difference. The BT output of crash is as follows:

crash_805_gdb76> bt
PID: 112450   TASK: ffff88816ae80000  CPU: 41   COMMAND: "vtpstatd"
 #0 [ffff889e3fa87af8] machine_kexec at ffffffff92d059ab
 #1 [ffff889e3fa87c18] __crash_kexec at ffffffff92fb9a99
 #2 [ffff889e3fa87d30] panic at ffffffff9483ed43
 #3 [ffff889e3fa87df8] watchdog_timer_fn at ffffffff93052cf6
 #4 [ffff889e3fa87e30] __hrtimer_run_queues at ffffffff92f5e96e
 #5 [ffff889e3fa87f28] hrtimer_interrupt at ffffffff92f5ffe7
 #6 [ffff889e3fa87fc8] smp_apic_timer_interrupt at ffffffff94a03176
 #7 [ffff889e3fa87ff0] apic_timer_interrupt at ffffffff94a0192f
--- <IRQ stack> ---
 #8 [ffff888263157938] apic_timer_interrupt at ffffffff94a0192f
    [exception RIP: copy_page_range+3681]
    RIP: ffffffff9331d461  RSP: ffff8882631579e8  RFLAGS: 00000246
    RAX: 1ffffd4018a95ad1  RBX: 8000003152b5a805  RCX: ffffea00c54ad688
    RDX: ffffea00c54aee88  RSI: 00007f80d117f000  RDI: ffffffff956468e0
    RBP: ffff8881c5bc2bf8   R8: fffff94018a2e22f   R9: fffff94018a2e22f
    R10: 0000000000000001  R11: fffff94018a2e22e  R12: 0000000000000018
    R13: dffffc0000000000  R14: ffffea00c54ad680  R15: 00007f80d117f000
    ORIG_RAX: ffffffffffffff13  CS: 0010  SS: 0018
 #9 [ffff888263157bc0] copy_process at ffffffff92dadcbd
#10 [ffff888263157e38] _do_fork at ffffffff92dae7a1
#11 [ffff888263157f28] do_syscall_64 at ffffffff92c085f4
#12 [ffff888263157f50] entry_SYSCALL_64_after_hwframe at ffffffff94a000a4
    RIP: 00007f80ec93641a  RSP: 00007ffcb38bbd50  RFLAGS: 00000246
    RAX: ffffffffffffffda  RBX: 00007ffcb38bbd50  RCX: 00007f80ec93641a
    RDX: 0000000000000000  RSI: 0000000000000000  RDI: 0000000001200011
    RBP: 00007ffcb38bbde0   R8: 000000000001b742   R9: 00007f80ee1a0f80
    R10: 00007f80ee1a1250  R11: 0000000000000246  R12: 000000000001b742
    R13: 00007ffcb38bbd70  R14: 0000000000000000  R15: 00007ffcb38bbf00
    ORIG_RAX: 0000000000000038  CS: 0033  SS: 002b


crash_805_gdb102> bt
PID: 112450   TASK: ffff88816ae80000  CPU: 41   COMMAND: "vtpstatd"
 #0 [ffff889e3fa87af8] machine_kexec at ffffffff92d059ab
 #1 [ffff889e3fa87c18] __crash_kexec at ffffffff92fb9a99
 #2 [ffff889e3fa87d30] panic at ffffffff9483ed43
 #3 [ffff889e3fa87df8] watchdog_timer_fn at ffffffff93052cf6
 #4 [ffff889e3fa87e30] __hrtimer_run_queues at ffffffff92f5e96e
 #5 [ffff889e3fa87f28] hrtimer_interrupt at ffffffff92f5ffe7
 #6 [ffff889e3fa87fc8] smp_apic_timer_interrupt at ffffffff94a03176
 #7 [ffff889e3fa87ff0] apic_timer_interrupt at ffffffff94a0192f
--- <IRQ stack> ---
 #8 [ffff888263157938] apic_timer_interrupt at ffffffff94a0192f
    [exception RIP: copy_page_range+3681]
    RIP: ffffffff9331d461  RSP: ffff8882631579e8  RFLAGS: 00000246
    RAX: 1ffffd4018a95ad1  RBX: 8000003152b5a805  RCX: ffffea00c54ad688
    RDX: ffffea00c54aee88  RSI: 00007f80d117f000  RDI: ffffffff956468e0
    RBP: ffff8881c5bc2bf8   R8: fffff94018a2e22f   R9: fffff94018a2e22f
    R10: 0000000000000001  R11: fffff94018a2e22e  R12: 0000000000000018
    R13: dffffc0000000000  R14: ffffea00c54ad680  R15: 00007f80d117f000
    ORIG_RAX: ffffffffffffff13  CS: 0010  SS: 0018
 #9 [ffff888263157bc0] copy_process at ffffffff92dadcbd
#10 [ffff888263157d20] __mutex_init at ffffffff92ed8dd5
#11 [ffff888263157d38] __alloc_file at ffffffff93458397
#12 [ffff888263157d60] alloc_empty_file at ffffffff934585d2
#13 [ffff888263157da8] __alloc_fd at ffffffff934b5ead
#14 [ffff888263157e38] _do_fork at ffffffff92dae7a1
#15 [ffff888263157f28] do_syscall_64 at ffffffff92c085f4
#16 [ffff888263157f50] entry_SYSCALL_64_after_hwframe at ffffffff94a000a4
    RIP: 00007f80ec93641a  RSP: 00007ffcb38bbd50  RFLAGS: 00000246
    RAX: ffffffffffffffda  RBX: 00007ffcb38bbd50  RCX: 00007f80ec93641a
    RDX: 0000000000000000  RSI: 0000000000000000  RDI: 0000000001200011
    RBP: 00007ffcb38bbde0   R8: 000000000001b742   R9: 00007f80ee1a0f80
    R10: 00007f80ee1a1250  R11: 0000000000000246  R12: 000000000001b742
    R13: 00007ffcb38bbd70  R14: 0000000000000000  R15: 00007ffcb38bbf00
    ORIG_RAX: 0000000000000038  CS: 0033  SS: 002b

It seems that #10 to #13 of crash_805_gdb102 are redundant.

---------------------------------------------
In crash_805_gdb76 x86_64_framesize_cache[3].framesize=624 :
(gdb) p x86_64_framesize_cache[0]
$136 = {textaddr = 18446744071880546969, framesize = 272, exception = 0}
(gdb) p x86_64_framesize_cache[1]
$137 = {textaddr = 18446744071906258243, framesize = 192, exception = 0}
(gdb) p x86_64_framesize_cache[2]
$138 = {textaddr = 18446744071908104495, framesize = 8, exception = 0}
(gdb) p x86_64_framesize_cache[3]
$139 = {textaddr = 18446744071878401213, framesize = 624, exception = 0}

but In crash_805_gdb102 x86_64_framesize_cache[3].framesize=0 :
(gdb) p x86_64_framesize_cache[0]
$86 = {textaddr = 18446744071880546969, framesize = 272, exception = 0}
(gdb) p x86_64_framesize_cache[1]
$87 = {textaddr = 18446744071906258243, framesize = 192, exception = 0}
(gdb) p x86_64_framesize_cache[2]
$88 = {textaddr = 18446744071908104495, framesize = 8, exception = 0}
(gdb) p x86_64_framesize_cache[3]
$89 = {textaddr = 18446744071878401213, framesize = 0, exception = 0}

---------------------------------------------
After [Walk the process stack. ] of x86_64_low_budget_back_trace_cmd, the value of *up is as follows:
x86_64.c:4059    switch (x86_64_print_stack_entry(bt, ofp, level, i,*up))

The address returned by crash_805_gdb76:
0xffffffff92d059ab
0xffffffff92fb9a99
0xffffffff9483ed43
0xffffffff93052cf6
0xffffffff92f5e96e
0xffffffff92f5ffe7
0xffffffff94a03176
0xffffffff94a0192f
0xffffffff92dadcbd <-copy_page_range
0xffffffff92dae7a1
0xffffffff92c085f4
0xffffffff94a000a4

The address returned by crash_805_gdb102:
0xffffffff92d059ab
0xffffffff92fb9a99
0xffffffff9483ed43
0xffffffff93052cf6
0xffffffff92f5e96e
0xffffffff92f5ffe7
0xffffffff94a03176
0xffffffff94a0192f
0xffffffff92dadcbd <-copy_page_range
0xffffffff92ed8dd5 -------Parts that shouldn't appear
0xffffffff93458397
0xffffffff934585d2
0xffffffff934b5ead --------Parts that shouldn't appear
0xffffffff92dae7a1
0xffffffff92c085f4
0xffffffff94a000a4

Analyze its symbols:
0xffffffff92ed8dd5 __mutex_init+181
0xffffffff93458397 __alloc_file+407
0xffffffff934585d2 alloc_empty_file+146
0xffffffff934b5ead __alloc_fd+141

---------------------------------------------
In addition, I found that in x86_64.c:4003
up = (ulong *)(&bt->stackbuf[i*sizeof(ulong)]);
More addresses are printed here, some of which are ignored due to the judgment of is_kernel_text

gdb7.6:
Breakpoint 2, x86_64_low_budget_back_trace_cmd (bt_in=0x7ffda3dc3620) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
5: /x *up = 0xffffffff92dadcbd
(gdb)
Continuing.
Breakpoint 2, x86_64_low_budget_back_trace_cmd (bt_in=0x7ffda3dc3620) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
5: /x *up = 0xffffffff92dae7a1
(gdb)
Continuing.

There is a lot more data between the two addresses printed by gdb10.2, as follows:
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff92dadcbd
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x1200011
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffed1420c97a0e
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a1064bd070
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xd8b21300
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890bcf30d30
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890bcf30d38
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88916c4342d8
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a1064bd078
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8881264ec678
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff888263157d80
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92508
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a1064bd0c0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890bcf318f0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890bcf30d28
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890bcf31900
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x1ffff1104c62af9c
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d91c00
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92500
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d925f0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92830
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92858
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d928e0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8881264ec600
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a1064bd000
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92a88
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d927f8
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92f58
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d925e8
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8890f8d92f30
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x1b742
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff888100000000
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x41b58ab3
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff955e0600
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff92da7540
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x41b58ab3
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xfffffffffffffff4
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff934b3620
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a12f4a42c8
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff88a12f4a42d4
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff92ed8dd5
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff93458397
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff934585d2
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff888263157d80
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff888263157d80
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffed10397f52dc
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xb
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffff8881cbfa96e8
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff934b5ead
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x0
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0x10
(gdb)
Continuing.
Thread 1 "crash_805_gdb10" hit Breakpoint 3, x86_64_low_budget_back_trace_cmd (bt_in=0x7fff0dab5a60) at x86_64.c:4005
4005                    if (!is_kernel_text(*up))
9: /x *up = 0xffffffff92dae7a1
(gdb)
Continuing.
---------------------------------------------

I think this problem is caused by gdb, but I tried to read the code and I don't understand how to reproduce this problem without relying on crash. In fact, I can't even debug my vmcore with gdb. I really want to know why this problem happens, can anyone help me? 
If need more information, please reply.
The crash problem has actually been solved, but I am very curious about the cause of this phenomenon. I hope to get more information. I know very little about crashes.
Alternatively, I would like to know how I can parse vmcore via gdb. I have not found any relevant information on the web and I feel alone.

--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux