[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: dom0 panics when copying large file
On Tue, Nov 24, 2009 at 7:59 PM, Christoph Egger
> Julio Merino wrote:
>> I have NetBSD 5.99.22 amd64 running on a 4-core, 8gb machine. I can
>> reproducibly panic the machine by scp'ing an ISO image into it, and it
>> seems to always crash at about 80% of the copy (2.8GB, but never in
>> the exact same place).
>> This happens with a XEN3_DOM0 kernel (xen 3.3), but not with a GENERIC
>> one. There are no domUs: the file is being copied froma remote
>> machine into the dom0, which has 6gb of ram and 8gb of swap.
>> The trace goes like this:
>> kernel: page fault trap, code=0
>> Stopped in pid 41.1 (scp) at netbsd:pmap_kenter_pa+0x169: movq 0(%rax),%rsi
>> pmap_kenter_pa() at netbsd:pmap_kenter_pa+0x169
>> ubc_alloc() at netbsd:ubc_alloc+0x289
>> ubc_iomove() at netbsd:ubc_uiomove+0xc0
>> ffs_write() at netbsd:ffs_write+0x2a4
>> VOP_WRITE() at netbsd:VOP_WRITE+0x2d
>> vn_write() at netbsd:vn_write+0xc0
>> dofilewrite() at netbsd:dofilewrite+0x74
>> sys_write() at netbsd:sys_write+0x6e
>> syscall() at netbsd:syscal+0xa8
>> WAPBL is not involved.
>> Also, unrelated, but annoying: I cannot get a crash dump. When the
>> machine panics, it doesn't save a coredump. The dom0 has 6gb of ram
>> assigned, the machine has a total of 8gb and the swap partition is
>> 8gb, so the dump should fit.
>> Any ideas?
> When you are in ddb, what does 'show register' print ?
> What is the output of
> gdb netbsd.gdb
> (gdb) list *(pmap_kenter_pa+0x169)
Man this was hard. Adding -c to boot.cfg didn't work, so I had to
rebuild a new kernel without pckbdc so that I could use my usb
keyboard in ddb...
db> show register
r8 0xffffffff80b83f40 cpu_info_primary
rip 0xffffffff80521160 pmap_kernel_pa+0x169
netbsd:pmap_kenter_pa+0x169: movq 0(%rax), %rsi
(gdb) list *(pmap_kenter_pa+0x169)
0xffffffff80521160 is in pmap_kenter_pa (./xen/xenpmap.h:93).
90 static __inline paddr_t
91 xpmap_ptom_masked(paddr_t ppa)
93 return (((paddr_t)xpmap_phys_to_machine_mapping[(ppa -
94 XPMAP_OFFSET) >> PAGE_SHIFT]) << PAGE_SHIFT);
97 static inline void
Hope this helps! I'm going away from this computer for two weeks;
will only have remote access.
Main Index |
Thread Index |