https://bugs.kde.org/show_bug.cgi?id=384732

Tom Hughes <t...@compton.nu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |t...@compton.nu

--- Comment #2 from Tom Hughes <t...@compton.nu> ---
This is because glibc is using clone with CLONE_VFORK and CLONE_VM and is
relying on the fact the CLONE_VM means the two processes will be sharing the
same address space until the vfork completes by execing the child or exiting.

But valgrind drops the CLONE_VM flag which means they're not sharing the same
address space and although the parent does wait for the child to exec (because
of CLONE_VFORK) it never sees the error status the child has written because
the child wrote to a separate version of the memory.

Basically the parent sets arg.err to -1 then does the clone and expects arg.err
to be >= 0 afterwards because the child will have written to it but the fact
that valgrind can't support VM cloning means that doesn't happen.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to