Re: [2.3.24, smbfs] Kernel panic: put_cached_page: page count=1

craig@qualica.com
Thu, 28 Oct 1999 15:28:23 +0200


On Thu, Oct 28, 1999 at 09:01:44AM -0400, Alexander Viro wrote:
>
> On Thu, 28 Oct 1999 craig@qualica.com wrote:
>
> > Hi
> >
> > My apologies if someone has already reported this. I had my x86 single
> > procesor box lock solid with 2.3.24 when trying to ls a smbfs mounted
> > directory just now:
> >
> > I found this in the logs:
> >
> > Oct 28 11:05:55 flat kernel: Kernel panic: put_cached_page: page count=1
> >
> > I hope it helps someone track down the problem. More details on request
> > through direct email to me please.
>
> Stack trace would be useful, but in that case methink I know WTF had
> happened. Patch attached.

Hi

Thanks for the snappy reply!

I had no stack trace in the logs and nothing on the screen as I was in X
at the time and the box froze solid. I have compiled with the patch and got
this:

cache.c:51: warning: `cached_page' might be used uninitialized in this function

I've added a = NULL on that line but that doesn't seem entirely right somehow
but it should trigger the alloc thing further down I think ...

Now I get (no reboot, just a make modules && make modules_install which
should be ok I think. smbfs module was not loaded at the time but was
auto-loaded when I did the smbmount which seemed fine)

[craig@flat craig]$ ls -l /mnt/Downloads/
kernel BUG at filemap.c:65!
invalid operand: 0000
CPU: 0
EIP: 0010:[<c011ecec>]
EFLAGS: 00010286
eax: 0000001c ebx: c5777f04 ecx: 00000027 edx: 00000014
esi: c5777e80 edi: 00000000 ebp: c11e84f4 esp: c3a21ee4
ds: 0018 es: 0018 ss: 0018
Process ls (pid: 2227, stackpage=c3a21000)
Stack: 00000041 c5777f04 c011f529 c5777e80 c11e84f4 c5777e80 c11e84f4 c5777e80
00000000 c68544fa c5777e80 c5777f04 00000000 c11e84f4 c5777e80 c301ac60
c0d27840 c5777f04 00008000 18aeefe0 c685457b c5777f04 00000000 00000001
Call Trace: [<c011f529>] [<c68544fa>] [<c685457b>] [<c6853e1f>] [<c010fa48>] [<c0133645>] [<c01334e8>]
[<c010a640>]
Code: 0f 0b 83 c4 0c 5b c3 90 8b 4c 24 04 8b 51 34 85 d2 74 19 8b
Segmentation fault

Checking out /var/log/messages for symbol info yields:

Oct 28 15:12:01 flat kernel: kernel BUG at filemap.c:65!
Oct 28 15:12:01 flat kernel: invalid operand: 0000
Oct 28 15:12:01 flat kernel: CPU: 0
Oct 28 15:12:01 flat kernel: EIP: 0010:[__add_page_to_hash_queue+60/68]
Oct 28 15:12:01 flat kernel: EFLAGS: 00010286
Oct 28 15:12:01 flat kernel: eax: 0000001c ebx: c5777f04 ecx: 00000027 edx: 00000014
Oct 28 15:12:01 flat kernel: esi: c5777e80 edi: 00000000 ebp: c11e84f4 esp: c3a21ee4
Oct 28 15:12:01 flat kernel: ds: 0018 es: 0018 ss: 0018
Oct 28 15:12:01 flat kernel: Process ls (pid: 2227, stackpage=c3a21000)
Oct 28 15:12:01 flat kernel: Stack: 00000041 c5777f04 c011f529 c5777e80 c11e84f4 c5777e80 c11e84f4 c5777e80
Oct 28 15:12:01 flat kernel: 00000000 c68544fa c5777e80 c5777f04 00000000 c11e84f4 c5777e80 c301ac60
Oct 28 15:12:01 flat kernel: c0d27840 c5777f04 00008000 18aeefe0 c685457b c5777f04 00000000 00000001
Oct 28 15:12:01 flat kernel: Call Trace: [add_to_page_cache_unique+177/288] [<c68544fa>] [<c685457b>] [<c6853e1f>] [do_page_fault+352/1192] [sys_getdents+221/360] [filldir+0/128]
Oct 28 15:12:01 flat kernel: [system_call+52/56]
Oct 28 15:12:01 flat kernel: Code: 0f 0b 83 c4 0c 5b c3 90 8b 4c 24 04 8b 51 34 85 d2 74 19 8b

The box is a pretty standard RH6 setup btw. i.e.
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
if that makes any difference. I'm happy to provide any other info and
test out other ideas.

Thank you,

--Craig

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/