Hammer fails in HEAD

Andreas Lundin lunde at dreamhosted.se
Sun Jul 6 16:04:56 PDT 2008


* Matthew Dillon (dillon at apollo.backplane.com) wrote:
> 
> :Hi,
> :
> :I'm running HEAD as of today and hammer fails instantly as it tries to
> :write to disk. I'm still on my first 48 hours as a dragonfly bsd user
> :so I might very well have done something wrong here and that's why it
> :fails. I've edited /usr/src/sys/config/GENERIC and added options
> :HAMMER, make buildworld/buildkernel, installkernel/installworld
> :and after that make upgrade.
> :
> :I have an entire disk ad1 that I want to try hammer on. The disklabel
> :looks like this:
> :...
> :newfs_hammer -L test /dev/ad1s1d
> :mount_hammer /dev/ad1s1d /mnt/hammer
> :touch /mnt/hammer/file001
> :sync
> :
> :If someone tells me what to type at the debugger I can provide the
> :output.
> :
> :Regards
> :Andreas Lundin
> 
>     Make sure the newfs_hammer binary is the latest as well.  It kinda feels
>     like you may have tried to use an out-of-date newfs_hammer.
> 
>     If it still crashes, report where it crashes, usually the first few
>     lines of the panic plus the trace output.  For example:
> 
> Fatal trap 12: page fault while in kernel mode
> mp_lock = 00000000; cpuid = 0; lapic.id = 00000000
> fault virtual address   = 0x2070
> fault code              = supervisor read, page not present
> ....
> db>
> 
>     And then type 'trace' and you would get something like this:
> 
> hammer_done_cursor(...) at hammer_done_cursor+0xa9
> hammer_ioc_mirror_read(...) at hammer_ioc_mirror_read+0x3e7
> hammer_ioctl(...) at hammer_ioctl+0x6e3
> 
>     The arguments to the functions isn't that important (the bit I "..." out),
>     the rest can be important, though.
> 
> 					-Matt
> 					Matthew Dillon 
> 					<dillon at backplane.com>

newfs_hammer is the latest, anyway here's the output:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x3c
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0427226
stack pointer           = 0x10:0xcecc5b94
frame pointer           = 0x10:0xcecc5bac
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         = Idle
current thread          = pri 12

kernel: type 12 trap, code=0
Stopped at      hammer_btree_mirror_propagate+0x10:     movl     0x3c(%edx),%ecx

Here is a back trace from the dump:

#10 0xc04bede7 in calltrap () at
/usr/src/sys/platform/pc32/i386/exception.s:785
#11 0xc0427226 in hammer_btree_mirror_propagate (trans=0x0, node=0x0,
index=0, mirror_tid=4295067302)
    at /usr/src/sys/vfs/hammer/hammer_btree.c:2156
    #12 0xc0427446 in hammer_btree_do_propagation (cursor=0xcecafc58,
ip=0xcceaaad0, leaf=0xc189696c)
    at /usr/src/sys/vfs/hammer/hammer_btree.c:2137
    #13 0xc04338f3 in hammer_ip_sync_record_cursor (cursor=0xcecafc58,
record=0xc1896928)
    at /usr/src/sys/vfs/hammer/hammer_object.c:1152
    #14 0xc042c355 in hammer_update_inode (cursor=0xcecafc58,
ip=0xcceaaad0)
    at /usr/src/sys/vfs/hammer/hammer_inode.c:923
    #15 0xc042cc39 in hammer_sync_inode (ip=0xcceaaad0) at
/usr/src/sys/vfs/hammer/hammer_inode.c:2366
#16 0xc042a9fb in hammer_flusher_flush_inode (ip=0xcceaaad0,
trans=0xceca3114)
    at /usr/src/sys/vfs/hammer/hammer_flusher.c:361
    #17 0xc042ac18 in hammer_flusher_slave_thread (arg=0xc198cc90) at
/usr/src/sys/vfs/hammer/hammer_flusher.c:242
#18 0xc02cc628 in lwkt_deschedule_self (td=Cannot access memory at
address 0x8
) at /usr/src/sys/kern/lwkt_thread.c:223
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

If the dump is of any use the entire dump is available here:
http://dreamhosted.se/~lunde/dfly/crash.tar.gz 541MB when unpacked

/Andreas





More information about the Users mailing list