NetBSD-Bugs archive

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

Re: port-xen/47057: Xen NetBSD DomU file system trash under Linux Dom0



The following reply was made to PR port-xen/47057; it has been noted by GNATS.

From: =?windows-1252?Q?Roger_Pau_Monn=E9?= <roger.pau%citrix.com@localhost>
To: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
Cc: "gnats-bugs%NetBSD.org@localhost" <gnats-bugs%NetBSD.org@localhost>,
        "port-xen-maintainer%netbsd.org@localhost" 
<port-xen-maintainer%NetBSD.org@localhost>,
        "gnats-admin%netbsd.org@localhost" <gnats-admin%NetBSD.org@localhost>, 
"netbsd-bugs%netbsd.org@localhost"
        <netbsd-bugs%NetBSD.org@localhost>, "royger%netbsd.org@localhost" 
<royger%NetBSD.org@localhost>
Subject: Re: port-xen/47057: Xen NetBSD DomU file system trash under Linux
 Dom0
Date: Sat, 20 Oct 2012 18:02:27 +0200

 On 20/10/12 17:57, Manuel Bouyer wrote:
 > On Sat, Oct 20, 2012 at 05:48:08PM +0200, Roger Pau Monné wrote:
 >>>
 >>>> Will compile a new kernel with -g and let's see
 >>>> what I can get, but I bet xenbus_thread is blocked at:
 >>>>
 >>>> 831: printk("XENBUS error %d while reading message\n", err);
 >>>>
 >>>> In fact I'm going to replace that with a panic.
 >>>
 >>> Maybe just a printf instead of a printk at first.
 >>
 >> Tried that in the past (replacing the printk with a printf), and then I
 >> just get in an infite printf loop, intf->rsp_cons and intf->rsp_prod are
 >> corrupted, check_indexes in xb_read always returns false and this leads
 >> to a infinite loop in xenbus_thread because process_msg always return error.
 >>
 >> I've now compiled a kernel that has the panic and prints the ring
 >> indexes. What's the best way to check who modifies intf->rsp_cons and
 >> intf->rsp_prod? Will ddb watch work on this kind of memory region?
 > 
 > You can try, but at first glance I'd say it won't work. 
 > 
 > Can you determine if it's cons or prod (or both) which is corrupted,
 > and in which way ? What are the values when it's corrupted ?
 > Are they always the same ?
 
 This is a trim of what I think is relevant, the first lines correspond
 to the last known values of prod and cons before the corruption, and the
 rest is quite self explanatory:
 
 xenbus_xs (process_msg:763) xb_read hdr 0.
 xb_read: cons: 3470 prod: 3473
 Finished read of 3 bytes (0 to go)
 xenbus_xs (process_msg:776) xb_read body 0.
 xenbus_xs (process_msg:811) process_msg: type 7 body OK.
 xenbus_xs (read_reply:134) read_reply: type 7 body OK.
 xenbus_xs (xs_talkv:224) read done.
 
 [?]
 
 xb_read: cons: 2403996137 prod: 3531897424
 xb_read EIO
 xenbus_xs (process_msg:763) xb_read hdr 5.
 panic: XENBUS error 5 while reading message
 
 cpu0: Begin traceback...
 printf_nolog() at netbsd:printf_nolog
 xenbus_thread() at netbsd:xenbus_thread+0x140
 


Home | Main Index | Thread Index | Old Index