google-chromeentry-pointsimblentrypointnotfoundexcept

Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler


I try to inject several SIMBL plugins (e.g. Afloat and FScriptAnywhere) into Chrome and other applications.

It works fine on all other applications but not on Chrome. There I get this output on console:

01.09.11 13:30:15,911 SIMBL Agent: Google Chrome started
01.09.11 13:30:15,912 SIMBL Agent: app start notification: {
    NSApplicationBundleIdentifier = "com.google.Chrome";
    NSApplicationName = "Google Chrome";
    NSApplicationPath = "/Applications/Google Chrome.app";
    NSApplicationProcessIdentifier = 87543;
    NSApplicationProcessSerialNumberHigh = 0;
    NSApplicationProcessSerialNumberLow = 30412031;
    NSWorkspaceApplicationKey = "<NSRunningApplication: 0x40092c060 (com.google.Chrome - 87543)>";
}
01.09.11 13:30:15,913 SIMBL Agent: checking bundle /Users/az/Library/Application Support/SIMBL/Plugins/Afloat.bundle
01.09.11 13:30:15,913 SIMBL Agent: checking target identifier *
01.09.11 13:30:15,914 SIMBL Agent: send inject event
01.09.11 13:30:15,956 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=0x400877940 {ErrorNumber=-1708} userInfo:{
    ErrorNumber = "-1708";
}
01.09.11 13:30:15,957 [0x0-0x1d00cff].com.google.Chrome: Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osax.

I think the eventDidFail:'tvea' error can be ignored because I get it on all applications (although I wonder what it is).

However, I think the last error Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osax is the relevant one.

What does it mean? What could it be?


Solution

  • Ah, it seems it was introduced as a feature by Chrome itself to blog SIMBL plugins because of stability issues.

    http://www.conceivablytech.com/8990/products/google-stabilizes-chrome-for-mac-os-x-lion-adds-pulseaudio-for-linux


    This is the patch for Chrome. And this is the bug report. Interesting, btw.; it uses mach_override from mach_star to patch the internal function _CFBundleLoadExecutableAndReturnError to add a check for blacklisted libraries.


    I filed a bug report about a way to disable that CFBundleBlocker here.


    I found a way to workaround the CFBundleBlocker in Chrome:

    I patched SIMBL to work in /System/Library rather than in /Library. The patched version can be found here. Also, that patched SIMBL searches for SIMBL plugins also in /System/Library/Application Support/SIMBL/Plugins/. The SIMBL plugins must be installed in that directory because otherwise Chrome would also block them.