Distribution: Gentoo Linux 1.4 Hardware Environment: Compaq X1005EA Intel Centrino Architecture Software Environment: Linux kernel startup Problem Description: at startup, there is a big kernel crash (error messages with kernel panic at the end). Steps to reproduce: activate normal acpi functions without ASUS and Toshiba addons on this type of notebook and you will see messages like this : [<c01ee9b2>] acpi_ns_evaluate_by_handle+0xce/0x11a [<c01ee760>] acpi_ns_evaluate_relative+0x134/0x17d [<c01fac4f>] acpi_ut_status_exit+0x33/0x59 [<c01faeb4>] acpi_ut_evaluate_object+0x3c/0x194 [<c01f71f9>] acpi_rs_get_crs_method_data+0x3f/0x7b [<c01f5466>] acpi_get_current_resources+0x64/0x86 [<c01fab6a>] acpi_ut_trace+0x29/0x2b [<c020137f>] acpi_pci_evaluate_crs+0x49/0xa6 [<c0201581>] acpi_pci_root_add+0x1a5/0x2c3 [<c0204a57>] acpi_bus_driver_init+0x71/0x141 [<c0204f00>] acpi_bus_find_driver+0xd6/0xe8 [<c02053fb>] acpi_bus_add+0x14a/0x1de [<c0205591>] acpi_bus_scan+0x102/0x196 [<c03727db>] do_initcalls+0x2b/0xa0 [<c0130ca2>] init_workqueues+0x12/0x30 [<c01070d0>] init+0x30/0x130 [<c01070a0>] init+0x0/0x130 [<c010a219>] kernel_thread_helper+0x5/0xc code:e9 51 ff ff ff c7 45 ec 08 00 00 00 83 cf 01 eb b9 8b 45 14 8b 55 e8 83 45 14 04 8b 08 b8 aa f4 2d c0 85 c9 0f 44 c8 89 c8 eb 06 <80> 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 83 e7 10 89 c3 75 1d <0>Kernel panic : Attempted to kill init! The only workaround I found is to deactivate ACPI and use APM but now I don't see the level charge of the battery. I tried also the latest ACPI patch with the 2.6.0-test6 kernel but I had the same error messages and so the same kernel behaviour.
Please post dmesg , DSDT and any hints. Thanks a lot.
Created attachment 1046 [details] DSDT attached file 1
Created attachment 1047 [details] DSDT attached file 2
Created attachment 1048 [details] DSDT attached file 3
Created attachment 1049 [details] dmesg from 2.6.0-test5 kernel which doesn't crash at startup My 2.6.0-test7 kernel don't generate dmesg when ACPI is enabled.
Created attachment 1050 [details] iomem for 2.6.0-test6 with 200030813 acpi patch This 2.6.0-test6 kernel with 20030813 acpi patch doesn't crash at startup.
Can you clarify for me what version of the kernel crashes and what version does not? In any case, the dmesg from 2.6.0-test5 shows there is an issue digesting the AML provided by the platform's BIOS -- can you verify that you have the latest BIOS? ACPI: Interpreter enabled ACPI: Using PIC for interrupt routing dsopcode-0515 [19] ds_init_buffer_field : Field size 1392 exceeds Buffer size 1296 (bits) psparse-1121: *** Error: Method execution failed [\_SB_.C046.C052] (Node c12c57c8), AE_AML_BUFFER_LIMIT psparse-1121: *** Error: Method execution failed [\_SB_.C046.C056] (Node c12c5708), AE_AML_BUFFER_LIMIT psparse-1121: *** Error: Method execution failed [\_SB_.C046._CRS] (Node c12c5648), AE_AML_BUFFER_LIMIT uteval-0098: *** Error: Method execution failed [\_SB_.C046._CRS] (Node c12c5648), AE_AML_BUFFER_LIMIT
Created attachment 1120 [details] dmidecode from e-mail shows BIOS revision Here's a fun bug in their DMI output: Processor Information
"2.6.0-test7 and test8 kernels versions crash. Only test5 and test6 doesn't crash. Today, I went to the website support of Compaq and I found an update for my BIOS. So I update it, but I always have the same messages on 2.6.0-test5, test6 kernel and also the same crash on 2.6.0-test7 and test8 kernels. Do I have to recompile my kernel ?" This is interesting b/c it is a regression between test6 and test7. test6 had ACPICA 20030813 test7 had ACPICA 20030918 test8 has ACPICA 10031002 Exactly how do you provoke the crash? Does it happen during boot? Can you make it to single user without crashing? If yes, can you snag the dmesg -s40000 output of the kernel and save it? Or can you capture the boot and crash messages via serial console? Also, as your BIOS has been upated, it would be good to update this bug report with the new output from dmidecode and acpidmp. (you don't have to extract or disassemble, the simple text output of these programs is sufficient). Is it possible for you to grab the latest 2.4 bk kernel and try that? It should have the same ACPICA as 2.6.0-test8, so if it works we know this is a 2.6 specific problem rather than ACPICA >= 20030918 problem.
"My kernel crash happens at boot. It is not possible for me to use the single user mode so I can provide with dmesg on the 2.4.22-bk8 kernel with ACPI interpreter enabled. The 2.4.22-bk8 kernel crash also like the others (2.6.0-test7 and test8). It seems that my problem is really related to ACPI and not to 2.6 kernel series. For information, you could look at files joined to this email. Thank you for your linux support Cr@sh...."
Created attachment 1159 [details] dmidecode for BIOS F.09 Release Date: 08/15/2003
Created attachment 1160 [details] acpidmp for BIOS version F.09
Created attachment 1161 [details] lspci output
Created attachment 1162 [details] dmesg for working -test5
Created attachment 1163 [details] /proc/interrupts for working -test5
Can you confirm that -test6 works? The original post suggests that it crashes like -test7, but comment #9 suggests that it succeeds like -test5. We didn't make any significant ACPI changes between -test5 and -test6, while -test7 added ACPICA 20030918.
Assuming that -test6 works and -test7 fails, please back the ACPICA 20030918 patch out of your -test7 tree as follows: Get this file http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/test/2.6.0-test5/20030929233000-ACPICA_20030918.patch cd my-test7-tree patch -Rp1 </tmp/20030929233000-ACPICA_20030918.patch Patch (un)apply cleanly -- 0 rejects and 0 offsets. TIA!
Created attachment 1166 [details] 2.6.0-test7 acpi unpatched kernel obtain acpica 20030916 and the kernel boots but it doesn't hang up.
Created attachment 1167 [details] dmesg from 2.6.0-test7 kernel acpi unpatched dmesg 2.6.0-test7 acpi unpatched
Created attachment 1168 [details] dmidecode from 2.6.0-test7 acpi unpatched
Created attachment 1169 [details] lspci -vv from 2.6.0-test7 acpi unpatched (20030916)
Created attachment 1170 [details] /proc/interrupts from 2.6.0-test7 kernel acpi unpatched
Created attachment 1192 [details] acpidmp from 2.6.0-test9 kernel
I tried the last 2.6.0-test9 kernel and it seems to start without blocking. However, there are also acpi error messages. Look at the last attachments for more information.
Created attachment 1193 [details] dmesg from 2.6.0-test9 kernel
Created attachment 1194 [details] dmidecode from 2.6.0-test9 kernel
Created attachment 1195 [details] lspci -vv from 2.6.0-test9 kernel
Created attachment 1196 [details] /proc/interrupts from 2.6.0-test9 kernel
The cause of the crash was an acpi debug printk that followed a null pointer It used to look like this: dsopcode-0515 [19] ds_init_buffer_field : Field size 1392 exceeds Buffer size 1296 (bits) Then linux 2.6 was hardened to handle %s being null dsopcode-0526 [19] ds_init_buffer_field : Field [C053] size 1392 exceeds Buffer [<NUL] size 1296 (bits The offending printk is here drivers/acpi/dispatcher/dsopcode.c: if ((bit_offset + bit_count) > (8 * (u32) buffer_desc->buffer.length)) { ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, - "Field size %d exceeds Buffer size %d (bits)\n", - bit_offset + bit_count, 8 * (u32) buffer_desc->buffer.length)); + "Field [%4.4s] size %d exceeds Buffer [%4.4s] size %d (bits)\n", + ((struct acpi_namespace_node *) result_desc)->name.ascii, + bit_offset + bit_count, + buffer_desc->buffer.node->name.ascii, + 8 * (u32) buffer_desc->buffer.length)); status = AE_AML_BUFFER_LIMIT; goto cleanup; } and was introduced with ACPICA 20030918. .config: CONFIG_ACPI_DEBUG=n should make it go away in the versions that contain this bug.
I disable the debug option of acpi. However, I have others error messages related to acpi (AE_AML_LIMIT, and at the end of the dmesg Call trace). It seems that time remaining for using notebook on the battery is false after 2,3 minutes of using after the startup but before this 2,3 minutes, time remaining for using the notebook is good reporting. For the remaining capacity, the value reported is right. I have also another problem for make sleep to my notebook. With this command : echo 1 > /proc/acpi/sleep, it is impossible for me to enter my notebook in sleep mode.
I also the patch named pic_sci.patch for IRQ9 was Edge Triggered.. message. Nothing have changed for sleep mode and time remaining for using notebook in the battery. Look at the last attachement for more information. Thank you Olivier..
With the kernel option pass at boot pci=noacpi and without it, nothing change in the behaviour of my notebook.
Created attachment 1236 [details] acpidmp from 2.6.0-test9 with pic_sci.patch
Created attachment 1237 [details] dmesg from 2.6.0-test9 with pic_sci.patch
Created attachment 1238 [details] lspci -vv from 2.6.0-test9 with pic_sci.patch
Created attachment 1239 [details] /proc/interrupts from 2.6.0-test9 with pic_sci.patch
Created attachment 1240 [details] pic_sci.patch for 2.6.0-test9 kernel
Created attachment 1241 [details] dmidecode from 2.6.0-test9 with pic_sci.patch
Oliver, Thanks for the help isolating the -test7 crash. Although CONFIG_ACPI_DEBUG=n will make it go away, I'll leave the issue open till we post a fix that addresses that issue in the release. Please file additional bugs for additional issues rather than adding them to this one. When you do, note that dmidecode and acpidmp depend on the BIOS version, they don't change with different kernels or boot options. lspci depends on the hardware, it too will not change across boots. thanks, -Len
Created attachment 1251 [details] patch to revert debug printout to pre-crash format
*** Bug 1385 has been marked as a duplicate of this bug. ***
shipped in 2.4.23