If anyone with a good knowledge of the kernel is willing to debug this, I'd be happy to pay as consultant. Let me know privately. Cheers, Antoine On 2012-04-13, at 11:25, Antoine Missout wrote:
Hi,
I've encountered an issue with our product Hands Off!.
We intercept the mac_socket_check_bind call, send a mach msg to our daemon to check if it's allowed. But for some reason, the daemon never wakes up to process it (why?). In the stackshot I was able to get, the only thread we're interfering with is the bind system call made by launchctl (when enabling the Apple File Server). Below are the relevant logs. A complete zip of the stackshot logs is available here:
http://www.metakine.com/files/ho_freeze12avr2012.zip
Looking at the bind source code, it's not clear to me what could lock everything else when blocking in it. This bug is hard to reproduce, doesn't always happen, and seems to be dependant on the network environment.
Any help would be greatly appreciated.
Thanks, Antoine
-------------------------------------------------
PID: 328 Process: launchctl Kernel stack: machine_switch_context (in mach_kernel) + 383 (0xffffff800022c888) thread_dispatch (in mach_kernel) + 1894 (0xffffff800020990e) thread_block_reason (in mach_kernel) + 289 (0xffffff8000209acb) ipc_mqueue_receive (in mach_kernel) + 65 (0xffffff8000203622) mach_msg_rpc_from_kernel_body (in mach_kernel) + 338 (0xffffff800020589f) 0xffffff7f8099a72c (0xffffff7f8099a72c) 0xffffff7f8099ebb0 (0xffffff7f8099ebb0) 0xffffff7f809a7681 (0xffffff7f809a7681) bind (in mach_kernel) + 318 (0xffffff80004b45ea) unix_syscall64 (in mach_kernel) + 544 (0xffffff80004e8168) hndl_unix_scall64 (in mach_kernel) + 20 (0xffffff80002e4874)
PID: 67 Process: HandsOffDaemon Continuation: ipc_mqueue_receive_continue (in mach_kernel) + 0 (0xffffff800026f302) Continuation: kevent (in mach_kernel) + 62 (0xffffff80004786e4) Continuation: semaphore_wait_continue (in mach_kernel) + 0 (0xffffff80002815d9) Continuation: ipc_mqueue_receive_continue (in mach_kernel) + 0 (0xffffff800026f302) Continuation: ipc_mqueue_receive_continue (in mach_kernel) + 0 (0xffffff800026f302) Kernel stack: machine_idle (in mach_kernel) + 210 (0xffffff800022e461) thread_setrun (in mach_kernel) + 1344 (0xffffff80002083a4) thread_go (in mach_kernel) + 2145 (0xffffff8000208fec) thread_block_reason (in mach_kernel) + 264 (0xffffff8000209ab2) ipc_mqueue_receive (in mach_kernel) + 58 (0xffffff800020361b) mach_msg_overwrite_trap (in mach_kernel) + 468 (0xffffff800027426a) get_user_regs (in mach_kernel) + 545 (0xffffff80002c2daa) hndl_mach_scall (in mach_kernel) + 230 (0xffffff80002e4536) Continuation: ipc_mqueue_receive_continue (in mach_kernel) + 0 (0xffffff800026f302) Continuation: semaphore_wait_continue (in mach_kernel) + 0 (0xffffff80002815d9) Continuation: ipc_mqueue_receive_continue (in mach_kernel) + 0 (0xffffff800026f302)
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/antoine.missout%40meta...
This email sent to antoine.missout@metakine.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com