https://bugs.kde.org/show_bug.cgi?id=417906
Bug ID: 417906 Summary: Please add support for Linux 5.2 CLONE_PIDFD flag to clone() Product: valgrind Version: 3.15 SVN Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: jsew...@acm.org Reporter: thi...@kde.org Target Milestone: --- SUMMARY Linux 5.2 added CLONE_PIDFD flag to the clone() system call, which returns a file descriptor representing the child process. Qt 5.15 will use this flag to have a better representation of child processes, without the need to use a SIGCHLD handler. This is also, finally, thread-safe. Running Valgrind on an application using Qt 5.15's QProcess class produces: ==180074== Unsupported clone() flags: 0x5000 ==180074== ==180074== The only supported clone() uses are: ==180074== - via a threads library (LinuxThreads or NPTL) ==180074== - via the implementation of fork or vfork ==180074== ==180074== Valgrind detected that your program requires ==180074== the following unimplemented functionality: ==180074== Valgrind does not support general clone(). ==180074== This may be because the functionality is hard to implement, ==180074== or because no reasonable program would behave this way, ==180074== or because nobody has yet needed it. In any case, let us know at ==180074== www.valgrind.org and/or try to work around the problem, if you can. ==180074== ==180074== Valgrind has to exit now. Sorry. Bye! CLONE_PIDFD is 0x1000. CLONE_VFORK is 0x4000. Without CLONE_VFORK, execution seems to continue but produce nonsensical results. OBSERVED RESULT Valgrind either terminates or produce nonsensical reports when CLONE_PIDFD is used. EXPECTED RESULT CLONE_PIDFD is understood properly SOFTWARE/OS VERSIONS Linux 5.5.2 ADDITIONAL INFORMATION Please also implement the P_PIDFD argument to waitid(), available since Linux 5.4. Linux 5.3 added clone3 system call, but we're not using it yet. -- You are receiving this mail because: You are watching all bug changes.