
On Mon, Jun 28, 2010 at 10:34:34AM -0400, Cole Robinson wrote:
Basically:
$ gdb virsh ... (gdb) run --connect qemu:///session pool-list --all Starting program: /usr/bin/virsh --connect qemu:///session pool-list --all [Thread debugging using libthread_db enabled] Detaching after fork from child process 29579.
Program received signal SIGSEGV, Segmentation fault. ... (gdb) bt #0 _libssh2_channel_open (session=0x0, channel_type=0x7ffff7b82737 "session", channel_type_len=7, window_size=65536, packet_size=32768, message=0x0, message_len=0) at channel.c:139 #1 0x00000030cb008a7c in libssh2_channel_open_ex (session=0x0, type=0x7ffff7b82737 "session", type_len=7, window_size=65536, packet_size=32768, msg=<value optimized out>, msg_len=0) at channel.c:338 #2 0x00007ffff7ac9edb in phypExec (session=0x0, cmd=0x63ba50 "viosvrcmd -m (null) --id 0 -c 'lsvg'|grep -c '^.*$'", exit_status=0x7fffffffdbcc, conn=<value optimized out>) at phyp/phyp_driver.c:124 #3 0x00007ffff7acae1c in phypNumOfStoragePools (conn=0x6341b0) at phyp/phyp_driver.c:3032 #4 0x00007ffff7a771be in virConnectNumOfStoragePools (conn=0x6341b0) at libvirt.c:7223 #5 0x0000000000415f9e in cmdPoolList (ctl=0x7fffffffdf80, cmd=0x1) at virsh.c:4911 #6 0x0000000000409dcc in vshCommandRun (ctl=0x7fffffffdf80, cmd=0x62d500) at virsh.c:9647 #7 0x00000000004186ed in main (argc=5, argv=<value optimized out>) at virsh.c:10656
Looks like the phyp storage driver is being used instead of the libvirtd storage driver (and then segfaulting). Looked briefly for a fix, but it wasn't obvious to me.
The phypStorageOpen() method is totally bogus. It is ignoring the conn object and accepting all connections. It must only return VIR_DRV_OPEN_SUCCESS if conn->driver->name == VIR_DRV_PHYP Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|