Messages in this thread | | | Date | Fri, 14 Aug 1998 21:02:14 -0400 (EDT) | From | "Steven N. Hirsch" <> | Subject | NFS File Locking |
| |
Bill,
I have just tried NFS file locking for the first time. For lack of any documentation, I simply started rpc.statd (from Olaf Kirch's utilities) on both ends:
(root@air) /home/hirsch : rpc.statd 14.07.98 20:41:48 rpc.statd[356]: New state: 1 14.07.98 20:41:48 rpc.statd[356]: Waiting for client connections. 14.07.98 20:42:24 rpc.statd[356]: MONITORING 192.168.244.57 for air 14.07.98 20:42:24 rpc.statd[356]: Waiting for client connections.
...
(root@cy) ~ : rpc.statd 14.07.98 20:42:04 rpc.statd[310]: New state: 1 14.07.98 20:42:04 rpc.statd[310]: Waiting for client connections. 14.07.98 20:42:09 rpc.statd[310]: MONITORING 192.168.244.50 for cy 14.07.98 20:42:09 rpc.statd[310]: Waiting for client connections.
Then ran a small Tcl script that uses locking on both the server (air) and the client (cy).
Almost immediately, lockd on the server blows up:
Aug 14 20:43:05 air kernel: svc: unknown procedure (15) Aug 14 20:43:05 air kernel: kfree: Bad obj c0200945 Aug 14 20:43:05 air kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Aug 14 20:43:05 air kernel: current->tss.cr3 = 00101000, <r3 = 00101000
(snip)
Which translates to:
Using `/lib/modules/2.1.115/System.map' to map addresses to symbols.
>>EIP: c012174b <kfree+1ab/1c0> Trace: c014c7ad <nlmclnt_freegrantargs+d/20> Trace: c014e337 <nlmsvc_delete_block+107/120> Trace: c014e4c5 <nlmsvc_lock+f5/320> Trace: c014ef94 <nlmsvc_retrieve_args+b4/100> Trace: c014f166 <nlmsvc_proc_lock+96/e0> Trace: c014f166 <nlmsvc_proc_lock+96/e0> Trace: c0184258 <svc_process+258/590> Trace: c0185dfe <svc_recv+1ee/320> Trace: c014dd4d <lockd+21d/2f0> Trace: c0183e5f <svc_create_thread+bf/100> Trace: c014dd4d <lockd+21d/2f0> Code: c012174b <kfree+1ab/1c0> movl $0x0,0x0 Code: c0121755 <kfree+1b5/1c0> addl $0x8,%esp Code: c0121758 <kfree+1b8/1c0> popl %ebx Code: c0121759 <kfree+1b9/1c0> popl %esi Code: c012175a <kfree+1ba/1c0> popl %edi Code: c012175b <kfree+1bb/1c0> popl %ebp Code: c012175c <kfree+1bc/1c0> addl $0x8,%esp Code: c012175f <kfree+1bf/1c0>
lockd is left in a zombie state, and the application is hung in an uninterruptable wait on the client side.
I thought locking was operational, but apparently not. I'll be glad to try anything you suggest, but I don't know very much about the RPC subsystem or NFS internals..
Steve
- 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.altern.org/andrebalsa/doc/lkml-faq.html
| |