External Extension (Local File) not loading in Mac OS X, Chrome 21

1,173 views
Skip to first unread message

Jerry Krinock

unread,
Jun 19, 2012, 3:41:11 AM6/19/12
to Chromium-extensions
Mac OS X, 10.7.4. First I verified that my .crx works when installed the old way…

• Launch Chrome 20 (which is still able to install off-store extensions)
• Doubleclick my .crx file which is at this path…
/Users/jk/Documents/Programming/Builds/Debug/BookMacster.app/
Contents/Resources/SheepSystemsChromeExtension.crx
• Verify that Chrome 20 prompts me to install the extension I just double-clicked,
and that after doing so the "Extensions" window tells me that I have
Sheep Systems Chrome Extension version 101 installed.
• Click the trash can to remove the extension just installed.
• Quit Chrome 20.

Next, I attempted to install the same extension in Chrome 21, as an "External Extension", following the Beta documentation [1] …

• Create the directory:
/Users/jk/Library/Application Support/Google/Chrome/External Extensions/
• In that directory, create a file named after my extension's ID:
gielihnpdhkbdcnlcdnpnkidbomiccip.json
• Write to that file the following JSON string:
{
"external_crx" : "\/Users\/jk\/Documents\/Programming\/Builds\/Debug\/BookMacster.app
\/Contents\/Resources\/SheepSystemsChromeExtension.crx",
"external_version" : 101}
• Permissions of this file are octal 0644.
• Launch Chrome 21.
• Click in the menu: Window ▸ Extensions.

EXPECTED RESULT:

It should indicate that my extension is installed and loaded.

ACTUAL RESULT:

Boo... You have no extensions :-(

* * *

Hey, has anyone ever successfully installed an External Extension in Mac OS X?

Note that my .crx file is packed and zipped. Is this correct? Chrome should unzip and unpack my .crx during launch?

As suggested in the documentation, I've looked in Console for any messages and found none. I've also reviewed all of the other troubleshooting tips in the FAQ and I don't think I'm making any of those mistakes.

Are there any other ways to troubleshoot why an External Extension is not being loaded?

If someone could point me to an example of an External Extension in Mac OS X, Chrome 21 that works, I'd love to have a look.

Because it seems to me that extensions should maybe be per-profile, I also tried creating an "External Extensions" directory in the …/Google/Chrome/Default/ directory, and put my gielihnpdhkbdcnlcdnpnkidbomiccip.json file in there, but that didn't work either.

Thanks for any pointers!

Jerry Krinock

P.S. Eeek. It may not be long before Chrome 21 goes into production.

[1] http://code.google.com/chrome/extensions/beta/external_extensions.html

Sam Kerner

unread,
Jun 19, 2012, 12:15:59 PM6/19/12
to Jerry Krinock, Chromium-extensions
Jerry,
The following documentation explains how to diagnose external
extension installation failure by looking at log messages:

http://code.google.com/chrome/extensions/external_extensions.html#troubleshooting

Do you see any error messages in the console that mention external
extensions as you launch chrome?

Sam
> --
> You received this message because you are subscribed to the Google Groups "Chromium-extensions" group.
> To post to this group, send email to chromium-...@chromium.org.
> To unsubscribe from this group, send email to chromium-extens...@chromium.org.
> For more options, visit this group at http://groups.google.com/a/chromium.org/group/chromium-extensions/?hl=en.
>

Jerry Krinock

unread,
Jun 19, 2012, 1:24:03 PM6/19/12
to Chromium-extensions, Sam Kerner

On 2012 Jun 19, at 09:15, Sam Kerner wrote:

> The following documentation explains how to diagnose external
> extension installation failure by looking at log messages:
>
> http://code.google.com/chrome/extensions/external_extensions.html#troubleshooting

Thank you, Sam. Yes, I've read that (actually the …/beta/… version of it).

> Do you see any error messages in the console that mention external
> extensions as you launch chrome?

No messages in Console. (Sorry my post was probably too long.)

A few minutes ago I tried to launch Chrome 21 with command-line options
--enable-logging --v=1

as recommended here…

http://www.chromium.org/for-testers/enable-logging

Result: Chrome 21 wrote a log file of 0 bytes during launch, then immediately crashed with EXC_BREAKPOINT (SIGTRAP).

* * *

Oh, another thing I didn't mention was that I've tried trashing everything in the …/Default/ directory, in case my extension was blacklisted. That did not help either. I don't know how blacklisting works.

Next, I'm going to try and move my extension into …/Default/Extensions and point to that in the JSON file.

Finnur Thorarinsson

unread,
Jun 19, 2012, 1:37:33 PM6/19/12
to Jerry Krinock, Chromium-extensions, Sam Kerner
Sam,

Both external_extensions.json and individual <id>.json files are supported at the moment. In a future build only <id>.json files are supported.

Jerry,

Blacklisting only takes effect if you uninstall an externally loaded extension using the Chrome UI (as opposed to removing the <id>.json file). But, you get off the blacklist by manually installing the extension, which you did in step 1 so I doubt that's the issue.

Maybe the crash you experienced is listed in chrome://crashes/  ? The id of the crash might help us pinpoint why it crashed.

Jerry Krinock

unread,
Jun 19, 2012, 2:48:50 PM6/19/12
to Chromium-extensions, Finnur Thorarinsson, Sam Kerner

On 2012 Jun 19, at 10:37, Finnur Thorarinsson wrote:

> Blacklisting only takes effect if you uninstall an externally loaded extension using the Chrome UI (as opposed to removing the <id>.json file). But, you get off the blacklist by manually installing the extension, which you did in step 1 so I doubt that's the issue.

Thank you, Finnur.

So I've now tried putting my .crx file in …/Default/Extensions, and in ~/Desktop, each time changing the value of external_crx in the json file. But all I ever get when I launch Chrome 21 is "Boo, no extensions".

I'm worried that this is a bug. Has anyone tested an External Extension in Mac OS X lately? Remember that until Chrome 16, we were supposed to modify the application package, which is an OS X "no-no". It's supposedly fixed now, but has it been tested?

If anyone can attest that External Extensions work in Mac OS X, please send me your .crx and .json files so I can try it.

I really think that my .crx is OK, however, because it loads fine if I double-click it in Chrome 20. And I've checked several times that it's ID matches my json filename, and its version number matches the value of external_version.


> Maybe the crash you experienced is listed in chrome://crashes/ ? The id of the crash might help us pinpoint why it crashed.

No, it's not in chrome://crashes.

I shall dig up the crash log from Mac OS X logs and file a bug after I hit 'Send'. But I don't want to hijack my own mission-critical thread on an unrelated issue :)

Jerry Krinock

unread,
Jun 19, 2012, 3:14:06 PM6/19/12
to Chromium-extensions, Finnur Thorarinsson, Sam Kerner
I've filed a bug on the crash…

http://code.google.com/p/chromium/issues/detail?id=133543

* * *

Still "Boo" results trying to get an External Extension to load.

Again, has anyone else ever tried an External Extension in the new location on Mac OS X?

Jerry Krinock

unread,
Jun 21, 2012, 2:05:03 PM6/21/12
to Chromium-extensions, Finnur Thorarinsson, Sam Kerner
I thought I'd ask again, because I've been beating this on and off for several days but still can't get it to work. Has anyone ever tried to load an extension as an External Extension in Mac OS X and gotten it to work?

Summary:

My extension loads fine, with user interaction, if I File▸Open it in Chrome 20. But loading it as an External Extension, either using the new <ID>.json or the old external_extensions.json, in either Chrome 20 or 21, never works. Launching Chrome always results in "Boo… You have no extensions." I've read through the FAQ in the documentation, checked everything multiple times.

For more details see my original post…

https://groups.google.com/a/chromium.org/forum/?hl=en&fromgroups#!topic/chromium-extensions/g2iz8-Jkna4

Has *anyone* ever used or tested External Extensions in Mac OS X?

Thanks,

Jerry Krinock

Sam Kerner

unread,
Jun 21, 2012, 2:32:04 PM6/21/12
to Jerry Krinock, Chromium-extensions, Finnur Thorarinsson
On Thu, Jun 21, 2012 at 2:05 PM, Jerry Krinock <je...@sheepsystems.com> wrote:
>
> Has *anyone* ever used or tested External Extensions in Mac OS X?

I did about a year ago, and I know of three other people who asked for
help and got it working.

I no longer have the ability to build chrome on a mac, so I will have
to leave it to others to debug this.

The first thing I would check is that the path keys
chrome::DIR_USER_EXTERNAL_EXTENSIONS and
chrome::DIR_EXTERNAL_EXTENSIONS point to the expected paths in
~/Library and /Library .

Next I would check that
ExternalExtensionProviderImpl::CreateExternalProviders() gets called
on startup, and that ExternalExtensionProviderImpl objects are created
with extension loaders using those two path keys.

Sam

Jerry Krinock

unread,
Jun 21, 2012, 4:34:17 PM6/21/12
to Chromium-extensions

On 2012 Jun 21, at 11:32, Sam Kerner wrote:

> I did about a year ago, and I know of three other people who asked for
> help and got it working.

Thanks to your persistence, Sam, I found *my* problem. Because I use a simple integer for version number, my JSON encoder was encoding it as such instead of as a string, so it was not quoted.

This mistake caused Chrome to silently ignore it.

Mohamed Mansour

unread,
Jun 22, 2012, 2:02:20 PM6/22/12
to Jerry Krinock, Finnur Thorarinsson, Sam Kerner, Chromium-extensions
Hey all,

In my case, I cannot install any external hosted extensions anymore:

It was working fine for months, the manifest has:
Have we decided to drop externally hosted extensions in future versions of Chrome? I am running the dev channel.

Kind regards,
Mohamed Mansour




Sam Kerner

unread,
Jun 22, 2012, 3:20:09 PM6/22/12
to Jerry Krinock, Chromium-extensions
Jerry,
Just to confirm: I think you are saying you got the extension to
install from the external source in chrome 21. Is that right?

Use of an integer version is an easy mistake to make, and we should
at least log an error in this case. I filed a bug:
http://code.google.com/p/chromium/issues/detail?id=134182

Sam

Jerry Krinock

unread,
Jun 22, 2012, 4:30:59 PM6/22/12
to Chromium-extensions

On 2012 Jun 22, at 12:20, Sam Kerner wrote:

> Just to confirm: I think you are saying you got the extension to
> install from the external source in chrome 21. Is that right?

Yes, *my* problem was in fact the only problem. Chrome's External Extensions install OK in Mac OS X.

> Use of an integer version is an easy mistake to make, and we should
> at least log an error in this case. I filed a bug:
> http://code.google.com/p/chromium/issues/detail?id=134182

Thank you, Sam.

Mihai Parparita

unread,
Jun 24, 2012, 5:30:15 PM6/24/12
to Mohamed Mansour, Jerry Krinock, Finnur Thorarinsson, Sam Kerner, Chromium-extensions
On Fri, Jun 22, 2012 at 11:02 AM, Mohamed Mansour <m...@chromium.org> wrote:
Hey all,

In my case, I cannot install any external hosted extensions anymore:

I replied on the bug asking for some clarification, but note that your bug is about one thing (extensions not from the store, but still downloaded) and this thread is about something else (extensions installed by other software running on the user's computers, via the external extension mechanism).

Mihai

Reply all
Reply to author
Forward
0 new messages