Extension Marked as Corrupt.

1,975 views
Skip to first unread message

Jordan Cook

unread,
Jul 29, 2016, 1:45:37 PM7/29/16
to Chromium-Extensions-Announce
I have created an extension that is used only internally by employees. A few weeks ago, some of them complained that the extension was becoming disabled, and upon further investigation, Chrome states that "This extension may have been corrupted."


The extension runs great after users jump through hoops and re-enable it, but repairing it from the chrome://extensions page does nothing.

I cannot reproduce this while developing and debugging the extension locally, it only happens to users who install it from the Chrome Store.

I have seen a couple of other threads about how verification can fail if the paths begin with "./", and I verified that this is not the case in my manifest. What else could cause this? Have I some how been reported, or flagged as malicious? I only have about 50 users of the extension - all of which are my colleagues. 

Here is the list of permissions in my manifest:

"permissions": [
 
"*://*.insidesales.com/*",
 
"*://*.salesforce.com/*",
 
"*://*.force.com/*",
 
"*://mxtoolbox.com/*",
 
"*://internethealthreport.com/*",
 
 
"identity",
 
"storage",
 
"tabs",
 
"notifications",
 
"alarms",
 
"cookies"
 
]

Thanks for taking a look.

 

Simon Knott

unread,
Jul 29, 2016, 3:05:06 PM7/29/16
to Chromium-Extensions-Announce
There's a very old issue, which used to be caused when an extension updated (see https://bugs.chromium.org/p/chromium/issues/detail?id=111623) - they never appear to have fixed it, it seems it was assumed that it had been fixed.  Could this be a cause of your problem?

Cheers,
Simon

Jordan Cook

unread,
Jul 29, 2016, 4:27:20 PM7/29/16
to Chromium-Extensions-Announce
Simon - thanks for the reply

I read through the entire thread, and I suppose this is possible. But I am seeing the corruption even with net-new users. Often times users that update are also impacted, but it doesn't appear to be isolated to the update process. That being said, the extension works just fine after they jump through some hoops and re-enable it from the Chrome Store link. 

Thanks,
Jordan

Antony Sargent

unread,
Jul 29, 2016, 7:42:57 PM7/29/16
to Jordan Cook, Chromium-Extensions-Announce
Hi Jordan-

It sounds like your extension is running into some problem with what we call "content verification", which is code that tries to verify that the contents of the extension on disk haven't been tampered with by malware and match the contents of the files as seen in the webstore. 

I can try taking a look - if I can reproduce the conditions where it gets disabled, I can help figure out what the bug in chrome's code might be. Is there a set of steps when using the extension that cause it to become disabled? 

(If you happen to want to try and chase this down yourself before I'm able to reproduce it, you can follow the instructions in comments 25 and 26 of this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=444085#c25 ) to get some diagnostic output. 




--
You received this message because you are subscribed to the Google Groups "Chromium-Extensions-Announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To post to this group, send email to chromium-...@chromium.org.
Visit this group at https://groups.google.com/a/chromium.org/group/chromium-extensions/.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/22b30451-3e61-437f-b6e1-87fc227c2372%40chromium.org.

Jordan Cook

unread,
Aug 11, 2016, 2:15:00 PM8/11/16
to Chromium-Extensions-Announce, jordan...@gmail.com

Hi Antony,

I'm not getting anything from the logs:

[10620:3548:0811/120925:ERROR:cache_util_win.cc(20)] Unable to move the cache: 5
[10620:3548:0811/120925:ERROR:cache_util.cc(134)] Unable to move cache folder C:\Users\[user]\AppData\Local\Google\Chrome\User Data\ShaderCache\GPUCache to C:\Users\[user]\AppData\Local\Google\Chrome\User Data\ShaderCache\old_GPUCache_000
[10620:3548:0811/120925:ERROR:cache_creator.cc(129)] Unable to create cache
[10620:3548:0811/120925:ERROR:shader_disk_cache.cc(589)] Shader Cache Creation failed: -2


This is how I am starting Chrome:
chrome --enable-logging --v=1 --extension-content-verification=enforce --vmodule=*/content_verifier.cc=7,*/content_verify_job.cc=7



Am I missing anything?

Thanks,
Jordan

Antony Sargent

unread,
Aug 19, 2016, 3:29:12 PM8/19/16
to Jordan Cook, Chromium-Extensions-Announce
Sorry for slow response, I'm catching up after being out of office for a bit. One possible gotcha is if chrome isn't all the way shut down when you run with the custom command line, the new command line won't take effect; instead it will just open a new tab in the currently running chrome. There can be things like apps still running in the background even if there aren't any foreground windows, so when you shut down chrome you might want to use something like the windows task manager or process explorer to make doubly sure there aren't any chrome.exe processes still running. Apart from that, maybe it would be worth trying --enable-logging=stderr instead of just --enable-logging? I'd be surprised if that made a difference. 

BTW, if you can describe a set of steps to reproduce the problem once the extension is installed, I'd love to take a look because there might still be some edge case bug lingering in chrome that I will be able to fix. 


Jordan Cook

unread,
Aug 22, 2016, 7:44:57 PM8/22/16
to Chromium-Extensions-Announce, jordan...@gmail.com
I believe I was able to get to the bottom of this thanks to the error logs (I had to kill all Chrome processes first). It turns out it was an issue with case sensitivity in a folder name. It worked great in dev mode, and even when my users would re-enable the extension, but it just would not pass the content verification process. I corrected the issue with the case, and pushed out an update.

Thanks for your help on this Antony - I appreciate it.

Antony Sargent

unread,
Aug 30, 2016, 4:15:41 PM8/30/16
to Jordan Cook, Chromium-Extensions-Announce
Jordan-

Can you send me a description of the specific problem - ie where the case mismatch was? Was it between a path in a field in the manifest and a path on disk, or between a path in a html/js file and the path on disk? The reason I ask is that I'd very much like to fix whatever the underlying bug is so that you and others don't run into it again. 

Thanks!



--
You received this message because you are subscribed to the Google Groups "Chromium-Extensions-Announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.
To post to this group, send email to chromium-extensions@chromium.org.

Jordan Cook

unread,
Aug 30, 2016, 4:34:38 PM8/30/16
to Chromium-Extensions-Announce
My manifest listed resources like this:

"icons": {
"16": "images/green/32.png",
"48": "images/green/48.png",
"128": "images/green/128.png"
},

But the folder name looked likes this:

images/Green/32.png
images/Green/48.png
images/Green/128.png

The case difference in the word "Green" is what caused the verification to fail. It would have been nice to have it fail while compiling in dev mode so I didn't get hung up here.

Thanks,
Jordan

Antony Sargent

unread,
Sep 1, 2016, 12:53:34 PM9/1/16
to Jordan Cook, Chromium-Extensions-Announce
Thanks for the information! I've been able to reproduce the problem and the fix should be straightforward - I've opened crbug.com/643248 for this if anyone wants to follow progress. 

Sorry the development experience isn't better in cases like this. It's a little tricky to keep everything working exactly the same between loading an extension in developer mode and installing it from the webstore. An extension with this specific problem would have immediately failed to load on linux/ChromeOS even in developer mode since filesystems are case-sensitive there, unlike Windows/OSX. But we may be able to do a better job of warning developers about this sort of thing by comparing the file's actual path against the path used in our resource loading code. 



--
You received this message because you are subscribed to the Google Groups "Chromium-Extensions-Announce" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extensions+unsub...@chromium.org.
To post to this group, send email to chromium-extensions@chromium.org.
Visit this group at https://groups.google.com/a/chromium.org/group/chromium-extensions/.

JON AL

unread,
Sep 3, 2016, 5:23:42 PM9/3/16
to Chromium-Extensions-Announce


On Friday, 29 July 2016 18:45:37 UTC+1, Jordan Cook wrote:
Reply all
Reply to author
Forward
0 new messages