Messages in this thread | | | From | Jean-Eric Cuendet <> | Subject | RE: NFSD die with 2.4.1 (resend with ksymoops) | Date | Thu, 15 Feb 2001 11:56:32 +0100 |
| |
Here I am again! NFSD died at 11h23, ~12 hours after the last reboot, a record :-) I'll try to best answer your questions.
> This trace seems to make sense, except that nfssvc_encode_diropres > doesn't seem to make any subroutine calls at offset 100 as seems to be > implied. > > Could you run > > echo disassemble nfssvc_encode_diropres | gdb -batch -x > /dev/stdin vmlinux
It's in the attached file. In fact, the Oops was with a new compiled kernel with NFSD in modules... So the GDB stuff would not work... So attached is the output of GDB recompiled with NFSD in the kernel. Is it sufficient for you? It's not the one that was running but just recompiled. If not, I'll send you a new Oops + GDB output of a RUNNING kernel with NFSD in the kernel.
> giving it the vmlinux that was running when this oops was > produced? and > also tell me exactly what patches you have ontop of 2.4.1 and where to > find them.
I have only ACL patched. You can find them at acl.bestbits.at. I have tried without them, with exactly the same behaviour.
Thanks -jec
Dump of assembler code for function nfssvc_encode_diropres: 0xc0173710 <nfssvc_encode_diropres>: sub $0x8,%esp 0xc0173713 <nfssvc_encode_diropres+3>: push %ebp 0xc0173714 <nfssvc_encode_diropres+4>: push %edi 0xc0173715 <nfssvc_encode_diropres+5>: push %esi 0xc0173716 <nfssvc_encode_diropres+6>: push %ebx 0xc0173717 <nfssvc_encode_diropres+7>: mov $0x8,%ecx 0xc017371c <nfssvc_encode_diropres+12>: mov 0x20(%esp,1),%ebx 0xc0173720 <nfssvc_encode_diropres+16>: mov 0x24(%esp,1),%eax 0xc0173724 <nfssvc_encode_diropres+20>: lea 0x4(%eax),%esi 0xc0173727 <nfssvc_encode_diropres+23>: mov %ebx,%edi 0xc0173729 <nfssvc_encode_diropres+25>: repz movsl %ds:(%esi),%es:(%edi) 0xc017372b <nfssvc_encode_diropres+27>: add $0x20,%ebx 0xc017372e <nfssvc_encode_diropres+30>: mov %ebx,%ebp 0xc0173730 <nfssvc_encode_diropres+32>: test %ebp,%ebp 0xc0173732 <nfssvc_encode_diropres+34>: je 0xc01738bb <nfssvc_encode_diropres+427> 0xc0173738 <nfssvc_encode_diropres+40>: mov 0x44(%eax),%eax 0xc017373b <nfssvc_encode_diropres+43>: mov 0x8(%eax),%eax 0xc017373e <nfssvc_encode_diropres+46>: mov %eax,0x10(%esp,1) 0xc0173742 <nfssvc_encode_diropres+50>: mov 0x10(%esp,1),%ecx 0xc0173746 <nfssvc_encode_diropres+54>: movzwl 0x2a(%eax),%eax 0xc017374a <nfssvc_encode_diropres+58>: mov %ax,0x16(%esp,1) 0xc017374f <nfssvc_encode_diropres+63>: mov 0x8c(%ecx),%eax 0xc0173755 <nfssvc_encode_diropres+69>: test %eax,%eax 0xc0173757 <nfssvc_encode_diropres+71>: je 0xc017379f <nfssvc_encode_diropres+143> 0xc0173759 <nfssvc_encode_diropres+73>: testb $0x4,0x24(%eax) 0xc017375d <nfssvc_encode_diropres+77>: je 0xc017379f <nfssvc_encode_diropres+143> 0xc017375f <nfssvc_encode_diropres+79>: mov 0x84(%ecx),%eax 0xc0173765 <nfssvc_encode_diropres+85>: test %eax,%eax 0xc0173767 <nfssvc_encode_diropres+87>: je 0xc017379f <nfssvc_encode_diropres+143> 0xc0173769 <nfssvc_encode_diropres+89>: push $0x8000 0xc017376e <nfssvc_encode_diropres+94>: push %ecx 0xc017376f <nfssvc_encode_diropres+95>: mov 0x48(%eax),%eax 0xc0173772 <nfssvc_encode_diropres+98>: call *%eax 0xc0173774 <nfssvc_encode_diropres+100>: mov %eax,%ebx 0xc0173776 <nfssvc_encode_diropres+102>: add $0x8,%esp 0xc0173779 <nfssvc_encode_diropres+105>: cmp $0xfffffc18,%ebx 0xc017377f <nfssvc_encode_diropres+111>: ja 0xc01737a6 <nfssvc_encode_diropres+150> 0xc0173781 <nfssvc_encode_diropres+113>: test %ebx,%ebx 0xc0173783 <nfssvc_encode_diropres+115>: je 0xc017379f <nfssvc_encode_diropres+143> 0xc0173785 <nfssvc_encode_diropres+117>: lea 0x16(%esp,1),%eax 0xc0173789 <nfssvc_encode_diropres+121>: push %eax 0xc017378a <nfssvc_encode_diropres+122>: push %ebx 0xc017378b <nfssvc_encode_diropres+123>: call 0xc01498e4 <posix_acl_masq_nfs_v2_mode> 0xc0173790 <nfssvc_encode_diropres+128>: mov %eax,%esi 0xc0173792 <nfssvc_encode_diropres+130>: push %ebx 0xc0173793 <nfssvc_encode_diropres+131>: call 0xc0149474 <posix_acl_release> 0xc0173798 <nfssvc_encode_diropres+136>: add $0xc,%esp 0xc017379b <nfssvc_encode_diropres+139>: test %esi,%esi 0xc017379d <nfssvc_encode_diropres+141>: jne 0xc01737a6 <nfssvc_encode_diropres+150> 0xc017379f <nfssvc_encode_diropres+143>: cmpl $0x0,0x10(%esp,1) 0xc01737a4 <nfssvc_encode_diropres+148>: jne 0xc01737b0 <nfssvc_encode_diropres+160> 0xc01737a6 <nfssvc_encode_diropres+150>: xor %edx,%edx 0xc01737a8 <nfssvc_encode_diropres+152>: jmp 0xc01738bb <nfssvc_encode_diropres+427> 0xc01737ad <nfssvc_encode_diropres+157>: lea 0x0(%esi),%esi 0xc01737b0 <nfssvc_encode_diropres+160>: mov 0x10(%esp,1),%edi 0xc01737b4 <nfssvc_encode_diropres+164>: movzwl 0x2a(%edi),%eax 0xc01737b8 <nfssvc_encode_diropres+168>: shr $0xc,%ax 0xc01737bc <nfssvc_encode_diropres+172>: and $0xffff,%eax 0xc01737c1 <nfssvc_encode_diropres+177>: lea 0x14(%ebp),%esi 0xc01737c4 <nfssvc_encode_diropres+180>: mov 0xc02de3f8(,%eax,4),%eax 0xc01737cb <nfssvc_encode_diropres+187>: bswap %eax 0xc01737cd <nfssvc_encode_diropres+189>: mov %eax,0x0(%ebp) 0xc01737d0 <nfssvc_encode_diropres+192>: movzwl 0x16(%esp,1),%eax 0xc01737d5 <nfssvc_encode_diropres+197>: bswap %eax 0xc01737d7 <nfssvc_encode_diropres+199>: mov %eax,0x4(%ebp) 0xc01737da <nfssvc_encode_diropres+202>: movzwl 0x2c(%edi),%eax 0xc01737de <nfssvc_encode_diropres+206>: bswap %eax 0xc01737e0 <nfssvc_encode_diropres+208>: mov %eax,0x8(%ebp) 0xc01737e3 <nfssvc_encode_diropres+211>: mov 0x30(%edi),%ecx 0xc01737e6 <nfssvc_encode_diropres+214>: bswap %ecx 0xc01737e8 <nfssvc_encode_diropres+216>: mov %ecx,0xc(%ebp) 0xc01737eb <nfssvc_encode_diropres+219>: mov 0x34(%edi),%ecx 0xc01737ee <nfssvc_encode_diropres+222>: bswap %ecx 0xc01737f0 <nfssvc_encode_diropres+224>: mov %ecx,0x10(%ebp) 0xc01737f3 <nfssvc_encode_diropres+227>: movzwl 0x2a(%edi),%eax 0xc01737f7 <nfssvc_encode_diropres+231>: and $0xfffff000,%eax 0xc01737fc <nfssvc_encode_diropres+236>: cmp $0xa000,%ax 0xc0173800 <nfssvc_encode_diropres+240>: jne 0xc0173820 <nfssvc_encode_diropres+272> 0xc0173802 <nfssvc_encode_diropres+242>: mov 0x40(%edi),%eax 0xc0173805 <nfssvc_encode_diropres+245>: test %eax,%eax 0xc0173807 <nfssvc_encode_diropres+247>: jg 0xc0173814 <nfssvc_encode_diropres+260> 0xc0173809 <nfssvc_encode_diropres+249>: jne 0xc0173820 <nfssvc_encode_diropres+272> 0xc017380b <nfssvc_encode_diropres+251>: cmpl $0x400,0x3c(%edi) 0xc0173812 <nfssvc_encode_diropres+258>: jbe 0xc0173820 <nfssvc_encode_diropres+272> 0xc0173814 <nfssvc_encode_diropres+260>: lea 0x18(%ebp),%esi 0xc0173817 <nfssvc_encode_diropres+263>: movl $0x40000,0x14(%ebp) 0xc017381e <nfssvc_encode_diropres+270>: jmp 0xc0173830 <nfssvc_encode_diropres+288> 0xc0173820 <nfssvc_encode_diropres+272>: mov %esi,%eax 0xc0173822 <nfssvc_encode_diropres+274>: mov 0x10(%esp,1),%edi 0xc0173826 <nfssvc_encode_diropres+278>: add $0x4,%esi 0xc0173829 <nfssvc_encode_diropres+281>: mov 0x3c(%edi),%ecx 0xc017382c <nfssvc_encode_diropres+284>: bswap %ecx 0xc017382e <nfssvc_encode_diropres+286>: mov %ecx,(%eax) 0xc0173830 <nfssvc_encode_diropres+288>: mov %esi,%eax 0xc0173832 <nfssvc_encode_diropres+290>: add $0x4,%esi 0xc0173835 <nfssvc_encode_diropres+293>: mov 0x10(%esp,1),%edi 0xc0173839 <nfssvc_encode_diropres+297>: mov %esi,%edx 0xc017383b <nfssvc_encode_diropres+299>: add $0x4,%esi 0xc017383e <nfssvc_encode_diropres+302>: mov 0x50(%edi),%ecx 0xc0173841 <nfssvc_encode_diropres+305>: bswap %ecx 0xc0173843 <nfssvc_encode_diropres+307>: mov %ecx,(%eax) 0xc0173845 <nfssvc_encode_diropres+309>: movzwl 0x38(%edi),%eax 0xc0173849 <nfssvc_encode_diropres+313>: bswap %eax 0xc017384b <nfssvc_encode_diropres+315>: mov %eax,(%edx) 0xc017384d <nfssvc_encode_diropres+317>: mov %esi,%eax 0xc017384f <nfssvc_encode_diropres+319>: add $0x4,%esi 0xc0173852 <nfssvc_encode_diropres+322>: mov 0x54(%edi),%ecx 0xc0173855 <nfssvc_encode_diropres+325>: bswap %ecx 0xc0173857 <nfssvc_encode_diropres+327>: mov %ecx,(%eax) 0xc0173859 <nfssvc_encode_diropres+329>: mov %esi,%edx 0xc017385b <nfssvc_encode_diropres+331>: add $0x4,%esi 0xc017385e <nfssvc_encode_diropres+334>: movzwl 0x28(%edi),%eax 0xc0173862 <nfssvc_encode_diropres+338>: bswap %eax 0xc0173864 <nfssvc_encode_diropres+340>: mov %eax,(%edx) 0xc0173866 <nfssvc_encode_diropres+342>: mov %esi,%eax 0xc0173868 <nfssvc_encode_diropres+344>: add $0x4,%esi 0xc017386b <nfssvc_encode_diropres+347>: mov 0x20(%edi),%ecx 0xc017386e <nfssvc_encode_diropres+350>: bswap %ecx 0xc0173870 <nfssvc_encode_diropres+352>: mov %ecx,(%eax) 0xc0173872 <nfssvc_encode_diropres+354>: mov %esi,%eax 0xc0173874 <nfssvc_encode_diropres+356>: add $0x4,%esi 0xc0173877 <nfssvc_encode_diropres+359>: mov 0x44(%edi),%ecx 0xc017387a <nfssvc_encode_diropres+362>: bswap %ecx 0xc017387c <nfssvc_encode_diropres+364>: mov %ecx,(%eax) 0xc017387e <nfssvc_encode_diropres+366>: movl $0x0,(%esi) 0xc0173884 <nfssvc_encode_diropres+372>: add $0x4,%esi 0xc0173887 <nfssvc_encode_diropres+375>: mov %esi,%ebx 0xc0173889 <nfssvc_encode_diropres+377>: add $0x4,%esi 0xc017388c <nfssvc_encode_diropres+380>: push %edi 0xc017388d <nfssvc_encode_diropres+381>: call 0xc0140a2c <lease_get_mtime> 0xc0173892 <nfssvc_encode_diropres+386>: add $0x4,%esp 0xc0173895 <nfssvc_encode_diropres+389>: bswap %eax 0xc0173897 <nfssvc_encode_diropres+391>: mov %eax,(%ebx) 0xc0173899 <nfssvc_encode_diropres+393>: movl $0x0,(%esi) 0xc017389f <nfssvc_encode_diropres+399>: add $0x4,%esi 0xc01738a2 <nfssvc_encode_diropres+402>: mov %esi,%eax 0xc01738a4 <nfssvc_encode_diropres+404>: add $0x4,%esi 0xc01738a7 <nfssvc_encode_diropres+407>: mov 0x4c(%edi),%ecx 0xc01738aa <nfssvc_encode_diropres+410>: bswap %ecx 0xc01738ac <nfssvc_encode_diropres+412>: mov %ecx,(%eax) 0xc01738ae <nfssvc_encode_diropres+414>: movl $0x0,(%esi) 0xc01738b4 <nfssvc_encode_diropres+420>: lea 0x4(%esi),%edx 0xc01738b7 <nfssvc_encode_diropres+423>: test %edx,%edx 0xc01738b9 <nfssvc_encode_diropres+425>: jne 0xc01738c0 <nfssvc_encode_diropres+432> 0xc01738bb <nfssvc_encode_diropres+427>: xor %eax,%eax 0xc01738bd <nfssvc_encode_diropres+429>: jmp 0xc017390e <nfssvc_encode_diropres+510> 0xc01738bf <nfssvc_encode_diropres+431>: nop 0xc01738c0 <nfssvc_encode_diropres+432>: mov 0x1c(%esp,1),%edi 0xc01738c4 <nfssvc_encode_diropres+436>: mov %edx,%eax 0xc01738c6 <nfssvc_encode_diropres+438>: mov 0x13c(%edi),%ebx 0xc01738cc <nfssvc_encode_diropres+444>: sub %ebx,%eax 0xc01738ce <nfssvc_encode_diropres+446>: sar $0x2,%eax 0xc01738d1 <nfssvc_encode_diropres+449>: mov %eax,0x148(%edi) 0xc01738d7 <nfssvc_encode_diropres+455>: testb $0x1,0xc0367d21 0xc01738de <nfssvc_encode_diropres+462>: je 0xc01738f6 <nfssvc_encode_diropres+486> 0xc01738e0 <nfssvc_encode_diropres+464>: mov 0x140(%edi),%eax 0xc01738e6 <nfssvc_encode_diropres+470>: push %eax 0xc01738e7 <nfssvc_encode_diropres+471>: push %ebx 0xc01738e8 <nfssvc_encode_diropres+472>: push %edx 0xc01738e9 <nfssvc_encode_diropres+473>: push $0xc02874a0 0xc01738ee <nfssvc_encode_diropres+478>: call 0xc011567c <printk> 0xc01738f3 <nfssvc_encode_diropres+483>: add $0x10,%esp 0xc01738f6 <nfssvc_encode_diropres+486>: mov 0x1c(%esp,1),%ecx 0xc01738fa <nfssvc_encode_diropres+490>: mov 0x140(%ecx),%eax 0xc0173900 <nfssvc_encode_diropres+496>: cmp %eax,0x148(%ecx) 0xc0173906 <nfssvc_encode_diropres+502>: setle %al 0xc0173909 <nfssvc_encode_diropres+505>: and $0xff,%eax 0xc017390e <nfssvc_encode_diropres+510>: pop %ebx 0xc017390f <nfssvc_encode_diropres+511>: pop %esi 0xc0173910 <nfssvc_encode_diropres+512>: pop %edi 0xc0173911 <nfssvc_encode_diropres+513>: pop %ebp 0xc0173912 <nfssvc_encode_diropres+514>: pop %ecx 0xc0173913 <nfssvc_encode_diropres+515>: pop %edx 0xc0173914 <nfssvc_encode_diropres+516>: ret 0xc0173915 <nfssvc_encode_diropres+517>: lea 0x0(%esi),%esi End of assembler dump.
| |