Created attachment 278249 [details] ACPI Error Method parse/execution failed HP ZBook 15 G4 Very similar to bug reported at https://www.spinics.net/lists/linux-acpi/msg82058.html and Bug 195237 Have to set "acpi=off" to boot. Without it, the machine will stuck with error message like "cpu#1 stuck for 22s". Attached is acpidump file. Following is output of dmesg:
Created attachment 278251 [details] dmesg output
[ 4.284819] ACPI: AC Adapter [AC] (on-line) [ 4.284879] ACPI: Sleep Button [SLPB] [ 4.284910] ACPI: Lid Switch [LID] [ 4.284940] ACPI: Power Button [PWRB] [ 4.285027] ACPI: Power Button [PWRF] [ 4.289403] ACPI: Thermal Zone [CPUZ] (49 C) [ 4.292841] ACPI: Thermal Zone [GFXZ] (39 C) [ 4.295837] ACPI: Thermal Zone [EXTZ] (39 C) [ 4.297857] ACPI: Thermal Zone [LOCZ] (40 C) [ 4.303186] ACPI: Thermal Zone [BATZ] (26 C) [ 4.303213] ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x000000005) is beyond end of object (length 0x5) (20170831/exoparg2-430) [ 4.303237] ACPI Error: Method parse/execution failed \_TZ.GETP, AE_AML_PACKAGE_LIMIT (20170831/psparse-550) [ 4.303242] ACPI Error: Method parse/execution failed \_TZ.CHGZ._CRT, AE_AML_PACKAGE_LIMIT (20170831/psparse-550) [ 4.304262] ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x000000005) is beyond end of object (length 0x5) (20170831/exoparg2-430) [ 4.304283] ACPI Error: Method parse/execution failed \_TZ.GETP, AE_AML_PACKAGE_LIMIT (20170831/psparse-550) [ 4.304288] ACPI Error: Method parse/execution failed \_TZ.CHGZ._CRT, AE_AML_PACKAGE_LIMIT (20170831/psparse-550) [ 4.307260] ACPI: Thermal Zone [PCHZ] (0 C) [ 4.319867] ACPI: Battery Slot [BAT0] (battery present) [ 5.389024] ACPI Warning: \_SB.PCI0.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20170831/nsarguments-100) [ 5.389469] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20170831/nsarguments-100) [ 5.660253] ata2.00: ACPI cmd f5/00:00:00:00:00:e0 (SECURITY FREEZE LOCK) filtered out [ 5.683124] ata2.00: ACPI cmd f5/00:00:00:00:00:e0 (SECURITY FREEZE LOCK) filtered out [ 7.150532] ACPI: Video Device [PEGP] (multi-head: yes rom: yes post: no) [ 7.167172] ACPI: Video Device [GFX0] (multi-head: yes rom: no post: no) [ 15.810888] ACPI Error: Needed [Buffer/String/Package], found [Integer] 00000000e3ac8591 (20170831/exresop-593) [ 15.810894] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [Index] (20170831/dswexec-461) [ 15.810917] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.810923] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.812060] ACPI Error: Needed [Buffer/String/Package], found [Integer] 00000000abf69282 (20170831/exresop-593) [ 15.812065] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [Index] (20170831/dswexec-461) [ 15.812088] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.812094] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.813167] ACPI Error: Needed [Buffer/String/Package], found [Integer] 000000003a6c1822 (20170831/exresop-593) [ 15.813170] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for [Index] (20170831/dswexec-461) [ 15.813191] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.813197] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, AE_AML_OPERAND_TYPE (20170831/psparse-550) [ 15.816406] ACPI Error: Attempt to CreateField of length zero (20170831/dsopcode-168) [ 15.816436] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPI, AE_AML_OPERAND_VALUE (20170831/psparse-550) [ 15.816445] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, AE_AML_OPERAND_VALUE (20170831/psparse-550)
please attach the acpidump output.
(In reply to q x from comment #2) > [ 4.303213] ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x000000005) is > beyond end of object (length 0x5) (20170831/exoparg2-430) > [ 4.303237] ACPI Error: Method parse/execution failed \_TZ.GETP, > AE_AML_PACKAGE_LIMIT (20170831/psparse-550) > [ 4.303242] ACPI Error: Method parse/execution failed \_TZ.CHGZ._CRT, > AE_AML_PACKAGE_LIMIT (20170831/psparse-550) > [ 4.304262] ACPI Exception: AE_AML_PACKAGE_LIMIT, Index (0x000000005) is > beyond end of object (length 0x5) (20170831/exoparg2-430) > [ 4.304283] ACPI Error: Method parse/execution failed \_TZ.GETP, > AE_AML_PACKAGE_LIMIT (20170831/psparse-550) > [ 4.304288] ACPI Error: Method parse/execution failed \_TZ.CHGZ._CRT, > AE_AML_PACKAGE_LIMIT (20170831/psparse-550) Name (TRIP, Package (0x05) { Package (0x04){}, Package (0x04){}, Package (0x04){}, Package (0x04){}, Package (0x04){} }) So TRIP has five elements. Method (GETP, 2, Serialized) { Local0 = Arg1 If ((Arg1 == One)) { Local3 = DerefOf (CUZO [Arg0]) If (((Local3 > One) && (Local3 != 0xFF))) { Local0 = Zero } } Local2 = DerefOf (DerefOf (TRIP [Arg0]) [Local0]) Return (Local2) } GETP uses Arg0 as the index of TRIP[]. Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return (GETP (0x05, 0x03)) } Arg0 is 0x05 which is broken, so this is a BIOS bug. > [ 15.810888] ACPI Error: Needed [Buffer/String/Package], found [Integer] > 00000000e3ac8591 (20170831/exresop-593) > [ 15.810894] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands > for [Index] (20170831/dswexec-461) > [ 15.810917] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.810923] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.812060] ACPI Error: Needed [Buffer/String/Package], found [Integer] > 00000000abf69282 (20170831/exresop-593) > [ 15.812065] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands > for [Index] (20170831/dswexec-461) > [ 15.812088] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.812094] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.813167] ACPI Error: Needed [Buffer/String/Package], found [Integer] > 000000003a6c1822 (20170831/exresop-593) > [ 15.813170] ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands > for [Index] (20170831/dswexec-461) > [ 15.813191] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPO, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.813197] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, > AE_AML_OPERAND_TYPE (20170831/psparse-550) > [ 15.816406] ACPI Error: Attempt to CreateField of length zero > (20170831/dsopcode-168) > [ 15.816436] ACPI Error: Method parse/execution failed \_SB.WMIV.WVPI, > AE_AML_OPERAND_VALUE (20170831/psparse-550) > [ 15.816445] ACPI Error: Method parse/execution failed \_SB.WMIV.WMPV, > AE_AML_OPERAND_VALUE (20170831/psparse-550) Method (WVPO, 2, Serialized) { Local1 = Buffer ((0x08 + Arg0)){} ... } I'm not sure if this is the ASL code that causes the error because I have not seen any ASL written like this. Erik, could you please clarify? BTW, the acpidump is attached in comment #0.
Hey, sorry for the late response. I think the _DSM type mismatch should be resolved in newer kernels. Please try a newer kernel (post 4.17). @Rui, the ASL code above shouldn't cause an error due to implicit type conversions. The add operator (+) causes Arg0 to be converted to Arg0..
Bug closed as there is no response from the bug reporter. Please feel free to reopen it if the problem still exists in the latest upstream kernel, say 5.1 or 5.2-rc.