[Crash-utility] crash -s may have some problem

baiwd baiwd at cn.fujitsu.com
Fri Mar 21 03:37:56 UTC 2008


Hi:
    When I  use crash, I encounter this strange thing.
    Executing "vm 1" under  crash, I see:
PID: 1      TASK: e0000001ff908000  CPU: 0   COMMAND: "init"
       MM               PGD          RSS    TOTAL_VM
e000000185baac80  e000000185ca8000   256k    4464k
      VMA              START             END        FLAGS FILE
e000000185abc878                0             4000  84011
e000000185abca88 2000000000000000 200000000003c000    875 /lib/ld-2.5.so
e000000185abcb38 2000000000048000 2000000000050000 100873 /lib/ld-2.5.so
e000000185abfaa8 2000000000060000 20000000000e0000     75 /lib/libsepol.so.1
e000000185abf738 20000000000e0000 20000000000ec000     70 /lib/libsepol.so.1
e000000185abf948 20000000000ec000 20000000000f0000 100073 /lib/libsepol.so.1
e000000185abf9f8 20000000000f0000 20000000000fc000 100073
e000000185abfb58 20000000000fc000 2000000000124000     75 
/lib/libselinux.so.1
e000000185abf898 2000000000124000 2000000000130000     70 
/lib/libselinux.so.1
e000000185abf5d8 2000000000130000 2000000000134000 100073 
/lib/libselinux.so.1
e000000185abf688 2000000000134000 2000000000138000 100073
e000000185abd218 2000000000138000 20000000003a0000     75 /lib/libc-2.5.so
e000000185abd168 20000000003a0000 20000000003ac000     70 /lib/libc-2.5.so
e000000185abc458 20000000003ac000 20000000003b4000 100073 /lib/libc-2.5.so
e000000185abc718 20000000003b4000 20000000003b8000 100073
e000000185abd798 20000000003b8000 20000000003c0000     75 /lib/libdl-2.5.so
e000000185abc508 20000000003c0000 20000000003cc000     70 /lib/libdl-2.5.so
e000000185abd848 20000000003cc000 20000000003d0000 100073 /lib/libdl-2.5.so
e000000185abd8f8 20000000003d0000 20000000003e8000 100073
e000000185abc928 4000000000000000 4000000000014000   1875 /sbin/init
       But when I execute "vm 1" under crash -s, the second part is missing.
[root at rhel51rc2 crash-4.0-6.1]# crash -s
crash> vm 1
PID: 1      TASK: e0000001ff908000  CPU: 0   COMMAND: "init"
       MM               PGD          RSS    TOTAL_VM
       0                 0            0k       0k

        I think is caused by that IS_ZOMBIE(task) in memory.c failed. 
And this failure
is caused by that the value of _ZOMBIE_ has not been initialized. the 
initialization of
_ZOMBIE_ is in initialize_task_struct(), called by show_context() 
finally. But when
executing "crash -s", it's not called.
      I added the following code in memory.c before using _ZOMBIE_, but 
I don't  know
whether it's good, it need to change initialize_task_state() to 
nonstatic and use
TASK_STATE_UNINITIALIZED which is now in task.c only.
"
        if (_ZOMBIE_ == TASK_STATE_UNINITIALIZED)
                initialize_task_state();
"

Best Regards

-- 
Bai Weidong
EMail£ºbaiwd at cn.fujitsu.com
--------------------------------------------------




More information about the Crash-utility mailing list