Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Large file copy seems to cause dom0 kernel panic



I saw and reported this ~1 year ago. ( See:
http://mail-index.netbsd.org/port-xen/2010/07/27/msg006181.html It is
the same kernel stack trace. I only saw problems when doing
    dd if=/dev/zero of=file-backed-domu-boot-disk-image bs=1048576 count=8192
within a domU. I could not reproduce this in the GENERIC kernel. My
motherboard is an Opteron SuperMicro H8QM8-2+ (multiprocessor, high
memory=24Gb). Also, I was using solid state disks (Intel X-25.) My
suspicion is that because these "disks" are fast, with a high memory
footprint the VM system was running into edge cases where pages got
pushed out to disk faster than with traditional spinning platters, and
there was probably a missing lock that wasn't exposed normally with
slower i/O. Unfortunately, when I get a panic there is a secondary
panic which prevents the dump from happening so i could only get a
screenshot.

I can provide remote access to the system if it would be helpful.

-Steve Senator


On Sat, Oct 15, 2011 at 4:41 AM, Stephen M. Jones <smj%cirr.com@localhost> 
wrote:
>> please enable ddb (sysctl -w ddb.onpanic=1) and report the real stack
>> trace.
>>
>> I've never noticed this mysef, although I occasionally do large files
>> copy in dom0.
>
> uvm_fault(0xffffffff80bfffc0, 0xffffffff81400000, 1) -> e
> fatal page fault in supervisor mode
> trap type 6 code 0 rip ffffffff804fb673 cs e030 rflags 10286 cr2 
>  ffffffff81400028 cpl 0 rsp ffffa0006ce638d0
> kernel: page fault trap, code=0
> Stopped in pid 4889.1 (cp) at   netbsd:pmap_kenter_pa+0x173:    movq   
>  0(%rax),
> %rsi
> pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x173
> ubc_alloc() at netbsd:ubc_alloc+0x25d
> ubc_uiomove() at netbsd:ubc_uiomove+0xba
> ffs_write() at netbsd:ffs_write+0x5c2
> VOP_WRITE() at netbsd:VOP_WRITE+0x2d
> vn_write() at netbsd:vn_write+0xce
> dofilewrite() at netbsd:dofilewrite+0x7f
> sys_write() at netbsd:sys_write+0x72
> syscall() at netbsd:syscall+0xb4
> ds          0
> es          0x3920
> fs          0
> gs          0xdd38
> rdi         0xffffa0006752c000
> rsi         0xcbe05000
> rbp         0xffffa0006ce63900
> rbx         0xcbe05
> rdx         0x7f8000000000
> rcx         0
> rax         0xffffffff81400028
> r8          0xffffffff80bab900  cpu_info_primary
> r9          0xffffa0000615d9c0
> r10         0xffffa00007cdf160
> r11         0xffffa0006ce63920
> r12         0x3
> r13         0x7fd00033a960
> r14         0xffffa00067a9dd38
> r15         0xffffa0006752c000
> rip         0xffffffff804fb673  pmap_kenter_pa+0x173
> cs          0xe030
> rflags      0x10286
> rsp         0xffffa0006ce638d0
> ss          0xe02b
> netbsd:pmap_kenter_pa+0x173:    movq    0(%rax),%rsi
> db>
> db> bt
> pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x173
> ubc_alloc() at netbsd:ubc_alloc+0x25d
> ubc_uiomove() at netbsd:ubc_uiomove+0xba
> ffs_write() at netbsd:ffs_write+0x5c2
> VOP_WRITE() at netbsd:VOP_WRITE+0x2d
> vn_write() at netbsd:vn_write+0xce
> dofilewrite() at netbsd:dofilewrite+0x7f
> sys_write() at netbsd:sys_write+0x72
> syscall() at netbsd:syscall+0xb4
> db> trace
> pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x173
> ubc_alloc() at netbsd:ubc_alloc+0x25d
> ubc_uiomove() at netbsd:ubc_uiomove+0xba
> ffs_write() at netbsd:ffs_write+0x5c2
> VOP_WRITE() at netbsd:VOP_WRITE+0x2d
> vn_write() at netbsd:vn_write+0xce
> dofilewrite() at netbsd:dofilewrite+0x7f
> sys_write() at netbsd:sys_write+0x72
> syscall() at netbsd:syscall+0xb4
> db> reboot
> syncing disks... 12 11 done
> unmounting file systems...
> unmounting /proc (procfs)...uvm_fault(0xffffffff80bfffc0, 0xffffffff81400000, 
> 1) -> e
> fatal page fault in supervisor mode
> trap type 6 code 0 rip ffffffff804fb673 cs e030 rflags 10282 cr2 
>  ffffffff814000a8 cpl 6 rsp ffffa0006ce630e0
> kernel: page fault trap, code=0
> Stopped in pid 4889.1 (cp) at   netbsd:pmap_kenter_pa+0x173:    movq   
>  0(%rax),
> %rsi
> pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x173
> uvm_km_alloc() at netbsd:uvm_km_alloc+0x169
> pool_grow() at netbsd:pool_grow+0x36
> pool_get() at netbsd:pool_get+0x68
> pool_cache_put_slow() at netbsd:pool_cache_put_slow+0x1d0
> pool_cache_put_paddr() at netbsd:pool_cache_put_paddr+0xe1
> vnfree() at netbsd:vnfree+0x5b
> vrelel() at netbsd:vrelel+0x3f9
> vflush() at netbsd:vflush+0x2d7
> procfs_unmount() at netbsd:procfs_unmount+0x2b
> dounmount() at netbsd:dounmount+0xd5
> vfs_unmountall() at netbsd:vfs_unmountall+0x7c
> cpu_reboot() at netbsd:cpu_reboot+0xe1
> db_reboot_cmd() at netbsd:db_reboot_cmd+0x47
> db_command() at netbsd:db_command+0xb0
> db_command_loop() at netbsd:db_command_loop+0xe9
> db_trap() at netbsd:db_trap+0xdd
> kdb_trap() at netbsd:kdb_trap+0xc2
> trap() at netbsd:trap+0x345
>


Home | Main Index | Thread Index | Old Index