Bug 8105 - battery-related errors/crashes/infinite loops
Summary: battery-related errors/crashes/infinite loops
Status: CLOSED PATCH_ALREADY_AVAILABLE
Alias: None
Product: ACPI
Classification: Unclassified
Component: Other (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Vladimir Lebedev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-01 09:42 UTC by Charles Samuels
Modified: 2007-03-07 09:28 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.20.1 (no patches)
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
dmesg and acpidump (91.20 KB, text/plain)
2007-03-01 13:27 UTC, Charles Samuels
Details

Description Charles Samuels 2007-03-01 09:42:47 UTC
Most recent kernel where this bug did *NOT* occur: 2.6.15.7+suspend2
Distribution: Debian unstable
Hardware Environment: Compal ACY13 (almost a Dell Inspiron 2650)
Software Environment: KDE's "klaptop" battery monitor applet
Problem Description:
Sometimes when klaptop makes an ACPI request from /proc/acpi, dmesg shows this 
error:
ACPI Exception (evregion-0424): AE_TIME, Returned by Handler for 
[EmbeddedControl] [20060707]
ACPI Exception (dswexec-0458): AE_TIME, While resolving operands for 
[OpcodeName unavailable] [20060707]
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147f784), AE_TIME
ACPI Exception (acpi_battery-0207): AE_TIME, Evaluating _BST [20060707]

This seems like the most common case.

Sometimes, dmesg reports some sort of reference counting overflow/underflow 
(loops around saying something along the lines of "reference count is really 
big" and shows a very large number of a count).

Sometimes, it shows an Oops similar to this:

BUG: unable to handle kernel NULL pointer dereference at virtual address 
00000006

 [<c023c60f>] acpi_ex_opcode_2A_1T_1R+0x3cc/0x3ff
 [<c0231f01>] acpi_ds_exec_end_op+0xd2/0x435
 [<c0242e57>] acpi_ps_append_arg+0x1d/0x7e
 [<c0242a5a>] acpi_ps_parse_loop+0x63e/0x9e0
 [<c0249270>] acpi_ut_delete_generic_state+0x1c/0x1f
 [<c0241fd2>] acpi_ps_parse_aml+0x67/0x23f
 [<c02432e0>] acpi_ps_execute_pass+0x9b/0xaf
 [<c024340c>] acpi_ps_execute_method+0xde/0x172
 [<c02402af>] acpi_ns_evaluate+0xb7/0x120
 [<c023fe5f>] acpi_evaluate_object+0x135/0x1fa
 [<e09d7574>] acpi_battery_read_state+0xb1/0x31b [battery]
 [<c018f0c8>] seq_read+0x68/0x2e0
 [<c0173035>] vfs_read+0xb5/0x180
 [<c01734fb>] sys_read+0x4b/0x80
 [<c01031a5>] sysenter_past_esp+0x56/0x79

I have to reboot a bunch of times before I can reproduce this last one, but I 
will try to do this soon.

Steps to reproduce:

I think all I need to do is run klaptop and wait a while. Its strace will 
report that it is stuck on a read of /proc/acpi/battery/BAT1/state

Thanks, and please please ask if you have more information. If you are in my 
area (San Jose/Palo Alto), I may even let you play with my computer if you 
need.

thanks,

Charles
Comment 1 Charles Samuels 2007-03-01 09:45:48 UTC
The behavior of this problem was exactly the same on 2.6.19.1.
Comment 2 Vladimir Lebedev 2007-03-01 10:55:09 UTC
Please test the latest 2.6.21-rc2-git* release.
Comment 3 Charles Samuels 2007-03-01 12:16:09 UTC
While compiling 2.6.21-rc2-git1, I managed to get the invalid pointer 
dereference.

I guess it's not useful to you until i'm actually running the git release, but 
just in case it is (or at least for record):

Just before it happened, acpi/battery/BAT1/state reported that my battery was 
empty.

ACPI Error (psargs-0355): [STAT] Namespace lookup failure, AE_NOT_FOUND
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147f784), AE_NOT_FOUND
(later...:)
ACPI Exception (acpi_battery-0207): AE_NOT_FOUND, Evaluating _BST [20060707]
ACPI Error (psargs-0355): [STAT] Namespace lookup failure, AE_NOT_FOUND
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147f784), AE_NOT_FOUND
ACPI Exception (acpi_battery-0207): AE_NOT_FOUND, Evaluating _BST [20060707]
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BIF] (Node c147f798), AE_AML_INTERNAL
ACPI Exception (acpi_battery-0148): AE_AML_INTERNAL, Evaluating _BIF [20060707]
ACPI Error (exresnte-0140): Object not a Package, type Integer [20060707]
ACPI Exception (dswexec-0458): AE_AML_OPERAND_TYPE, While resolving operands 
for [OpcodeName unavailable] [20060707]
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147f784), AE_AML_OPERAND_TYPE
ACPI Exception (acpi_battery-0207): AE_AML_OPERAND_TYPE, Evaluating _BST 
[20060707]
BUG: unable to handle kernel NULL pointer dereference at virtual address 
0000000c
 printing eip:
