Re: FreeBSD on xen hvm

From: Kip Macy <kip.macy_at_gmail.com>
Date: Sat, 25 Aug 2007 12:52:34 -0700
On 8/25/07, Kip Macy <kip.macy_at_gmail.com> wrote:
> Have you tried gdbserver?

Sorry gmail client freaked out. I know that the gdbserver worked with
hvm guests at least at one point. Please let me know if that is not
the case.

 -Kip

>
>    -Kip
>
>
> On 8/25/07, Andrew Turner <andrew_at_fubar.geek.nz> wrote:
> > On Fri, 24 Aug 2007 13:30:17 +0100 (BST)
> > Robert Watson <rwatson_at_FreeBSD.org> wrote:
> > > On Fri, 24 Aug 2007, Andrew Turner wrote:
> > >
> > > > 1) PREEMPTION Preemption causes the kernel to panic with a page
> > > > fault. The dmesg is available from [1].
> > >
> > > Any chance it's possible to get a core for this, or attach GDB
> > > somehow to the VM?
> > I haven't managed to get either remote GDB working and it's too early
> > in the boot for a core. I can get a xen core dump but it would require
> > processing to get it into something gdb could use.
> > >  It looks like timing in Xen may be exposing a
> > > race in some or another subsystem with timers, but figuring out which
> > > subsystem it is will be most easily done if we can inspect the
> > > callout information, which is most easily done with GDB since you can
> > > inspect the callout structure more easily.  If not, then we can add
> > > some printfs to extract the information, I expect, or extend DDB.  We
> > > need to find out what the function pointer in the callout structure
> > > is for.
> > I've created a patch at [1] to add "show callouts" to ddb. It prints
> > all the callouts in callwheel and the name of the function they call.
> > The callouts with preemption are:
> > loadav
> > in6_tmpaddrtimer
> > in6_rtqtimo
> > in_rtqtimo
> > in6_mtutimo
> > uma_timeout
> > nd6_slowtimo
> > nfsrv_timer
> > tcp_isn_tick
> > scrn_timer
> > roundrobin
> > atkbd_timeout
> > sleepq_timeout
> > sleepq_timeout
> > sleepq_timeout
> > sleepq_timeout
> > pffasttimo
> > pfslowtimo
> > kbdmux_kbd_intr_timo
> > if_slowtimo
> > ipport_tick
> > nd6_timer
> > lboltcb
> > tcp_hc_purge
> >
> > Preemption does not always cause the kernel to panic, however when it
> > doesn't it shows the mountroot> prompt and is unable to load the root
> > as no disk drives show up.
> > >
> > > > 3) INVARIANTS Invariants causes a panic from a page fault. See [2]
> > > > for the dmesg and backtrace.
> > >
> > > This appears to be in the start up of Audit as it creates a kernel
> > > thread. Possibly it's creating the thread too early, or possibly
> > > something else is going on.  Can you try creating a kernel without
> > > options AUDIT and see if it works better, or if it just panics when
> > > the next thread is created?
> > It just panics in the next thread created.
> > >
> > > It sounds like Xen may start the timer firing sooner than on plain
> > > hardware, or possibly at a faster rate initially, and that's causing
> > > things to happen in a different order, so I expect we'll either bump
> > > into a series of races of this sort based on different ordering of
> > > events, or discover the timer isn't properly being disabled or
> > > managed in Xen :-).
> > I'm suspecting the timer isn't being managed properly. The timer in the
> > loader always stays at 10 and with DIAGNOSTIC I'm getting lines like:
> > Expensive timeout(9) function: 0xc097da70(0xc0bbaa00) -1.982636062 s
> >
> > Andrew
> >
> > [1] http://fubar.geek.nz/files/freebsd/ddb-callout.diff
> >
> > --
> > Andrew Turner
> > http://fubar.geek.nz/blog/
> > _______________________________________________
> > freebsd-current_at_freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
> >
>
Received on Sat Aug 25 2007 - 17:52:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:16 UTC