Re: Oops 0000 with ls -laR on SMBFS

From: Urban Widmark (urban@svenskatest.se)
Date: Tue Jul 18 2000 - 08:14:45 EST


On 17 Jul 2000, Tom Crane wrote:

> Yes, I did have a previous version (before I checked out & installed the

Then the version messages are almost certainly not related.

> I tried ls -laR & find on the smbfs mounted volume and both Oops. The find
> command did run to completion though, IIRC.

ls -laR & find running at the same time? How much memory does the linux
box have and how much else is running on it? Maybe there is some low
memory condition that smbfs doesn't handle. 10 or 100 Mbps network?

How much data is there on the machine? Does it only happen on large trees
or is a small testcase such as a kernel source tree enough to cause the
oops?

Attached is a patch vs 2.2.14 (it will not apply cleanly to 2.2.16 or
17-pre, but if you want to test those you can apply the changes "by hand"
or ask me and I'll make a new patch).

It will produce output like this (long lines broken). This is a complete
find-run vs an NT4.

smb_read_super: allocating packet @ c8836000 size: 4096
smb_decode_long_dirent: new p pointer: c8836f74, (+104)
  server->packet: 4096@c8836000
smb_decode_long_dirent: new p pointer: c8836f74, (+0)
server->packet: 4096@c8836000
smb_decode_long_dirent: new p pointer: c8836f78, (+112)
  server->packet: 4096@c8836000
smb_decode_long_dirent: new p pointer: c8836f78, (+0)
server->packet: 4096@c8836000
smb_receive: allocating packet @ c8838000 size: 8192

It will output a "new p pointer" when it comes within 200 bytes of the end
of buffer and also print all allocations of "server->packet".

new p pointer: c8836f78, (+112) server->packet: 4096@c8836000
               ^^^^^^^^ ^^^^ ^^^^^^^^^^^^^
               the next dir entry (the value it oopsed on)
                          how long one entry is (+0 on last entry?)
                                      size and address of the buffer

It also tries to print an error message if the 'p' pointer is moved to
point outside the buffer and there are more entries to be read.

> I'm happy to have another go this week at getting the Oops. The Win98 remote
> machine has had Win98 reinstalled due to other problems on it ;-) So I can't
> test against that any more. There are several other Win98 machines here so I'll
> have a go with one of them...

Why can't you test on the machine that was reinstalled? Not that it
matters as long as you can produce more oopses.

/Urban



-
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/



This archive was generated by hypermail 2b29 : Sun Jul 23 2000 - 21:00:11 EST