c0202f5b
*pde = 00000000
Oops: 0002 [#1]
PREEMPT
Modules linked in: tun fuse ppdev lp cpufreq_powersave acpi_cpufreq freq_table 
video button battery ac pcmcia snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss 
snd_mixer_oss yenta_socket rsrc_nonstatic pcmcia_core snd_pcm snd_timer 
i2c_i801 psmouse rng_core snd soundcore snd_page_alloc serio_raw pcspkr 
i2c_core usbhid uhci_hcd usbcore thermal processor fan
CPU:    0
EIP:    0060:[<c0202f5b>]    Not tainted VLI
EFLAGS: 00010282   (2.6.20.1cs #3)
EIP is at acpi_ds_build_internal_object+0xd/0xef
eax: c9718600   ebx: dfa2bde4   ecx: 0000000c   edx: cb14c6b0
esi: cb14c6b0   edi: c9718600   ebp: 0000000c   esp: d74dfd94
ds: 007b   es: 007b   ss: 0068
Process kded (pid: 4192, ti=d74de000 task=d74d1a70 task.ti=d74de000)
Stack: d74dfda4 cb14c5ec 00000286 dfa2bde4 dfa2bde4 dfa2bde4 cb14c6b0 0000000c
       cd2854b0 c0203178 00000000 c9718600 c9718600 dfa2b27c 00000004 00000012
       c0201a62 d74dfde0 cd2854b0 dfa2bde4 c9718600 cb14c5ec cd2854b0 00000012
Call Trace:
 [<c0203178>] acpi_ds_build_internal_package_obj+0xe6/0x102
 [<c0201a62>] acpi_ds_eval_data_object_operands+0xb8/0xef
 [<c0202605>] acpi_ds_exec_end_op+0x268/0x3cf
 [<c0210599>] acpi_ps_get_next_simple_arg+0xe3/0xed
 [<c0211701>] acpi_ps_append_arg+0x16/0x75
 [<c021139c>] acpi_ps_parse_loop+0x5b0/0x8cc
 [<c02109fe>] acpi_ps_parse_aml+0x60/0x1ff
 [<c02044b8>] acpi_ds_init_aml_walk+0xb4/0xfe
 [<c0211ae2>] acpi_ps_execute_pass+0x7d/0x90
 [<c0211bed>] acpi_ps_execute_method+0xc8/0x157
 [<c020efcd>] acpi_ns_evaluate+0x9d/0xfc
 [<c020ec39>] acpi_evaluate_object+0x121/0x1c8
 [<c0173f5d>] seq_printf+0x2e/0x52
 [<e0923496>] acpi_battery_read_state+0xa2/0x2c9 [battery]
 [<c0174420>] seq_read+0x6a/0x2aa
 [<c015c6b3>] vfs_read+0x89/0x134
 [<c01743b6>] seq_read+0x0/0x2aa
 [<c015ca76>] sys_read+0x41/0x6a
 [<c0102da0>] sysenter_past_esp+0x5d/0x81
 =======================
Code: 89 02 00 00 a1 f8 91 31 c0 89 04 24 e8 92 2a 01 00 b8 05 30 00 00 83 c4 
18 5b 5e 5f 5d c3 55 57 56 53 83 ec 14 89 c7 89 d6 89 cd <c7> 01 00 00 00 00 66 
83 7a 06 2d 75 72 83 7a 10 00 75 6c 8b 52
EIP: [<c0202f5b>] acpi_ds_build_internal_object+0xd/0xef SS:ESP 0068:d74dfd94
Comment 4 Vladimir Lebedev 2007-03-01 13:19:28 UTC
Thanks, but I am waiting for the results on 2.6.21, please attach the full 
dmesg (-s 64000) and acpidump.

Comment 5 Charles Samuels 2007-03-01 13:27:59 UTC
Created attachment 10578 [details]
dmesg and acpidump
Comment 6 Charles Samuels 2007-03-01 13:32:20 UTC
I was trying to reproduce the problem. I ran it for 20 minutes and compiled 
something. Nothing happened. So I powered down and started it up again, and it 
has been running for almost 40 minutes with nothing interesting.

I will continue to run 2.6.21-rc2-git1.
Comment 7 Charles Samuels 2007-03-01 16:04:22 UTC
I got this with 2.6.21-rc2-git1:

ACPI Error (dswload-0774): [STAT] Namespace lookup failure, AE_ALREADY_EXISTS
ACPI Exception (psloop-0225): AE_ALREADY_EXISTS, During name lookup/catalog 
[20070126]
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147d784), AE_ALREADY_EXISTS
ACPI: Marking method _BST as Serialized
ACPI Exception (battery-0206): AE_ALREADY_EXISTS, Evaluating _BST [20070126]
ACPI Error (psargs-0355): [STAT] Namespace lookup failure, AE_NOT_FOUND
ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147d784), AE_NOT_FOUND
ACPI Exception (battery-0206): AE_NOT_FOUND, Evaluating _BST [20070126]
Comment 8 Vladimir Lebedev 2007-03-03 17:30:56 UTC
> I got this with 2.6.21-rc2-git1:
> ACPI Error (dswload-0774): [STAT] Namespace lookup failure, AE_ALREADY_EXISTS
> ...

