norio-nomura / EasySIMBL

EasySIMBL is modified "SIMBL" for OS X 10.7, 10.8, 10.9 or 10.10 supporting sandbox, resume. No installer.
818 stars 76 forks source link

errAEPrivilegeError #9

Open tobia opened 10 years ago

tobia commented 10 years ago

Hello

I'm trying to run BlackDock on Mavericks with EasySIMBL 1.5.1, but it doesn't seem to work. I'm trying to see if the problem lies with BlackDock or EasySIMBL. Here is my debug log:

24/11/2013 14:04:55.029 SIMBL Agent[601]: Dock started
24/11/2013 14:04:55.030 SIMBL Agent[601]: app start notification: <NSRunningApplication: 0x7fc508534950 (com.apple.dock - 598)>
24/11/2013 14:04:55.030 SIMBL Agent[601]: checking bundle /Users/toby/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
24/11/2013 14:04:55.031 SIMBL Agent[601]: checking target identifier com.apple.dock
24/11/2013 14:04:55.032 SIMBL Agent[601]: send inject event
24/11/2013 14:04:55.034 SIMBL Agent[601]: warning: failed to get scripting definition from /System/Library/CoreServices/Dock.app; it may not be scriptable.
24/11/2013 14:04:55.084 Dock[598]: AppleEvents/sandbox: Returning errAEPrivilegeError/-10004 and denying dispatch of event ESIM/load from process 'SIMBL Agent'/0x0-0x8e08e, pid=601, because it is not entitled to send an AppleEvent to this process.
24/11/2013 14:04:55.086 Dock[598]: SIMBL loaded by path /System/Library/CoreServices/Dock.app <com.apple.dock>
24/11/2013 14:04:55.087 Dock[598]: checking bundle /Users/toby/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
24/11/2013 14:04:55.094 Dock[598]: loaded /Users/toby/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
24/11/2013 14:04:55.097 SIMBL Agent[601]: receiveSIMBLHasBeenLoadedNotification from com.apple.dock

The 2nd to last line seems to be a message from Dock saying that BlackDock was loaded, so it would seem EasySIMBL is working.

Can I safely ignore the errAEPrivilegeError? I tried adding SIMBL Agent.app to the list of allowed applications in System Preferences, Security & Privacy, Privacy, Accessibility, but that didn't change anything.

norio-nomura commented 10 years ago

Yes, you can ignore the errAEPrivilegeError on OS X 10.9 build 13A603.

I confirm that BlackDock 0.8.0 works with EasySIMBL 1.5.1 without running InjectIntoDock script on my Mac w/ Mavericks.

The agent SIMBL Agent.app is observing process launching except agent or background process. But on launching, EasySIMBL's agent try injecting plugins into user's all processes. So, BlackDock is injected into Dock on launching agent. You will need doing logout/login or clear/check "Use SIMBL" on EasySIMBL to BlackDock works.

Talabardio commented 10 years ago

I have also had no success, using OS 10.9 13A603, BlackDock 0.8.0 and EasySimbl 1.6.

tobia commented 10 years ago

Are there different versions of 10.9 Dock.app floating around?

Can we say that this is definitely an issue with BlackDock?

norio-nomura commented 10 years ago

I just tested again on OS X 10.9 13A603, EasySIMBL 1.6 and BlackDock 0.8.0. It works as following: 2013-12-05 09 24 00

After you set SIMBLLogLevel: Notice + Info + Debug, and logout/login, if you could find in console as following:

2013/12/05 9:16:31.556 Dock[3091]: #EasySIMBL loaded /Users/norio/Library/Application Support/SIMBL/Plugins/BlackDock.bundle

EasySIMBL had done own mission.

You can check your Dock.app version by running

defaults read /System/Library/CoreServices/Dock.app/Contents/Info.plist

On my Mac as following:

norio-nomura-macbook-pro% defaults read /System/Library/CoreServices/Dock.app/Contents/Info.plist 
{
    BuildMachineOSBuild = 13A573;
    CFBundleDevelopmentRegion = English;
    CFBundleDocumentTypes =     (
                {
            CFBundleTypeExtensions =             (
                wdgt,
                dbwidget
            );
            CFBundleTypeIconFile = "widget.icns";
            CFBundleTypeName = Widget;
            CFBundleTypeRole = Editor;
            LSIsAppleDefaultForType = 1;
            LSTypeIsPackage = 1;
        }
    );
    CFBundleExecutable = Dock;
    CFBundleGetInfoString = "Dock 1.8";
    CFBundleIconFile = "Dock.icns";
    CFBundleIdentifier = "com.apple.dock";
    CFBundleInfoDictionaryVersion = "6.0";
    CFBundleName = Dock;
    CFBundlePackageType = APPL;
    CFBundleShortVersionString = "1.8";
    CFBundleSignature = dock;
    CFBundleVersion = 1314;
    DTCompiler = "com.apple.compilers.llvm.clang.1_0";
    DTPlatformBuild = 5A11344p;
    DTPlatformVersion = GM;
    DTSDKBuild = 13A573;
    DTSDKName = "";
    DTXcode = 0500;
    DTXcodeBuild = 5A11344p;
    LSApplicationCategoryType = "";
    LSRequiresNativeExecution = 1;
    LSUIElement = 1;
    NSHumanReadableCopyright = "Copyright 2000-2010, Apple Inc.";
}
norio-nomura-macbook-pro% 

It seems my Dock.app is version 1.8 (1314)

Talabardio commented 10 years ago

Hmm, I have the same Dock version as well. It doesn’t look like EasySimbl is successfully injecting BlackDock.

On Dec 4, 2013, at 4:42 PM, Norio Nomura notifications@github.com wrote:

I just tested again on OS X 10.9 13A603, EasySIMBL 1.6 and BlackDock 0.8.0. It works as following:

After you set 'SIMBLLogLevel: Notice + Info + Debug', and logout/login, if you could find in console as following:

2013/12/05 9:16:31.556 Dock[3091]: #EasySIMBL loaded /Users/norio/Library/Application Support/SIMBL/Plugins/BlackDock.bundle EasySIMBL had done own mission.

You can check your Dock.app version by running defaults read /System/Library/CoreServices/Dock.app/Contents/Info.plist. On my Mac as following:

norio-nomura-macbook-pro% defaults read /System/Library/CoreServices/Dock.app/Contents/Info.plist { BuildMachineOSBuild = 13A573; CFBundleDevelopmentRegion = English; CFBundleDocumentTypes = ( { CFBundleTypeExtensions = ( wdgt, dbwidget ); CFBundleTypeIconFile = "widget.icns"; CFBundleTypeName = Widget; CFBundleTypeRole = Editor; LSIsAppleDefaultForType = 1; LSTypeIsPackage = 1; } ); CFBundleExecutable = Dock; CFBundleGetInfoString = "Dock 1.8"; CFBundleIconFile = "Dock.icns"; CFBundleIdentifier = "com.apple.dock"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleName = Dock; CFBundlePackageType = APPL; CFBundleShortVersionString = "1.8"; CFBundleSignature = dock; CFBundleVersion = 1314; DTCompiler = "com.apple.compilers.llvm.clang.1_0"; DTPlatformBuild = 5A11344p; DTPlatformVersion = GM; DTSDKBuild = 13A573; DTSDKName = ""; DTXcode = 0500; DTXcodeBuild = 5A11344p; LSApplicationCategoryType = ""; LSRequiresNativeExecution = 1; LSUIElement = 1; NSHumanReadableCopyright = "Copyright 2000-2010, Apple Inc."; } norio-nomura-macbook-pro% It seems my Dock.app is version 1.8 (1314)

— Reply to this email directly or view it on GitHub.

skull-squadron commented 10 years ago

Same problem here, but found reliable workarounds because enabling/disabling the plugin doesn't seem to be batteries-included:

EDIT Note: The following procedure worked without having to kill any processes..

Environment

EasySIMBL + BlackDock Install Procedure

  1. Start with a fresh, clean system
  2. Extract the EasySIMBL zip
  3. Drag the EasySIMBL app to /Applications
  4. Run EasySIMBL but do not enable Use SIMBL yet
  5. Open the Plugins folder
  6. Copy the BlackDock.bundle from the BlackDock dmg
  7. EasySIMBL should automatically recognize the BD plugin and set it as enabled
  8. Now enable Use SIMBL
  9. Dock should quickly change to BlackDock

Disable BlackDock

  1. Start EasySIMBL
  2. Turn off checkbox to disable the BlackDock plugin
  3. killall Dock as the logged-in user
  4. Wait about 6 seconds for the dock to change

Re-enable BlackDock

  1. Start EasySIMBL
  2. Turn on the checkbox to enable the BlackDock plugin
  3. killall 'SIMBL Agent' as the logged-in user
  4. Wait about 3 seconds for the dock to change

Console logs

Fresh install method (with set log level to debug before enabling Use)

12/15/13 2:07:11.600 PM Dock[8404]: AppleEvents/sandbox: Returning errAEPrivilegeError/-10004 and denying dispatch of event ESIM/load from process 'SIMBL Agent'/0x0-0x1e01e0, pid=9096, because it is not entitled to send an AppleEvent to this process.
12/15/13 2:07:11.602 PM Dock[8404]: #EasySIMBL SIMBL loaded by path /System/Library/CoreServices/Dock.app <com.apple.dock>
12/15/13 2:07:11.602 PM Dock[8404]: #EasySIMBL checking bundle $HOME/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
12/15/13 2:07:11.603 PM Dock[8404]: #EasySIMBL checking target identifier com.apple.dock
12/15/13 2:07:11.609 PM Dock[8404]: #EasySIMBL loaded $HOME/Library/Application Support/SIMBL/Plugins/BlackDock.bundle

(BlackDock appears)

Disable BlackDock

12/15/13 2:09:05.591 PM NotificationCenter[242]: Connection interrupted.
12/15/13 2:09:05.598 PM com.apple.launchd.peruser.501[183]: (com.apple.Dock.agent[8404]) Exited with code: 1
12/15/13 2:09:06.351 PM com.apple.time[199]: Interval maximum value is 946100000 seconds (specified value: 9223372036854775807).

(Finder dock appears)

Re-enable BlackDock

12/15/13 2:09:46.975 PM com.apple.launchd.peruser.501[183]: (com.github.norio-nomura.SIMBL-Agent[9096]) Exited: Terminated: 15
12/15/13 2:09:47.195 PM Dock[9215]: AppleEvents/sandbox: Returning errAEPrivilegeError/-10004 and denying dispatch of event ESIM/load from process 'SIMBL Agent'/0x0-0x1e31e3, pid=9255, because it is not entitled to send an AppleEvent to this process.
12/15/13 2:09:47.197 PM Dock[9215]: #EasySIMBL SIMBL loaded by path /System/Library/CoreServices/Dock.app <com.apple.dock>
12/15/13 2:09:47.197 PM Dock[9215]: #EasySIMBL checking bundle $HOME/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
12/15/13 2:09:47.198 PM Dock[9215]: #EasySIMBL checking target identifier com.apple.dock
12/15/13 2:09:47.201 PM Dock[9215]: #EasySIMBL loaded $HOME/Library/Application Support/SIMBL/Plugins/BlackDock.bundle

(BlackDock appears)

All this extra work could be folded into the BD so it "just works."

tobia commented 10 years ago

I have the same OS X 10.9 (13A603) and Dock 1.8 (1314), but I get no line that says "loaded". I have tried killing Dock and/or SIMBL Agent in various combinations, but it doesn't change.

Here is my updated log. It says "should install plugin", "send inject event", and "failed to get scripting definition". No line says "loaded".

15/12/2013 12:37:15.421 SIMBL Agent[4416]: #EasySIMBL runningApp <NSRunningApplication: 0x7fac91c62620 (com.apple.dock - 4441)> isFinishedLaunching.
15/12/2013 12:37:15.421 SIMBL Agent[4416]: #EasySIMBL Dock started
15/12/2013 12:37:15.422 SIMBL Agent[4416]: #EasySIMBL app start notification: <NSRunningApplication: 0x7fac91c62620 (com.apple.dock - 4441)>
15/12/2013 12:37:15.422 SIMBL Agent[4416]: #EasySIMBL checking bundle /Users/toby/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
15/12/2013 12:37:15.431 SIMBL Agent[4416]: #EasySIMBL checking target identifier com.apple.dock
15/12/2013 12:37:15.432 SIMBL Agent[4416]: #EasySIMBL should install plugin /Users/toby/Library/Application Support/SIMBL/Plugins/BlackDock.bundle
15/12/2013 12:37:15.433 SIMBL Agent[4416]: #EasySIMBL send inject event
15/12/2013 12:37:15.435 SIMBL Agent[4416]: warning: failed to get scripting definition from /System/Library/CoreServices/Dock.app; it may not be scriptable.
skull-squadron commented 10 years ago

@tobia  See above.. Updated suggestion for installation case, and pedantic details to narrow down differences.