Hi, The attached patch fixes the following xencrash bugs: * "bt" not switch mca stack to vcpu stack (ia64.c) * "bt" causes infinite loop if ar_bspstore is illegal value (unwind.c line 1747) (illegal ar_bspstore value may be something worng, error stop is OK. the fix is not limited for XEN_HYPER_MODE, I think the fix is more robust.) * "bt" shows unnecessary warning message (unwind.c line 1674) * "man log" causes SIGSEGV (xen_hyper_global_data.c) * "man log" is no example (xen_hyper_global_data.c) The patch is for crash-4.0-3.20. Thanks. -- Itsuro ODA <oda@xxxxxxxxxxxxx> -- Index: ia64.c =================================================================== RCS file: /cvsroot/xen_ia64/people/xencrash/src/crash/ia64.c,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -u -r1.3 -r1.3.2.1 --- ia64.c 21 Feb 2007 22:58:33 -0000 1.3 +++ ia64.c 9 Mar 2007 06:40:22 -0000 1.3.2.1 @@ -4009,7 +4009,7 @@ if (symbol_exists("unw_init_frame_info")) { machdep->flags |= NEW_UNWIND; if (MEMBER_EXISTS("unw_frame_info", "pt")) { - if (MEMBER_EXISTS("pt_regs", "ar_csd")) { + if (MEMBER_EXISTS("cpu_user_regs", "ar_csd")) { machdep->flags |= NEW_UNW_V3; ms->unwind_init = unwind_init_v3; ms->unwind = unwind_v3; Index: unwind.c =================================================================== RCS file: /cvsroot/xen_ia64/people/xencrash/src/crash/unwind.c,v retrieving revision 1.2 retrieving revision 1.2.2.2 diff -u -r1.2 -r1.2.2.2 --- unwind.c 21 Feb 2007 22:58:33 -0000 1.2 +++ unwind.c 14 Mar 2007 07:33:21 -0000 1.2.2.2 @@ -1674,8 +1674,13 @@ unw_get_sp(info, &sp); unw_get_bsp(info, &bsp); - if (ip < GATE_ADDR + PAGE_SIZE) - break; + if (XEN_HYPER_MODE()) { + if (!IS_KVADDR(ip)) + break; + } else { + if (ip < GATE_ADDR + PAGE_SIZE) + break; + } if ((sm = value_search(ip, NULL))) name = sm->name; @@ -1747,7 +1752,8 @@ if (unw_switch_from_osinit_v3(info, bt, "INIT") == FALSE) break; } else { - unw_switch_from_osinit_v2(info, bt); + if (unw_switch_from_osinit_v2(info, bt) == FALSE) + break; frame++; goto restart; } Index: xen_hyper_global_data.c =================================================================== RCS file: /cvsroot/xen_ia64/people/xencrash/src/crash/xen_hyper_global_data.c,v retrieving revision 1.2 retrieving revision 1.2.2.3 diff -u -r1.2 -r1.2.2.3 --- xen_hyper_global_data.c 21 Feb 2007 22:58:33 -0000 1.2 +++ xen_hyper_global_data.c 14 Mar 2007 07:28:21 -0000 1.2.2.3 @@ -169,7 +169,41 @@ char *xen_hyper_help_log[] = { "log", "dump system message buffer", +" ", " This command dumps the xen conring contents in chronological order." , +" ", +"EXAMPLES", +" Dump the Xen message buffer:\n", +" %s> log", +" __ __ _____ ___ _ _ _", +" \\ \\/ /___ _ __ |___ / / _ \\ _ _ _ __ ___| |_ __ _| |__ | | ___", +" \\ // _ \\ '_ \\ |_ \\| | | |__| | | | '_ \\/ __| __/ _` | '_ \\| |/ _ \\", +" / \\ __/ | | | ___) | |_| |__| |_| | | | \\__ \\ || (_| | |_) | | __/", +" /_/\\_\\___|_| |_| |____(_)___/ \\__,_|_| |_|___/\\__\\__,_|_.__/|_|\\___|", +" ", +" http://www.cl.cam.ac.uk/netos/xen", +" University of Cambridge Computer Laboratory", +" ", +" Xen version 3.0-unstable (damm@) (gcc version 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0,", +" pie-8.7.9)) Wed Dec 6 17:34:32 JST 2006", +" Latest ChangeSet: unavailable", +" ", +" (XEN) Console output is synchronous.", +" (XEN) Command line: 12733-i386-pae/xen.gz console=com1 sync_console conswitch=bb com1", +" =115200,8n1,0x3f8 dom0_mem=480000 crashkernel=64M@32M", +" (XEN) Physical RAM map:", +" (XEN) 0000000000000000 - 0000000000098000 (usable)", +" (XEN) 0000000000098000 - 00000000000a0000 (reserved)", +" (XEN) 00000000000f0000 - 0000000000100000 (reserved)", +" (XEN) 0000000000100000 - 000000003f7f0000 (usable)", +" (XEN) 000000003f7f0000 - 000000003f7f3000 (ACPI NVS)", +" (XEN) 000000003f7f3000 - 000000003f800000 (ACPI data)", +" (XEN) 00000000e0000000 - 00000000f0000000 (reserved)", +" (XEN) 00000000fec00000 - 0000000100000000 (reserved)", +" (XEN) Kdump: 64MB (65536kB) at 0x2000000", +" (XEN) System RAM: 1015MB (1039904kB)", +" (XEN) ACPI: RSDP (v000 XPC ) @ 0x000f9250", +" ...", NULL }; -- -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility