Hi everyone, I've been having a frustrating issue with the IBKR desktop application. I'm using it on an Apple M2 Max with macOS Sonoma 14.6.1, and it's crashing multiple times a day—today alone, it crashed about 8 times. The crashes seem to occur most frequently when I'm updating orders, but sometimes it just crashes out of the blue for no apparent reason. I've reached out to IBKR support, but they haven't been responsive at all. Has anyone else experienced similar issues? If so, have you found any solutions or workarounds? This is seriously affecting my ability to trade, and I’m hoping to find someone who can offer some advice. Thanks in advance for any help! EDIT: ChatGPT Recommendation Error Details: Crashed Thread: "JTS-DeadlockMonitor-29" Error Type: EXC_GUARD (SIGKILL) Related Code: GUARD_TYPE_MACH_PORT Platform: macOS 14.6.1 (ARM-64) Possible Causes: Deadlock in Threads: The error log indicates that a deadlock has occurred, where multiple threads are waiting on each other to release resources, causing them to be stuck indefinitely. The "Deadlock Monitor" thread itself crashed while attempting to detect this deadlock, leading to the application's forced termination by the system. Resource Contention: There might be improper management of shared resources or locks between threads, leading to circular dependencies that result in deadlocks. High Thread Concurrency: The application might be handling a large number of threads concurrently, increasing the risk of deadlock due to the complexity of managing these threads. Resolution Suggestions: Review Thread Management: Carefully review the code managing thread synchronization, particularly where locks or synchronized blocks are used. Ensure that there are no circular dependencies or situations where threads could indefinitely wait for each other. Implement Timeout Mechanisms: Consider implementing timeouts for thread locks or waits, which can help detect and recover from deadlocks by allowing threads to exit gracefully instead of remaining stuck. Thread Priority and Order: Reevaluate the priority and order of thread execution. If certain threads are more critical, ensure they are prioritized correctly and that their resource requirements are met without causing deadlock. Monitor and Logging: Enhance the deadlock detection mechanism with better logging and monitoring, which might provide more detailed insights into which threads or resources are causing the deadlock. Code Refactoring: If the issue persists, it might be beneficial to refactor the parts of the code that manage threading, possibly simplifying the concurrency model or reducing the number of shared resources to minimize the chances of deadlock.
MacOS and IBKR are oil and water, but it ran OK on my M2 Ultra. I haven't run IBKR in nearly a year. Has it always been like this? Roll back to an earlier build?
Switch to TWS? Just had a look at the IB webiste, looks like Desktop is still a Beta product. So yes, i think you should use TWS instead..
Here's the recommendation from ChatGPT: Error Details: Crashed Thread: "JTS-DeadlockMonitor-29" Error Type: EXC_GUARD (SIGKILL) Related Code: GUARD_TYPE_MACH_PORT Platform: macOS 14.6.1 (ARM-64) Possible Causes: Deadlock in Threads: The error log indicates that a deadlock has occurred, where multiple threads are waiting on each other to release resources, causing them to be stuck indefinitely. The "Deadlock Monitor" thread itself crashed while attempting to detect this deadlock, leading to the application's forced termination by the system. Resource Contention: There might be improper management of shared resources or locks between threads, leading to circular dependencies that result in deadlocks. High Thread Concurrency: The application might be handling a large number of threads concurrently, increasing the risk of deadlock due to the complexity of managing these threads. Resolution Suggestions: Review Thread Management: Carefully review the code managing thread synchronization, particularly where locks or synchronized blocks are used. Ensure that there are no circular dependencies or situations where threads could indefinitely wait for each other. Implement Timeout Mechanisms: Consider implementing timeouts for thread locks or waits, which can help detect and recover from deadlocks by allowing threads to exit gracefully instead of remaining stuck. Thread Priority and Order: Reevaluate the priority and order of thread execution. If certain threads are more critical, ensure they are prioritized correctly and that their resource requirements are met without causing deadlock. Monitor and Logging: Enhance the deadlock detection mechanism with better logging and monitoring, which might provide more detailed insights into which threads or resources are causing the deadlock. Code Refactoring: If the issue persists, it might be beneficial to refactor the parts of the code that manage threading, possibly simplifying the concurrency model or reducing the number of shared resources to minimize the chances of deadlock.
Try the windows version on a PC and remote desktop to it from your ARM mac. Maybe the windows version is more stable? If windows version is unstable as well, ditch it and learn how to use TWS.