0

I am getting this error from SIMBL in the console:

05.09.11 17:00:09,165 SIMBL Agent: eventDidFail:'tvea' error:Error Domain=NSOSStatusErrorDomain Code=-1708 "The operation couldn’t be completed. (OSStatus error -1708.)" (the AppleEvent was not handled by any handler ) UserInfo=0x400e485c0 {ErrorNumber=-1708} userInfo:{
    ErrorNumber = "-1708";
}

I am trying to debug this; but as I haven't really worked with AppleEvent that much yet, I'm not really sure how to interpret that.

I think the related code in the SIMBL Agent is this:

AEEventID eventID = 'load';

// Find the process to target
pid_t pid = [[appInfo objectForKey:@"NSApplicationProcessIdentifier"] intValue];
SBApplication* app = [SBApplication applicationWithProcessIdentifier:pid];
[app setDelegate:self];
if (!app) {
    SIMBLLogNotice(@"Can't find app with pid %d", pid);
    return;
}

// Force AppleScript to initialize in the app, by getting the dictionary
// When initializing, you need to wait for the event reply, otherwise the
// event might get dropped on the floor. This is only seems to happen in 10.5
// but it shouldn't harm anything.
[app setSendMode:kAEWaitReply | kAENeverInteract | kAEDontRecord];
id initReply = [app sendEvent:kASAppleScriptSuite id:kGetAEUT parameters:0];

// the reply here is of some unknown type - it is not an Objective-C object
// as near as I can tell because trying to print it using "%@" or getting its
// class both cause the application to segfault. The pointer value always seems
// to be 0x10000 which is a bit fishy. It does not seem to be an AEDesc struct
// either.
// since we are waiting for a reply, it seems like this object might need to
// be released - but i don't know what it is or how to release it.
// NSLog(@"initReply: %p '%64.64s'", initReply, (char*)initReply);

// Inject!
[app setSendMode:kAENoReply | kAENeverInteract | kAEDontRecord];
id injectReply = [app sendEvent:'SIMe' id:eventID parameters:0];
if (injectReply != nil) {
    SIMBLLogNotice(@"unexpected injectReply: %@", injectReply);
}
Albert
  • 65,406
  • 61
  • 242
  • 386

1 Answers1

0

The eventDidFail message also comes from the SIMBL Agent itself. It is this code:

- (void) eventDidFail:(const AppleEvent*)event withError:(NSError*)error
{
    NSDictionary* userInfo = [error userInfo];
    NSNumber* errorNumber = [userInfo objectForKey:@"ErrorNumber"];

    // this error seems more common on Leopard
    if (errorNumber && [errorNumber intValue] == errAEEventNotHandled) {
        SIMBLLogDebug(@"eventDidFail:'%4.4s' error:%@ userInfo:%@", (char*)&(event->descriptorType), error, [error userInfo]);
    }
    else {
        SIMBLLogNotice(@"eventDidFail:'%4.4s' error:%@ userInfo:%@", (char*)&(event->descriptorType), error, [error userInfo]);
    }
}

And the error disappears if I comment out this code:

[app setSendMode:kAEWaitReply | kAENeverInteract | kAEDontRecord];
id initReply = [app sendEvent:kASAppleScriptSuite id:kGetAEUT parameters:0];
Albert
  • 65,406
  • 61
  • 242
  • 386
  • You should edit your original question, this is not an answer to your question, merely additional information. – uvesten Sep 05 '11 at 15:39
  • @uvesten: Is it not? I identified the failing command. I also found the code which gives the error. Thus I debugged the problem and all the information are in this answer. – Albert Sep 05 '11 at 15:43
  • Ok, my bad. I thought it was more of a work-around than an answer as to why it fails. I'll keep quiet now. – uvesten Sep 05 '11 at 15:54
  • @uvesten: For me, this was enough for now. However, it would indeed be nice to know some more background information, i.e. why it has failed, what it was suposed to do, if there are any troubles in leaving this out (doesn't seem so for now), etc. – Albert Sep 05 '11 at 16:40
  • I dont get it; you are not even injecting by commenting out those two lines of code; or am i missing something? – p0lAris Jan 14 '16 at 20:32