Hooboy, knowing if we've seen it on Intel machines will take some digging.
The M1 Studios we have are 2022.
Our ScriptingBridge code was added in June 2023.
The first internal mention of errOSAInternalTableOverflow is December 2023.
The M1 Studios weren't put into production until March 2024 (that's how slow our IT department moves).
By this timeline, it appears we were seeing errOSAInternalTableOverflow on Intel. As for the actual crash described in this thread and bug, that I'm not sure about. I'm assuming that getting errOSAInternalTableOverflow and this crash are caused by the same underlying bug. No PowerPC Macs have been in use during my tenure at this job.
Naturally, I figured it would be a very long time until a possible Apple fix would reach our production machines. Time to diagnose + time to fix & test + time to release + time for our IT department to OK the user of that version of macOS. I just might be retired by then.
Moving the bulk of the "job" code to a separate helper app will be fairly substantial for our small team. I might've mentioned that during my stress testing to duplicate the problem, I tried using a class-level lock around the call into ScriptingBridge. That appeared to help, but made the app essentially single threaded, and that's not an option. I'll mess with adding a small delay, although that will be quite ugly in the dozen or so methods that we've rewritten to be full ScriptingBridge calls (multiple lines accessing objects and calling SB methods on the target app, rather than just telling the SB app to run an AppleScript).
I'll also mention that today I tried having 2 jobs running, each hammering a different target SB app. At times one of the operation would freeze inside the AESendMessage:
#0 0x0000000188941c34 in mach_msg2_trap ()
#1 0x0000000188954338 in mach_msg2_internal ()
#2 0x000000018894a764 in mach_msg_overwrite ()
#3 0x0000000188941fa8 in mach_msg ()
#4 0x0000000188a6ec0c in __CFRunLoopServiceMachPort ()
#5 0x0000000188a6d528 in __CFRunLoopRun ()
#6 0x0000000188a6c9e8 in CFRunLoopRunSpecific ()
#7 0x0000000190494198 in ___lldb_unnamed_symbol1373 ()
#8 0x000000019047098c in AESendMessage ()
#9 0x00000001d52402ac in -[SBAppContext sendEvent:error:] ()
#10 0x00000001d523988c in -[SBObject sendEvent:id:parameters:] ()
The other operation carried on running. Sometimes I could make it unfreeze by stopping in the debugger to see what it was doing, then continue. Then the other operation might freeze later. Etc. And sometimes, if I just let it sit long enough, the frozen operation would continue on its own, although I don't know if that ever happened while both operations were present and running.