On Wed, Nov 07, 2018 at 01:37:03PM +0200, Peter Dimitrov wrote: > > That makes no sense because we are supposed to have just forked > successfully > > I just realized libguestfs uses fork. Now we know why qemu-img worked - I > launched it with popen. > > > So it must be something to do with collectd and how it runs programs. > > Is it using LD_PRELOAD trickery, or replacing libc, or using seccomp? > > If I understand the question correctly - it's about how collectd loads its > plugins? If so it uses: > > static int plugin_load_file(const char *file, _Bool global) { > void (*reg_handle)(void); > int flags = RTLD_NOW; > if (global) > flags |= RTLD_GLOBAL; > void *dlh = *dlopen*(file, flags); > //... > reg_handle = (void (*)(void))*dlsym*(dlh, "module_register"); > //... > *(*reg_handle)();* > } > > > Does this give any clues?
Can you strace the collectd process around the point where qemu-img is run? It may gives some clues. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs