kern/85440: untaring into a too small / crashes the system
Harald Schmalzbauer
harry at schmalzbauer.de
Mon Aug 29 15:10:17 GMT 2005
>Number: 85440
>Category: kern
>Synopsis: untaring into a too small / crashes the system
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 29 15:10:16 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Harald Schmalzbauer
>Release: FreeBSD 6.0-BETA2 i386
>Organization:
>Environment:
System: FreeBSD cale.flintsbach.schmalzbauer.de 6.0-BETA2 FreeBSD 6.0-BETA2 #0: Thu Aug 18 05:29:38 CEST 2005 root@:/usr/obj/usr/src/sys/CALE i386
>Description:
While doing some tests I forgot that O had nothing mounted into /mnt,
so I extracted a tar archive into / mountpoint.
Although ther's plenty of free memory, and alos plenty of swap
the system died when / was full. I know that it's a big mistake and if
one does such things as superuser the -m n% (8) protection doesn't
intercept, so it's riky anyway but the machine shouldn't crash IMHO.
>How-To-Repeat:
Extract a tar archive into / mountpoint which is bigger that root
filesystem has free.
Here's the panic:
Aug 2a9 15:59:10 cale kernel: pid 13870 (bsdtar), uid 0 inumber 19217 uon : filesystem ltfull
dtar), uid 0 inu cale kernel: pid 13870 (bs
mber 19218 on :
Falesystem full
tal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc075f787
stack pointer = 0x28:0xdbe5fb3c
frame pointer = 0x28:0xdbe5fb68
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 888 (kdeinit)
[thread pid 888 tid 100156 ]
Stopped at generic_bcopy+0x23: repe movsb (%esi),%es:(%edi)
db>
db> trace
Tracing pid 888 tid 100156 td 0xc3037300
generic_bcopy(c2066038,dbe5fb84,64,dbe5fb9c,dbe5fba0) at generic_bcopy+0x23
ptcread(c2bed800,dbe5fcb0,4,0,0) at ptcread+0x190
devfs_read_f(c30915e8,dbe5fcb0,c30fcb80,0,c3037300) at devfs_read_f+0xd4
dofileread(c3037300,b,c30915e8,dbe5fcb0,ffffffff) at dofileread+0xa7
kern_readv(c3037300,b,dbe5fcb0,bfbfd760,400) at kern_readv+0x60
read(c3037300,dbe5fd04,c,dbe5fd2c,c05cde66) at read+0x4f
syscall(805003b,2910003b,bfbf003b,805c000,820b400) at syscall+0x370
Xint0x80_syscall() at Xint0x80_syscall+0x1f
--- syscall (3, FreeBSD ELF32, read), eip = 0x293cc8cf, esp = 0xbfbfd71c, ebp = 0xbfbfd738 ---
db>
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list