[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 Paul Floyd changed: What|Removed |Added CC||pjfl...@wanadoo.fr -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 --- Comment #9 from Louis Brunner --- Rhys: Doesn't ring a bell. I mainly had issues with mcwatchpoints, pselect_alarm and pth_term_signal. Is there anything I can do to help out? -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 Rhys Kidd changed: What|Removed |Added See Also||https://bugs.kde.org/show_b ||ug.cgi?id=379893 -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 --- Comment #8 from Rhys Kidd --- A short update on this bug report. I've been spending time on Valgrind's macOS threading support, as it's causing a number of bug reports and needs some substantial work. Additionally, I've started running macOS-based CI runs (see my github branches). Whilst it isn't ready to ship, it's making testing across numerous macOS versions much quicker. Louis: I am seeing test suite hangs on memcheck/tests/threadname and memcheck/tests/thread_alloca with variants of your patches. Did you ever experience these? -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 Manodeep Sinha changed: What|Removed |Added CC||manod...@gmail.com -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 lou.salk...@gmail.com changed: What|Removed |Added CC||lou.salk...@gmail.com -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 --- Comment #7 from Louis Brunner --- Created attachment 109548 --> https://bugs.kde.org/attachment.cgi?id=109548&action=edit Partial wqthread fix As reported by Alexandru in https://bugs.kde.org/show_bug.cgi?id=383723 and this thread, as well as by FX in https://bugs.kde.org/show_bug.cgi?id=385279, my previous patch doesn't include any fix for wqthread. Here is a new patch that can be applied on top of my previous and Alexandru's kevent_qos patches (which are needed for wqthread programs). It includes the following elements (which I didn't know how to breakdown between the different bug reports): - GS_CONST fix (as for regular threads) - Zero offset for tst->os_state.pthread (as it was the case for 10.6) - workq_ops(THREAD_KEVENT_RETURN) now behaves like workq_ops(THREAD_RETURN) - kevent_id (syscall:375) and thread_get_special_reply_port (mach:50) implementation (the kevent_id one is copied from Alexandru's kevent_qos) Note that after all these changes, programs using wqthreads still don't work. Unfortunately, I am running into race conditions with the BigLock: either one thread waiting for the lock to be released or another locking it twice. All these changes are wrapped in #if DARWIN_VERS >= DARWIN_10_13, apart from the THREAD_KEVENT_RETURN change. Last but not least, the patch doesn't worsen the regtest results: == 655 tests, 321 stderr failures, 74 stdout failures, 8 stderrB failures, 8 stdoutB failures, 31 post failures == -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 --- Comment #6 from Louis Brunner --- Rhys, No problem, here are the results before the patch (but with https://bugs.kde.org/show_bug.cgi?id=385279 applied): == 655 tests, 335 stderr failures, 85 stdout failures, 8 stderrB failures, 8 stdoutB failures, 31 post failures == And after: == 655 tests, 322 stderr failures, 74 stdout failures, 8 stderrB failures, 8 stdoutB failures, 31 post failures == Note that some tests block the test runner in both case (mcwatchpoints) and some tests block after the patch (pselect_alarm and pth_term_signal). This is due to the tests previously crashing because of pthread, and now some issues with signals is preventing them to complete. Here is the difference between the failures: $ diff tests_pre.txt tests_post.txt 49,50d48 < memcheck/tests/err_disable3 (stderr) < memcheck/tests/err_disable4 (stderr) 99d96 < memcheck/tests/threadname(stderr) 150,151d146 < callgrind/tests/threads-use (stderr) < callgrind/tests/threads (stderr) 210,216d204 < none/tests/pselect_alarm (stderr) < none/tests/pth_2sig (stderr) < none/tests/pth_atfork1 (stdout) < none/tests/pth_atfork1 (stderr) < none/tests/pth_blockedsig(stdout) < none/tests/pth_blockedsig(stderr) < none/tests/pth_cancel1 (stdout) 219,221d206 < none/tests/pth_cvsimple (stdout) < none/tests/pth_cvsimple (stderr) < none/tests/pth_exit (stderr) 224,225d208 < none/tests/pth_stackalign(stdout) < none/tests/pth_stackalign(stderr) 229d211 < none/tests/sigsusp (stderr) 234d215 < none/tests/threaded-fork (stdout) 330d310 < helgrind/tests/pth_destroy_cond (stdout) 342d321 < helgrind/tests/tc07_hbl1 (stdout) 344d322 < helgrind/tests/tc08_hbl2 (stdout) 348d325 < helgrind/tests/tc11_XCHG (stdout) 358d334 < helgrind/tests/tc21_pthonce (stdout) -- You are receiving this mail because: You are watching all bug changes.
[valgrind] [Bug 380269] [PATCH] No multithreading in macOS Sierra (10.12)
https://bugs.kde.org/show_bug.cgi?id=380269 Rhys Kidd changed: What|Removed |Added Summary|No multithreading in macOS |[PATCH] No multithreading |Sierra (10.12) |in macOS Sierra (10.12) --- Comment #5 from Rhys Kidd --- Louis, Thanks for your research on this and the provided patch. Given this is a change that impacts fairly low-level system and Valgrind data structures, can you please run the full Valgrind test suite with and without this proposed patch to ensure there are no regressions? http://valgrind.org/docs/manual/dist.readme-developers.html has full instructions, with the simple command to run this 'make regtest'. -- You are receiving this mail because: You are watching all bug changes.