What is the frequency of these messages?
Could you add the timing information to kernel .config (Kernel Hacking -> 
Show timing ... ), perform the normal and stress testing and attach the full 
dmesg outputs; 2.6.21-rc2* is avalable now.

Thanks.

Comment 9 Charles Samuels 2007-03-04 11:42:32 UTC
At least the first two happen at almost the same time.

I have compiled and am now running 2.6.21-rc2-git3 with the "Show timing" 
option as you asked. When I next see the error message, I will post it.

Thanks
Comment 10 Charles Samuels 2007-03-05 20:27:31 UTC
[ 5623.089553] ACPI Error (dswload-0774): [STAT] Namespace lookup failure, 
AE_ALREADY_EXISTS
[ 5623.089573] ACPI Exception (psloop-0225): AE_ALREADY_EXISTS, During name 
lookup/catalog [20070126]
[ 5623.089584] ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147e784), AE_ALREADY_EXISTS
[ 5623.089600] ACPI: Marking method _BST as Serialized
[ 5623.089661] ACPI Exception (battery-0206): AE_ALREADY_EXISTS, Evaluating 
_BST [20070126]
[ 5623.628809] ACPI Error (psargs-0355): [STAT] Namespace lookup failure, 
AE_NOT_FOUND
[ 5623.629189] ACPI Error (psparse-0537): Method parse/execution failed 
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c147e784), AE_NOT_FOUND
[ 5623.629612] ACPI Exception (battery-0206): AE_NOT_FOUND, Evaluating _BST 
[20070126]
Comment 11 Vladimir Lebedev 2007-03-07 02:30:59 UTC
>...
>[ 5623.089600] ACPI: Marking method _BST as Serialized
>...

This is standard notification now, when acpi detects some problem with dsdt.
So, do you have any problems with ac/battery devices? I am going to close the 
bug, OK?
Comment 12 Charles Samuels 2007-03-07 09:20:52 UTC
I've been using it for a few days now and I haven't been able to reproduce the 
problem, so I suppose you should close it.

thank you!

Charles
Comment 13 Vladimir Lebedev 2007-03-07 09:28:08 UTC
Regards.

Note You need to log in before you can comment on or make changes to this bug.