Red Hat Bugzilla – Bug 155926
[RHEL4-U2][Diskdump] OS_INIT dump function is broken
Last modified: 2018-10-19 15:03:53 EDT
Description of Problem: When crashdump is executed via OS_INIT on IPF machine, backtrace command, which is a subcommand of crash, does not work correctly. Two problems were found in the OS_INIT code. (1) OS_INIT handler has two stages. stage1: handler written by assembler stage2: handler written by C The former is ia64_monarch_init_handler and ia64_slave_init_handler. The latter is ia64_init_handler. ia64_init_handler is called only by ia64_monarch_init_handler. When INIT interrupt is asserted, one cpu calls ia64_monarch_init_handler and the others call ia64_slave_init_handler. It means that ia64_init_handler is called by only one cpu. In that case, backtrace command fails. To make backtrace succeed, all cpus need to call ia64_monarch_init_handler. (2) The second problem occurs by correcting the first problem. When OS_INIT handler is called, SAL hands the handler some information through registers. The handler preserves this information in ia64_sal_to_os_handoff_state. (Please see SAL_TO_OS_MCA_HANDOFF_STATE_SAVE macro in the arch/ia64/kernel/mca_asm.S.) If all cpus call ia64_monarch_init_handler at the same time, they write their own information to the ia64_sal_to_os_handoff_state simultaneously and break their contents. Version-Release number: kernel-2.6.9-6.37.EL How reproducible: always Steps to Reproduce: 1. Enable Diskdump 2. Push OS_INIT switch 3. bt with crash command Actual results: Backtrace command does not work Expected results: Backtrace command works correctly Additional info: none
The patch was posted to rhkernel-list ML
I posted the updated patch to rhkernel-list ML on 6/16. The patch was updated to reflect the comments which are made on the patch for RHEL3.
I posted correct patch again to rhkernel-list ML
Hi Tachino-San, due to concern over wether or not this patch has been accepted upstream, we are unable to take this patch in U2. Once we know the status of the patch with upstream kernel, we will then be able to put it in U3. Many thanks.
The upstream solves this problem in a different way, This part of upstream source already becomes very different from the one of RHEL4 and simple backport will produce the big patch. I need more time to investigate the upstream source to decide which patch is better to be included in RHEL4.
The patch was posted to rhkernel-list. It is the same as the previous patch. I tried to port the upstream fix to RHEL4, but it makes big patch over 1kstep. So I think the original patch is better to be included in RHEL4.
committed in stream U4 build 34.25. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0575.html