NetBSD-Bugs archive

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

port-amd64/39630: New ipmi(4) attachment code triggers kernel panic



>Number:         39630
>Category:       port-amd64
>Synopsis:       New ipmi(4) attachment code triggers kernel panic
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-amd64-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 25 20:00:00 +0000 2008
>Originator:     tron%zhadum.org.uk@localhost
>Release:        NetBSD 4.99.72 2008-09-25 sources
>Organization:
Matthias Scheler                                  http://zhadum.org.uk/
>Environment:
System: NetBSD lyssa.zhadum.org.uk 4.99.72 NetBSD 4.99.72 (COLWYN.64) #1: Thu 
Sep 25 20:45:42 BST 2008 
tron%lyssa.zhadum.org.uk@localhost:/src/sys/compile/COLWYN.64 amd64
Architecture: x86_64
Machine: amd64
>Description:
With a kernel built from today's current sources my system crashes while
attaching ipmi(4):

acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
attimer0: attached to pcppi0
uvm_fault(0xffffffff806dd020, 0x0, 1) -> e
fatal page fault in supervisor mode
trap type 6 code 0 rip ffffffff8039240d cs 8 rflags 10286 cr2  1 cpl 8 rsp 
ffffffff807db8b8
kernel: page fault trap, code=0
Stopped in pid 0.1 (system) at  netbsd:mutex_spin_enter+0xd:    movzbl  0x1(%rdi
),%ecx
db{0}> bt
mutex_spin_enter() at netbsd:mutex_spin_enter+0xd
bmc_io_wait() at netbsd:bmc_io_wait+0xa1
kcs_wait() at netbsd:kcs_wait+0x27
kcs_sendmsg() at netbsd:kcs_sendmsg+0x5f
ipmi_sendcmd() at netbsd:ipmi_sendcmd+0xd9
ipmi_match() at netbsd:ipmi_match+0x94
mapply() at netbsd:mapply+0x51
config_search_loc() at netbsd:config_search_loc+0xcb
config_found_sm_loc() at netbsd:config_found_sm_loc+0x3b
mainbus_attach() at netbsd:mainbus_attach+0x19a
config_attach_loc() at netbsd:config_attach_loc+0x14a
cpu_configure() at netbsd:cpu_configure+0x26
configure() at netbsd:configure+0x40
main() at netbsd:main+0x195

I rebooted the system, disabled "ipmi" via userconf and the system started
up with problems.

After I tried to backout the following commit in my source tree ...

        Module Name:    src
        Committed By:   ad
        Date:           Tue Sep 23 10:17:06 UTC 2008

        Modified Files:
                src/sys/arch/x86/include: ipmivar.h
                src/sys/arch/x86/x86: ipmi.c

        Log Message:
        Speed up ipmi attach a bit, although boot times on my workstation still 
suck:

        before          18s
        after           14s
        without ipmi    8s


        To generate a diff of this commit:
        cvs rdiff -r1.7 -r1.8 src/sys/arch/x86/include/ipmivar.h
        cvs rdiff -r1.19 -r1.20 src/sys/arch/x86/x86/ipmi.c

        Please note that diffs are not public domain; they are subject to the
        copyright notices on the relevant files.

... and that fixed the problem, too.

Here is the "dmesg" produced by the attachment:

ipmi0 at mainbus0: version 2.0 interface KCS iobase 0xca2/2 spacing 1

"envstat" will happily produce output provided by "ipmi0" afterwards.

>How-To-Repeat:
Boot NetBSD/amd64 on a HP Proliant ML110 G4.

>Fix:
None known.



Home | Main Index | Thread Index | Old Index