Method returns package results in interpreter panic - is anyone
seeing this on FreeBSD ?
Dana H. Myers
dana.myers at gmail.com
Wed Oct 3 10:03:48 PDT 2007
I'm seeing a kernel panic in the ACPI CA interpreter under Solaris,
but I don't believe it is Solaris-specific.
The panic reliably happens when evaluating a method which returns
a package which contains a named object as an element.
method. Here's the panic stack trace, with excess
stuff trimmed:
ffffff00025c2e90 unix:die+f4 ()
ffffff00025c2fc0 unix:trap+38e ()
ffffff00025c2fd0 unix:cmntrap+1d0 ()
ffffff00025c30e0 acpica:AcpiNsGetParentNode+2b ()
ffffff00025c3110 acpica:AcpiNsGetPathnameLength+38 ()
ffffff00025c3160 acpica:AcpiUtGetSimpleObjectSize+8f ()
ffffff00025c31b0 acpica:AcpiUtGetElementLength+32 ()
ffffff00025c3230 acpica:AcpiUtWalkPackageTree+aa ()
ffffff00025c3290 acpica:AcpiUtGetPackageObjectSize+6d ()
ffffff00025c32d0 acpica:AcpiUtGetObjectSize+3d ()
ffffff00025c3350 acpica:AcpiEvaluateObject+1d4 ()
ffffff00025c33c0 acpica:AcpiEvaluateObjectTyped+72 ()
AcpiNsGetParentNode() panics when it attempts to
follow a namespace node peer link. The node, however,
is uninitialized.
The case which causes this is reproduced reliably by this
simplified test case:
Method(DANA, 0, NotSerialized)
{
Name (DOM1, 0x02)
Return(Package() {
Package() {
0x00,
0x01,
DOM1,
0x03,
0x04
}
} )
}
Simply evaluating DANA causes the panic when AcpiUtGetElementLength()
tries to handle DOM1 - it's apparently a "local reference" and the
namespace node is apparently uninitialized. So AcpiNsGetParentNode()
panics trying to find the parent when it attempts to access memory
at 0xCACACACACACACACA.
If I replace DOM1 in the package with 0x02, the panic goes away.
Has anyone encountered this on FreeBSD?
Thanks -
Dana
More information about the freebsd-acpi
mailing list