The crash built-in command "bt -v" prints incorrect stack-end address (end_of_stack).

Solution Verified - Updated -

Issue

  • The crash built-in command "bt -v" prints incorrect stack-end address (end_of_stack).
crash> set -p
    PID: 1632
COMMAND: "insmod"
   TASK: ffff983018e19900  [THREAD_INFO: ffff983018e19900]
    CPU: 1
  STATE: TASK_RUNNING (PANIC)

crash> help -t | grep stack_end
   stack_end_magic: 57ac6e9d

crash> bt -v
PID: 1632   TASK: ffff983018e19900  CPU: 1   COMMAND: "insmod"
  possible stack overflow: ffff983018e19918: ffffffffc099400a != STACK_END_MAGIC
                           ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^ 
  • The bt -v command output shows that the value stored at 0xffff983018e19918 is 0xffffffffc099400a. However, the value stored at 0xffff983018e19918 is NULL.
crash> px 0xffff983018e19900 + sizeof(struct thread_info)
$1 = 0xffff983018e19918

crash> rd ffff983018e19918                                
ffff983018e19918:  0000000000000000                    ........     
^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^                                 
  • The correct stack-end address is 0xffffb41b80b48000.
crash> task_struct.stack -ox
struct task_struct {
    [0x20] void *stack;
}

crash> task -R stack                                                
PID: 1632   TASK: ffff983018e19900  CPU: 1   COMMAND: "insmod"      
  stack = 0xffffb41b80b48000,                                       

crash> rd 0xffffb41b80b48000                                 
ffffb41b80b48000:  ffffffffc099400a                    .@......

Environment

  • Red Hat Enterprise Linux release 8
  • Red Hat Enterprise Linux release 9
  • crash

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content