fstat triggered INVARIANTS panic in memrw()

Alan Cox alc at cs.rice.edu
Sun Jan 16 13:14:24 PST 2005


On Sat, Jan 15, 2005 at 09:04:33PM -0800, Kris Kennaway wrote:
> On Sat, Jan 15, 2005 at 04:34:32PM -0800, Kris Kennaway wrote:
> 
> > > generic_copyout(deadc0de,7ab7037c,eed96c84,54,5964d000) at generic_copyout+0x36
> > 
> > (kgdb) l *memrw+0x36
> > 0xc06e3486 is in memrw (../../../i386/i386/mem.c:128).
> > 123
> > 124                             if (!kernacc((caddr_t)(int)uio->uio_offset, c,
> > 125                                 uio->uio_rw == UIO_READ ?
> > 126                                 VM_PROT_READ : VM_PROT_WRITE))
> > 127                                     return (EFAULT);
> > 128                             error = uiomove((caddr_t)(int)uio->uio_offset, (int)c, uio);
> > 129                             continue;
> > 130                     }
> > 131                     /* else panic! */
> > 132             }
> > 
> > > memrw(c34fad00,eed96c84,0,398,7ab7037c) at memrw+0x18a
> > > devfs_read_f(c51773b8,eed96c84,ca75c800,0,c9ec1780) at devfs_read_f+0x142
> > > dofileread(4,804f000,7ab7037c,ffffffff,ffffffff) at dofileread+0x92
> > > read(c9ec1780,eed96d14,c,3ff,3) at read+0x75
> > > syscall(2f,2f,2f,7ab7037c,80b1078) at syscall+0x137
> > > Xint0x80_syscall() at Xint0x80_syscall+0x1f
> > > --- syscall (3, FreeBSD ELF32, read), eip = 0x280d347f, esp = 0xbfbfe34c, ebp = 0xbfbfe378 ---
> > > 
> > > Note the deadc0de in generic_copyout().
> 
> BTW, this is now wreaking havoc with my ability to finish building
> packages for 4.11-RELEASE (together with the softupdates panic also
> being reported), so anything someone can do to track this down is
> appreciated.
> 

The "deadc0de" passed to generic_copyout() comes from the following
lines in devfs_read_f(c51773b8,eed96c84,ca75c800,flags=0):

        if ((flags & FOF_OFFSET) == 0)
                uio->uio_offset = fp->f_offset;

Can you print the contents of the file structure?

Alan


More information about the freebsd-current mailing list