Post

Replies

Boosts

Views

Activity

Reply to Outgoing SSL connections fail on macOS 15, work fine on earlier versions
@DTS Engineer On disabling the signal handler I was able to get a crash report. ... which suggests you have a Mach exception handler that’s active even with your signal handler disabled. Is it possible to disable that? No, the exception handler is crucial to the operation of the product. Remember this is a language. We produce compiled code, catch exceptions on behalf of users, etc. This has been part of the product since the first version, in MacOS 10.0. For example, in Common Lisp, we have an API for virtual multi-threading and that facility uses the exception handler for its operation. That feature cannot be turned off. Our application is not a normal application. We have an entire programming system inside our product, and that includes catching exceptions and dealing with them programmatically. Implementing a Mach exception handler correctly is really hard, We agree. We would be happy to send you the source code for it, but we don't want to post it here. This exception handler is as old as MacOS (from 10.0). so I’m hoping that I can disable this in order to increase my trust level of the crash report. Also, I suspect that disabling this exception handler will help with the LLDB issue [1]. So, hopefully you see that it's not possible to disable the exception handler because it is essential to the operation of the application. In the spirit of what you asked, we did try to disable it to see if we would get lucky and we could fulfill your request, but we can't even get to the example which fails. [1] With the signal handler disabled I don’t see LLDB hang, but it’s also not catching the crash. Rather, LLDB sees the alisp process terminate, as if LLDB weren’t attached. You don't see LLDB hang because you aren't single stepping into RAND_add. If you did, you would see the hang. Instead, you are running until you get the SEGV, because you evaluated (excl::unix-signal 11 0). We want to point that LLDB works perfectly fine in the presence of our exception handler. It is ONLY when single stepping into the SSL library that it hangs. I want to underscore this. We have used LLDB for many years on debugging our code. We have NEVER seen it fail like this. Ever. It seems very much a coincidence that the first time it does fail is on SSL, which after all is a security related API. We wonder if macOS 15 has some security heuristics which prevent snooping on SSL connections. Kevin
Nov ’24