[libvirt] Storage segfaults after phyp patches

Daniel P. Berrange berrange at redhat.com
Mon Jun 28 14:45:01 UTC 2010


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 :|




More information about the libvir-list mailing list