libvirt and bhyve problems

Craig Rodrigues rodrigc at FreeBSD.org
Tue Jun 10 20:54:20 UTC 2014


On Tue, Jun 10, 2014 at 12:25 PM, Craig Rodrigues <rodrigc at freebsd.org> wrote:
>
>
> # gdb /usr/local/sbin/libvirtd libvirtd.core
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you are
> welcome to change it and/or distribute copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show warranty" for details.
> This GDB was configured as "amd64-marcel-freebsd"...
> Core was generated by `libvirtd'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x0000000801aa8513 in ?? ()
> (gdb) where
> #0  0x0000000801aa8513 in ?? ()
> #1  0x0000001800000008 in ?? ()
> #2  0x00007fffff3f9330 in ?? ()
> #3  0x0000000809e5510c in ?? ()
> #4  0x0000000000000007 in ?? ()
> #5  0x0000000809e5531b in ?? ()
> #6  0x0000000000000000 in ?? ()


OK, so it looks like in CURRENT, at least for the devel/libvirt port,
the gdb in base, and also gdb in ports cannot debug libvirtd.core.

I enabled WITH_LLDB=yes in /etc/src.conf and recompiled
to install lldb.  I am not so familiar with lldb, but at least I can
get a stacktrace with it.

lldb /usr/local/sbin/libvirtd libvirtd.core

(lldb) bt
* thread #1: tid = 0, 0x0000000801aa8513
libvirt.so.1002`virNetDevTapCreateInBridgePort(brname=0x000000080a4211c8,
ifname=0x000000080a88d1e0, macaddr=0x000000080a88d144,
vmuuid=0x000000080a81b808, tapfd=0x0000000000000000, tapfdSize=1,
virtPortProfile=0x0000000000000000, virtVlan=0x0000000000000000,
flags=9) + 547 at virnetdevtap.c:583, name = 'libvirtd', stop reason =
signal SIGSEGV
  * frame #0: 0x0000000801aa8513
libvirt.so.1002`virNetDevTapCreateInBridgePort(brname=0x000000080a4211c8,
ifname=0x000000080a88d1e0, macaddr=0x000000080a88d144,
vmuuid=0x000000080a81b808, tapfd=0x0000000000000000, tapfdSize=1,
virtPortProfile=0x0000000000000000, virtVlan=0x0000000000000000,
flags=9) + 547 at virnetdevtap.c:583
    frame #1: 0x0000000809e20569
libvirt_driver_bhyve.so`bhyveBuildNetArgStr(def=0x000000080a81b800,
cmd=0x000000080a4db200, dryRun=false) + 841 at bhyve_command.c:82
    frame #2: 0x0000000809e20196
libvirt_driver_bhyve.so`virBhyveProcessBuildBhyveCmd(driver=0x000000080a48a040,
def=0x000000080a81b800, dryRun=false) + 310 at bhyve_command.c:248
    frame #3: 0x0000000809e24d6a
libvirt_driver_bhyve.so`virBhyveProcessStart(conn=0x000000080a4db100,
driver=0x000000080a48a040, vm=0x000000080a48b0f0,
reason=VIR_DOMAIN_RUNNING_BOOTED, flags=0) + 746 at
bhyve_process.c:134
    frame #4: 0x0000000809e2334a
libvirt_driver_bhyve.so`bhyveDomainCreateWithFlags(dom=0x000000080a48a280,
flags=0) + 490 at bhyve_driver.c:847
    frame #5: 0x0000000809e2315a
libvirt_driver_bhyve.so`bhyveDomainCreate(dom=0x000000080a48a280) + 26
at bhyve_driver.c:867
    frame #6: 0x0000000801b96aad
libvirt.so.1002`virDomainCreate(domain=0x000000080a48a280) + 637 at
libvirt.c:8968
    frame #7: 0x0000000001075427
libvirtd`remoteDispatchDomainCreate(server=0x000000080781c400,
client=0x00000008078df480, msg=0x00000008078791d0,
rerr=0x00007fffff9fcc30, args=0x0000000807934340) + 231 at
remote_dispatch.h:3048
    frame #8: 0x000000000103b84e
libvirtd`remoteDispatchDomainCreateHelper(server=0x000000080781c400,
client=0x00000008078df480, msg=0x00000008078791d0,
rerr=0x00007fffff9fcc30, args=0x0000000807934340,
ret=0x000000080a421058) + 254 at remote_dispatch.h:3026
    frame #9: 0x0000000801c26b20
libvirt.so.1002`virNetServerProgramDispatchCall(prog=0x000000080790f400,
server=0x000000080781c400, client=0x00000008078df480,
msg=0x00000008078791d0) + 784 at virnetserverprogram.c:437
    frame #10: 0x0000000801c26641
libvirt.so.1002`virNetServerProgramDispatch(prog=0x000000080790f400,
server=0x000000080781c400, client=0x00000008078df480,
msg=0x00000008078791d0) + 705 at virnetserverprogram.c:307
    frame #11: 0x000000000108f97c
libvirtd`virNetServerProcessMsg(srv=0x000000080781c400,
client=0x00000008078df480, prog=0x000000080790f400,
msg=0x00000008078791d0) + 332 at virnetserver.c:172
    frame #12: 0x000000000108cd9c
libvirtd`virNetServerHandleJob(jobOpaque=0x0000000807934360,
opaque=0x000000080781c400) + 204 at virnetserver.c:193
    frame #13: 0x0000000801ac84b8
libvirt.so.1002`virThreadPoolWorker(opaque=0x0000000807901d60) + 680
at virthreadpool.c:145
    frame #14: 0x0000000801ac7b9b
libvirt.so.1002`virThreadHelper(data=0x000000080781b520) + 75 at
virthread.c:197
    frame #15: 0x0000000803c614f5 libthr.so.3`??? + 277

--
Craig


More information about the freebsd-virtualization mailing list