On Fri, 2009-08-14 at 16:15 +0100, Daniel P. Berrange wrote:
On Fri, Aug 14, 2009 at 04:09:32PM +0100, Mark McLoughlin wrote:
> On Fri, 2009-08-14 at 16:41 +0200, Mirko Raasch wrote:
> > Hi,
> >
> > thanks for you improvements.
> >
> > I updated libvirt with git and tried to passthrough two pci devices to a
> > linux guest.
> >
> > <hostdev mode='subsystem' type='pci'
managed='yes'>
> > <source>
> > <address domain='0x0000' bus='0x05'
slot='0x01' function='0x0'/>
> > </source>
> > </hostdev>
> > <hostdev mode='subsystem' type='pci'
managed='yes'>
> > <source>
> > <address domain='0x0000' bus='0x05'
slot='0x03' function='0x0'/>
> > </source>
> > </hostdev>
> >
> > In the guest, only one of them works and after the shutdown of the
> > guest, i got a segfault on the host.
> >
> > libvirtd[15363]: segfault at 38 ip 0000000000421164 sp 00007fff59d1dfb0
> > error 4 in libvirtd[400000+6d000]
> >
> > I use kernel 2.6.30-4 on the host.
> >
> > What did i wrong?
>
> It's more a question of what *I* did wrong, probably :-)
>
> Did this work before? With what version? Is there any chance you could
> use git-bisect to find out what commit introduced the regression?
>
> If not, please run libvirtd from the command line with LIBVIRT_DEBUG and
> post the log file somewhere. Also, the guest log file
> from /var/log/libvirt/qemu would help
For segfault crashes, your best bet is actually to just run libvirtd
under valgrind. That usually narrows down the problem more quickly
than the debug modes
Good point - I actually meant to ask Mirko to run it in gdb and get a
stack trace.
Cheers,
Mark.