https://bugs.kde.org/show_bug.cgi?id=383723
--- Comment #4 from Andy <imol00+...@gmail.com> --- Great - thanks John! Those MACH_SEND_TRAILER warnings you mentioned earlier were reported a couple of years ago: https://bugs.kde.org/show_bug.cgi?id=343306 Like you I cannot find any documentation on Darwin's workq except some source code. I found the most recent (released) version of workqueue_internal.h - for macOS 10.12.4: https://opensource.apple.com/source/libpthread/libpthread-218.1.3/kern/workqueue_internal.h.auto.html and where the WQOPS_SET_EVENT_MANAGER_PRIORITY case is processed (see _workq_kernreturn): https://opensource.apple.com/source/libpthread/libpthread-218.1.3/kern/kern_support.c.auto.html and where it is called with this value (see _pthread_workqueue_set_event_manager_priority): https://opensource.apple.com/source/libpthread/libpthread-218.1.3/src/pthread.c.auto.html Based on my reading I think you are correct and it can be ignored for valgrind's purposes because it's for scheduling priorities. Assuming I did things correctly to test this (simply adding "case 128: break;" to PRE(workq_ops)), it now crashes with an "Unrecognised instruction" instead: ==57909== Callgrind, a call-graph generating cache profiler ==57909== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al. ==57909== Using Valgrind-3.14.0.GIT and LibVEX; rerun with -h for copyright info ==57909== Command: /Users/maloney/dev/build-test-valgrind/test-valgrind.app/Contents/MacOS/test-valgrind ==57909== ==57909== For interactive control, run 'callgrind_control -h'. --57909-- run: /usr/bin/dsymutil "/Users/maloney/dev/build-test-valgrind/test-valgrind.app/Contents/MacOS/test-valgrind" --57909-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option --57909-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 2 times) --57909-- UNKNOWN mach_msg unhandled MACH_SEND_TRAILER option (repeated 4 times) ==57909== valgrind: Unrecognised instruction at address 0x104018b50. ==57909== at 0x104018B50: _dispatch_kq_init (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x1040168FB: _dispatch_client_callout (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x1040168B8: dispatch_once_f (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104018A90: _dispatch_kq_update (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x10401A0CD: _dispatch_kevent_resume (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x10401A03D: _dispatch_source_kevent_resume (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104019E85: _dispatch_source_kevent_register (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104029651: _dispatch_queue_resume_finalize_activation (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x105AE43C0: _notify_lib_init (in /usr/lib/system/libsystem_notify.dylib) ==57909== by 0x105AE49AB: notify_register_dispatch (in /usr/lib/system/libsystem_notify.dylib) ==57909== by 0x1049FE916: CFUniCharMapTo (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==57909== by 0x1040168FB: _dispatch_client_callout (in /usr/lib/system/libdispatch.dylib) ==57909== Your program just tried to execute an instruction that Valgrind ==57909== did not recognise. There are two possible reasons for this. ==57909== 1. Your program has a bug and erroneously jumped to a non-code ==57909== location. If you are running Memcheck and you just saw a ==57909== warning about a bad jump, it's probably your program's fault. ==57909== 2. The instruction is legitimate but Valgrind doesn't handle it, ==57909== i.e. it's Valgrind's fault. If you think this is the case or ==57909== you are not sure, please let us know and we'll try to fix it. ==57909== Either way, Valgrind will now raise a SIGILL signal which will ==57909== probably kill your program. ==57909== ==57909== Process terminating with default action of signal 4 (SIGILL) ==57909== Illegal opcode at address 0x104018B50 ==57909== at 0x104018B50: _dispatch_kq_init (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x1040168FB: _dispatch_client_callout (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x1040168B8: dispatch_once_f (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104018A90: _dispatch_kq_update (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x10401A0CD: _dispatch_kevent_resume (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x10401A03D: _dispatch_source_kevent_resume (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104019E85: _dispatch_source_kevent_register (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x104029651: _dispatch_queue_resume_finalize_activation (in /usr/lib/system/libdispatch.dylib) ==57909== by 0x105AE43C0: _notify_lib_init (in /usr/lib/system/libsystem_notify.dylib) ==57909== by 0x105AE49AB: notify_register_dispatch (in /usr/lib/system/libsystem_notify.dylib) ==57909== by 0x1049FE916: CFUniCharMapTo (in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation) ==57909== by 0x1040168FB: _dispatch_client_callout (in /usr/lib/system/libdispatch.dylib) ==57909== ==57909== Events : Ir ==57909== Collected : 203711568 ==57909== ==57909== I refs: 203,711,568 The program has unexpectedly finished. ** Process crashed ** -- You are receiving this mail because: You are watching all bug changes.