[libvirt] crash in libxlDoMigrateDstReceive in error case

Olaf Hering olaf at aepfle.de
Wed Apr 11 14:00:53 UTC 2018


Jim,

while fixing and debugging virNetSocketNewListenTCP in master, I had
breakpoints in virNetSocketNewListenTCP and virNetSocketNew. After
starting a migration the receiving libvirtd went into both functions. I
hit continue a 4 times, but forgot to do it for the fifth call to let it
proceed. libvirtd was stuck there for a long time.

As a result, when leaving virNetSocketNew, I got a crash in
libxlDoMigrateDstReceive -> libxlDomainStartRestore -> libxlDomainStart
because args->conn->privateData is NULL. This means 'driver' becomes
NULL and things fall apart.

I have no checked where privateData is set. I think some place should
catch the broken connection and stop the incoming migration.

Olaf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180411/45f52d2d/attachment-0003.sig>


More information about the libvir-list mailing list