On 06/15/2016 09:38 AM, Eric Blake wrote: > On 06/15/2016 09:17 AM, Max Reitz wrote: >> On 15.06.2016 11:58, Kashyap Chamarthy wrote: >>> Seems like supplying "qcow2" file BlockdevDriver option to QMP >>> `blockdev-add` results in a SIGSEGV: >>> >>> [...] >>> Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault. >>> 0x0000555555a0121f in visit_type_BlockdevRef () >>> [...] >>> >>> Reproducer >>> ---------- >> >> Even simpler reproducer: >> >> {'execute':'blockdev-add','arguments':{'options':{'driver':'raw'}}} >> >> Seems like a QAPI problem to me, and bisecting yields >> dbf11922622685934bfb41e7cf2be9bd4a0405c0 as the culprit. > > I'm looking into it. Thanks for the testcase. Okay, the problem is based on error handling - you have a missing 'file' argument. That patch consolidated things to do two things at once instead of two calls where the second was skipped if the first failed; and now ends up dereferencing NULL. I didn't notice or test it at the time, so I get to enhance the testsuite as part of my patch. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org