Great sorry for screaming title of that post but I have no idea how to describe it better in short form. And I am worried because I can’t find on the JUCE forum any relevant posts to that error, and on the google I’ve only found articles that are too difficult for me to understand.
Hello,
When I lost focus on my plugin and go to other window (for example I focus on Juce AudioPluginHost window or Reaper window) everything looks OK. But everytime I focus back on my plugin window I get following error:
CLIENT ERROR: TUINSRemoteViewController does not override
-viewServiceDidTerminateWithError: and thus cannot react to catastrophic
errors beyond logging them`
I still can use the plugin but error description suggests that I should not ignore it.
It happens for all my plugins which I created in last 6 years. Before I had not noticed that.
It happens for both AU and VST3 formats, compiled in Debug and in Release mode. I checked it in AudioPluginHost and in Reaper on OSX Sonoma 14.0 on Macbook Pro with M1 processor. At the moment I can’t test it on other machines but of course I will do that later.
With that error there is also accompanying warning that says:
-[TUINSCursorUIController activate:]_block_invoke: Can't communicate with
CursorUIViewService: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to
service created from an endpoint was invalidated from this process." UserInfo=
{NSDebugDescription=The connection to service created from an endpoint was
invalidated from this process.}
I checked it with some other companies plugins (Fabfilter, Youlean, Black Rooster Audio) and there is no such problem. But I found out exactly the same error in Blue Cat Audio plugins (old and for long time not updated), but there is not mentioned accompanying warning, and the error happens only once after new plugin instance is loaded.
I tried to search in whole project text contains TUINSRemoteViewController or viewServiceDidTerminateWithError. But there is no one instance of things like that.
I have no idea what to do. Please help.
For any help great thanks in advance.
Best Regards
Mhm, I think you are misinterpreting the message a bit. From what I get, this is a warning that tells the developer that a certain Objective-C class named TUINSRemoteViewController does not override the method named viewServiceDidTerminateWithError and the warning just informs the developer that in case a catastrophic error should occur this error cannot be handled gracefully beyond logging it. So in case that no catastrophic error appears all is fine anyway.
Just for the fun of it, I did some quick research. In fact, googling for TUINSRemoteViewController only gives three results, including one from a QT forum where someone suddenly sees this after updating to macOS 14 and searching for it in the JUCE repository reveals no result. So my interpretation is that it might be an internal macOS implementation detail which appeared starting with macOS 14. When stripping away the first three letters, the class name becomes NSRemoteViewController which looks a bit more familiar, since all the Apple Objective-C/Swift framework classes start with NS (which comes from the NextStep roots of macOS). Googling for NSRemoteViewController reveals this source file somehow related to a private macOS framework which indeed has a viewServiceDidTerminateWithError method. So if I’m not completely wrong that TUINSRemoteViewController is some subclass of that private NSRemoteViewController class which makes me come to the conclusion that this is likely something low level operating system based, beyond the scope of JUCE or your code. I have no real experience implementing applications using native Apple Objective-C APIs, but what I get from some quick googling is that there is the public NSViewControllerclass which seems to play a role when creating native views on macOS which might be somehow related according to the name. Maybe there is something about how JUCE uses some native Apple APIs that ultimately triggers this warning, maybe the JUCE team will know, but again I think you can relax as long as you don’t experience any crash or other kinds of catastrophic event
Great thanks PluginPenguin.
You’ve calmed me down.
I was so worried probably because of my English language skills. I learn it and use for about 30 years… Ah…! probably I need to live with that disability to the end of life
I’d just seen “…catastrophic error…”, and it blown my mind and stopped to think rationally he he he.
Does anyone know a way to quiet this if it’s unimportant? Seems anything I make now, even basic JUCE example code building through Xcode on Sonoma has this hammering into the console all the time. It’s very frequent, highlighted in red instead of warning yellow, and with big caps and the word catastrophic. It’s rather unsettling seeing this constantly dispersed thought my debug messages.