curl-library
--enable-threaded-resolver "breaks" qemu's curl driver
Date: Fri, 7 Jun 2013 11:07:02 +0100
[I'm tracking this bug here:
https://bugzilla.redhat.com/show_bug.cgi?id=971790]
qemu (a popular hypervisor) has a feature where it can access disks
over HTTP etc. It uses curl for this:
For a long time we've not been able to use Fedora's curl with qemu,
but upstream curl from git just worked. A simple way to test this is
to run:
qemu-io http://libguestfs.org/index.html -c 'read -v 0 512'
It will either print something or hang forever.
Today I actually tried to look into why this happens, and it turns out
to be due to Fedora using:
./configure --enable-threaded-resolver
Indeed, when I add the same option to curl from git, then upstream
curl is also broken in the same way.
It could be that qemu uses curl in the "wrong way" somehow. Also qemu
uses hand-implemented coroutines (using getcontext/setcontext) and
perhaps these interfere somehow with curl.
Has anyone got any ideas?
Should Linux be using --enable-threaded-resolver? (I notice it is not
the default).
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://people.redhat.com/~rjones/virt-df/ ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.htmlReceived on 2013-06-07