Opened on 10/23/2018 at 11:54:32 PM

Closed on 11/26/2018 at 02:17:41 PM

Last modified on 04/18/2019 at 07:35:38 AM

#7065 closed defect (fixed)

"Waiting for Extension Adblock Plus..." message displayed by Chrome

Reported by: bigdogweigand Assignee: kzar
Priority: P1 Milestone: Adblock-Plus-3.4.2-for-Chrome-Opera-Firefox
Module: Platform Keywords:
Cc: greiner, kzar, sebastian, mjethani, jsonesen, mapx, linton, ABP_User, brobinson, PostaL, rhana@getadblock.com, hfiguiere, BrentM, Ross Blocked By:
Blocking: Platform: Chrome
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://gitlab.com/eyeo/adblockplus/adblockpluschrome/merge_requests/18

Description (last modified by kzar)

Environment

Windows 10 64-bit Version 1803 (OS Build 17134.345)
Google Chrome 70.0.3538.67 (Official Build) (64-bit)
Adblock Plus 3.3.2 (and the 3.3.0.2117 development build)
EasyList

How to reproduce

  1. Navigate to https://theguardian.com

Observed behaviour

Page hangs with "Waiting for Extension Adblock Plus..." in lower left corner of the browser and the whole browser is locked up until I exit Google Chrome or disable the extension.

Expected behaviour

Page not hanging with "Waiting for Extension Adblock Plus..." in lower left corner of the browser and the whole browser is locked up.

Notes

  • It seems that checkWhitelisted is getting stuck in an infinite loop, with the frame having the parentFrame of itself.
  • I suspect this is related to my c8ab89541a9c change for #6808, in combination with a Chromium bug. I have not been able to verify that however, since I so far have been unable to reproduce the problem.

Hints for testers

Since this issue is very hard to reproduce, you might not be able to verify it's fixed. But, since I did touch the page/frame logic I recommend testing things like blocking, the various types of whitelisting and element hiding. Keep a look out for problems where a site should be whitelisted but things are still blocked, and similar. Please test on old and new versions of both Chrome and Firefox.

Attachments (2)

adblockpluschrome-waiting-test.zip (1.1 MB) - added by kzar on 11/23/2018 at 02:37:58 PM.
Build which includes experimental fix for 7065
adblockpluschrome-waiting-test2.zip (1.1 MB) - added by kzar on 11/23/2018 at 03:41:39 PM.

Download all attachments as: .zip

Change History (74)

comment:1 Changed on 10/24/2018 at 05:51:37 PM by greiner

  • Cc greiner kzar sebastian mjethani added

I've been hearing various such reports recently and I'm not entirely sure what could be causing it. At first glance it sounds like an infinite loop in the background page though.

Do you also see 100% of a CPU core being used when that happens?

Can you provide further details about what you mean with the whole browser being locked up? Do you mean that you cannot navigate to websites anymore or that the entire browser becomes unresponsive? (e.g. moving tabs around, opening the browser menu and otherwise interacting with the browser itself)

In the meantime i'll try to reproduce it on my end using the provided steps.

comment:2 Changed on 10/24/2018 at 06:36:16 PM by mjethani

  • Cc jsonesen added

comment:3 Changed on 10/24/2018 at 06:43:06 PM by jsonesen

Hey all,

I actually experienced this just a moment ago, although it happened under different conditions. I opened the background page, and the options page and saved custom filters a few times. After the second or third attempt the browser hangs. It has only happened once which is why I hadn't filed anything.

comment:4 Changed on 10/24/2018 at 11:18:00 PM by bigdogweigand

CPU is not at 100%. The system is actually quite normal before, during, and after.

Here is "lockup":

  • Trying to do something, say in Gmail, starts the "Waiting for Extension AdBlock Plus..."
  • Any attempt to go to another page in that tab or start a new tab is futile as it will also show "Waiting for Extension AdBlock Plus..."
  • You have to disable and then re-enable AdBlock Plus. And then everything is fine.
  • Chrome is not actually locked up, but hanging/waiting for AdBlock Plus and will not let to go to another WEBPAGE, but will let you go to Chrome Config pages.

The truest guinea pig I have is when I go into my GMail and try to open an YouTube Subscription Notification Email (an email saying John Smith Uploaded a New Video). That seems to fail every time (tried it twice while writing this comment).

comment:5 Changed on 10/25/2018 at 12:22:25 AM by greiner

Thanks for the additional details. The lockup description seems consistent with what I'd expect when the extension is busy doing its thing since the browser waits for the extension to respond before downloading anything.

The normal CPU usage level, however, makes me think that it may not actually be the extension causing it. Because the browser only waits for synchronous actions to finish when it checks back with the extension whether a request should be blocked. And I'd expect any synchronous action that takes a noticeable amount of time to also put the CPU at a higher-than-normal level.

Unfortunately, I couldn't replicate the behavior myself yet so I can't look into what exactly is going on myself but I'll keep trying.

For that any help is very much appreciated such as the following information:

  1. Do you have any other extensions installed? If so, can you try disabling them and see whether the issue still occurs with only Adblock Plus enabled?
  1. Which other pages have you encountered this issue on? Maybe we can find something that all those pages have in common.
  1. You mentioned that you have only EasyList enabled. Does that mean that only EasyList is in the list shown in the Advanced tab in the options page or are there also others such as "Allow nonintrusive advertising" and "ABP filters"?

comment:6 Changed on 10/25/2018 at 03:12:50 AM by bigdogweigand

  1. I've played with the other extensions (Adobe Acrobat, Click&Clean, Flash Video Downloader, Forecastfox, Google Docs Offline, and Incredible StartPage), and no difference.
  1. White Pages appears to be another site that has issues.
  1. I turned off the "Allow nonintrusive advertising" and do not have "ABP filters".

I doubt I have to say this, but I'm not the only one having this issue. The review page on the Google Play Store has been filling up with complaints recently and the forum's only advice seems to be to go with uBlock, which I'm not quite there yet.

Could this have anything to do with Google's new sign in functionality with Chrome?

comment:7 Changed on 10/25/2018 at 11:57:42 AM by greiner

I'm still unable to reproduce it while browsing on whitepages.com with:

Windows 10
Chrome 70.0.3538.77
Adblock Plus 3.3.2
EasyList

Ubuntu 16.04
Chrome 70.0.3538.77
Adblock Plus 3.3.2
EasyList

I'll see whether I can find anything related in the extension code unless someone else in the team is able to reproduce it.

Could this have anything to do with Google's new sign in functionality with Chrome?

I can't rule that out yet so maybe. Difficult to say how to check for that though because it may have to do with whether you're logged in to a Google account when visiting the page or whether a Google account is linked to the current browser profile.

comment:8 Changed on 10/25/2018 at 12:21:08 PM by mjethani

@bigdogweigand if you're able to reproduce this issue consistently with EasyList and Gmail (with YouTube notifications), you could try out two things (in separate steps): (1) disable ABP only for the site (in the dropdown menu), and (2) disable EasyList. What happens in either case? Do you still see the issue? This would give us some clues, at least we would get some idea about where not to look. Thanks.

I have upgraded to Chrome 70 here and have subscribed to a YouTube channel, waiting for the notification :)

comment:9 Changed on 10/25/2018 at 11:23:12 PM by bigdogweigand

Disabling EasyList did not do anything.

If I whitelist "https://mail.google.com", everything is fine, but they also show the ads. Tonight, after doing shift+f5 refreshes, I managed to get it to hang when I sign into Google.

Here are some more clues, with regards to the YouTube emails:

  • If the email has been read and I got back into it, the YouTube video image does not show up.

comment:10 Changed on 10/26/2018 at 12:28:33 AM by bigdogweigand

While I cannot replicate the issue on my work laptop, I can replicate the issue in Firefox with Adblock Plus 3.3.1

comment:11 follow-up: Changed on 10/26/2018 at 12:32:25 AM by bigdogweigand

When I rolled Firefox back to Adblock Plus 3.3, it seemed to fix the issue there. For Chrome I'm not sure how to rollback/install Adblock Plus 3.3.1 or an older version.

comment:12 Changed on 10/26/2018 at 02:11:25 PM by mapx

  • Cc mapx added

comment:13 Changed on 11/02/2018 at 09:16:08 PM by bigdogweigand

Is there any chance that the recent news that Google sign-ins need Javascript have anything to do with this problem?

Source: https://developers.slashdot.org/story/18/11/01/010259/google-wont-let-you-sign-in-if-you-disabled-javascript-in-your-browser

comment:14 in reply to: ↑ 11 Changed on 11/04/2018 at 01:25:59 AM by mjethani

Replying to bigdogweigand:

When I rolled Firefox back to Adblock Plus 3.3, it seemed to fix the issue there. For Chrome I'm not sure how to rollback/install Adblock Plus 3.3.1 or an older version.

Could you try with ABP 3.4?

comment:15 Changed on 11/04/2018 at 11:58:39 AM by bigdogweigand

Installed ABP 3.4 for Chrome, even removed the extension and re-installed. Still has the same issue.

comment:16 Changed on 11/15/2018 at 05:36:15 PM by sbell

User Support is getting more reports regarding this. Apparently happening on AdBlock as well. Collecting details regarding filter lists, other extensions installed, chrome version etc. Hopefully we can isolate it further.

comment:17 Changed on 11/15/2018 at 07:22:59 PM by bigdogweigand

I'm not sure what happened last night or yesterday, BUT it is working now. And I have done nothing different.

comment:18 Changed on 11/17/2018 at 05:58:13 PM by bigdogweigand

Okay, 2 days after the previous comment I can still say everything is working. What I cannot say it what as fixed. Maybe Google did something?

comment:19 Changed on 11/19/2018 at 03:40:18 PM by brobinson

this is happening for me as well, though not for Gmail. particularly noticed it while opening up Google Photos which has always worked fine with ABP.

Chrome version 70.0.3538.102
ABP 3.4
macOS High Sierra

comment:20 Changed on 11/20/2018 at 06:27:18 PM by tigger2014

Im also getting this, for me its happening on yahoo for example, so this appears to not be limited to google services.
Google Chrome 70.0.3538.110 (Official Build) (64-bit)
Adblock Plus 3.4.1
macOS 14.10

at times i do experience high CPU with the chrome helper that is running ABP when i get the hang, the only solution is to either disable the addon or kill the process.

comment:21 Changed on 11/21/2018 at 06:17:54 PM by ABP_User

I am still experiencing this issue where chrome locks up on first load due to "waiting for adblock plus".

Currently I open chrome task manager and spot the abp process consuming 100% cpu. Ending the process gets chrome to load normally and I can get back to work.

Google Chrome 70.0.3538.110 (Official Build) (64-bit)
Adblock Plus 3.4.1

comment:22 follow-up: Changed on 11/22/2018 at 12:46:26 AM by sebastian

Could anyone who can reproduce this issue upload a performance profile?

  1. Go to chrome://extensions (or use the menu: More Tools -> Extensions).
  2. Click on "background page", next to "Inspect views", under "Adblock Plus".
  3. Switch to the "Performance" tab.
  4. Click the record button (or press Ctrl+E).
  5. Do whatever is causing the "Waiting for Extension Adblock Plus" message.
  6. Stop the profile recording.
  7. Click the "Save profile" button.
  8. Attach the profile file to this issue.

(Just for the record, I cannot reproduce it either.)

comment:23 in reply to: ↑ 22 Changed on 11/22/2018 at 04:58:48 PM by linton

Replying to sebastian:

Could anyone who can reproduce this issue upload a performance profile?

I tried but it hangs in "Loading profile" so I can't save it.

I am using macOS 10.13.6, Chrome Version 70.0.3538.110 (Official Build) (64-bit). Visiting https://theguardian.com currently triggers the hanging in ABP problem, though I don't think it has done so consistently. I have all ABP customizations checked and using all (up-to-date) filter lists except the warning removal list.


comment:24 follow-ups: Changed on 11/22/2018 at 05:37:44 PM by mjethani

When it hangs on guardian.com, do you have the extension's options page open? Do you have ABP's drop-down menu (aka "popup") open?

Also, could you try disabling all filter lists in the Advanced section of the options page?

Last edited on 11/22/2018 at 05:38:27 PM by mjethani

comment:25 in reply to: ↑ 24 ; follow-up: Changed on 11/22/2018 at 05:46:58 PM by linton

Replying to mjethani:

When it hangs on guardian.com, do you have the extension's options page open? Do you have ABP's drop-down menu (aka "popup") open?

Also, could you try disabling all filter lists in the Advanced section of the options page?

No and no.

Disabling all filtering still hangs.

comment:26 in reply to: ↑ 25 ; follow-up: Changed on 11/22/2018 at 05:59:57 PM by mapx

Replying to linton:

Did you try keeping only ABP, no other extension ? or did you test in a clean profile with only ABP ?

comment:27 Changed on 11/22/2018 at 06:01:37 PM by mapx

  • Cc linton added

comment:28 Changed on 11/22/2018 at 06:03:43 PM by mapx

  • Cc ABP_User brobinson added

comment:29 follow-up: Changed on 11/22/2018 at 06:06:53 PM by mjethani

Just to be sure, by "disabling all filtering" do you mean disabling each filter list or just disabling ABP on (whitelisting) the domain? I ask because these are two different things internally.

comment:30 in reply to: ↑ 24 ; follow-up: Changed on 11/22/2018 at 06:16:15 PM by PostaL

Replying to mjethani:

When it hangs on guardian.com, do you have the extension's options page open? Do you have ABP's drop-down menu (aka "popup") open?

Also, could you try disabling all filter lists in the Advanced section of the options page?

Hello,

I also had this problem for a few weeks. It starts when I visit the site: https://www.theguardian.com/international. I tried to do as you said. Disabled all filter. The abp popup is not open and visit guardian again. It seems that abp crashes. When I have this error and i go into Windows task manager tab user and I choose the google chrome process which uses the most resourses and choose 'end task' i get the 'abp has crashed please restart extension'popup in the right bottom corner of my open chrome window.

Last edited on 11/22/2018 at 06:19:01 PM by PostaL

comment:31 Changed on 11/22/2018 at 06:18:41 PM by mapx

  • Cc PostaL added

comment:32 in reply to: ↑ 30 ; follow-up: Changed on 11/22/2018 at 06:19:21 PM by mapx

Replying to PostaL:

could you answer my questions above ?

comment:33 in reply to: ↑ 32 Changed on 11/22/2018 at 06:34:17 PM by PostaL

Replying to mapx:

Replying to PostaL:

could you answer my questions above ?

Replying to mapx:

Replying to linton:

Did you try keeping only ABP, no other extension ? or did you test in a clean profile with only ABP ?

I disabled all my extensions but ABP. Still the same problem. It doesnt crash all the time though, but often. 1 out of 4 pageloads average on guardian website.
I didnt test in a clean profile yet.

comment:34 in reply to: ↑ 26 Changed on 11/22/2018 at 06:35:50 PM by linton

Replying to mapx:

Replying to linton:

Did you try keeping only ABP, no other extension ? or did you test in a clean profile with only ABP ?

I tried disabling my other extensions (Disconnect, FBPurity, Google Docs Offline, New Tab Redirect, Docs, Sheets, and Slides) and ABP still hangs on theguardian.

comment:35 in reply to: ↑ 29 ; follow-up: Changed on 11/22/2018 at 06:36:48 PM by linton

Replying to mjethani:

Just to be sure, by "disabling all filtering" do you mean disabling each filter list or just disabling ABP on (whitelisting) the domain? I ask because these are two different things internally.

Disabling each filter list, not whitelisting.

comment:36 Changed on 11/22/2018 at 06:42:32 PM by PostaL

Last edited on 11/22/2018 at 06:57:09 PM by PostaL

comment:37 Changed on 11/22/2018 at 10:23:52 PM by rhana@getadblock.com

We've been getting these reports for several weeks now. They all say this behavior is recent. Something changed in the past six weeks. It was either an AdBlock (ABP) update or a Chrome update that introduced the issue.

This is what I'm telling folks right now:


One of these suggestions should help get things moving again:

  • If you can get to the Chrome Task Manager, close the unresponsive tab by ending the process that is using all the CPU.
  • If closing the tab doesn't help or Chrome is frozen or unresponsive, restart Chrome. (If Chrome is thoroughly hung, you may need to use the Windows Task Manager or MacOS Activity Monitor to end the Chrome process.)

It will really help if you can provide some information for our developers. Here's what they would like to see:

  • AdBlock's debugging information (How do I give you debugging information?)
  • A screenshot of the Windows Task Manager or MacOS Activity Monitor showing Chrome (How do I provide a screenshot?)
  • If Chrome is still running, a screenshot of the Chrome Task Manager showing AdBlock (How do I use the Chrome Task Manager?)

Next, we'd like you to check for any errors associated with AdBlock or Chrome. If either Chrome or AdBlock is unresponsive, you won't be able to do this. That's all right.

Check for errors associated with AdBlock:

  1. Open a new tab and visit chrome://extensions to open Chrome's extensions page.
  2. Select Developer mode in the upper right corner of the page. This makes a few more options appear.
  3. Find AdBlock in the list and click the background page link to open a "developer mode" window for AdBlock.
  4. Click the Console tab at the top of the window.
  5. Reload the page where the problem is happening. (You might need to drag the developer window out of the way.)
  6. If there are any error messages in the console window (usually in red text), paste them into your message.

Check for errors associated with Chrome:

  1. Right-click the page and select Inspect. The Chrome Developer Tools panel opens beside or below the page.
  2. Click the Console tab at the top of the new window.
  3. Reload the page.
  4. If there are any error messages in the console tab (usually in red text), paste them into your message.

If it would help your troubleshooting, I'd be happy to give you what information we have from our users. If there are specific questions you'd like me to ask in addition to the above, I can do that, too.

  • Rhana, AdBlock Community Manager

comment:38 Changed on 11/22/2018 at 10:27:55 PM by mapx

  • Cc rhana@getadblock.com added

comment:39 follow-up: Changed on 11/22/2018 at 10:29:34 PM by mapx

Well, you (who's able to reproduce the issue) could test (with AB / ABP disabled) if the same behaviour still happen with uBo (ublock origin).

comment:40 in reply to: ↑ 39 Changed on 11/22/2018 at 11:28:28 PM by linton

Replying to mapx:

Well, you (who's able to reproduce the issue) could test (with AB / ABP disabled) if the same behaviour still happen with uBo (ublock origin).

No, theguardian.com comes up fine with ublock enabled and abp disabled.

Last edited on 11/22/2018 at 11:28:50 PM by linton

comment:41 Changed on 11/22/2018 at 11:34:33 PM by linton

[Not obvious to me how to upload an image here.]

Chrome task manager after getting a tab to hang. Note that closing the tab doesn't change the CPU number for ABP. All the network numbers are 0.

Browser 115MB 8.7
GPU Process 44.1MB 3.5
Tab: News, sport and opinion from the Guardian's US edit 49.2MB 4.7
Extension: Adblock Plus 77.4MB 99.6

comment:42 in reply to: ↑ 35 ; follow-up: Changed on 11/23/2018 at 02:23:03 AM by mjethani

Replying to linton:

Replying to mjethani:

Just to be sure, by "disabling all filtering" do you mean disabling each filter list or just disabling ABP on (whitelisting) the domain? I ask because these are two different things internally.

Disabling each filter list, not whitelisting.

This suggests that it has nothing to do with filters themselves, but it could still be something about the internal representation of filter objects. If you could try one more thing, please (and thanks for helping us out):

  1. Go to the Advanced section of the extension's options page and delete all filter lists (click on the trash icon)
  2. In the "My filter list" box, make sure you have only one filter: !foo
  3. Reload the extension (disable and reenable on chrome://extensions)
  4. Try to reproduce the issue again (note: since the issue is somewhat intermittent, you would have to try multiple times)

If you could try this out and share the results, that would be very helpful.

Additionally, you could also try to reproduce the issue with an older build, let's say https://downloads.adblockplus.org/devbuilds/adblockpluschrome/adblockpluschrome-3.3.0.2117.crx. If it works fine in the older build then we know it's a regression, it would help us track down the exact change that is causing this.

Thanks for the help!

comment:43 Changed on 11/23/2018 at 02:24:31 AM by mjethani

  • Cc hfiguiere added

comment:44 in reply to: ↑ 42 ; follow-up: Changed on 11/23/2018 at 03:57:16 AM by linton

Replying to mjethani:

Replying to linton:

  1. Go to the Advanced section of the extension's options page and delete all filter lists (click on the trash icon)
  2. In the "My filter list" box, make sure you have only one filter: !foo
  3. Reload the extension (disable and reenable on chrome://extensions)
  4. Try to reproduce the issue again (note: since the issue is somewhat intermittent, you would have to try multiple times)

If you could try this out and share the results, that would be very helpful.

Additionally, you could also try to reproduce the issue with an older build, let's say https://downloads.adblockplus.org/devbuilds/adblockpluschrome/adblockpluschrome-3.3.0.2117.crx. If it works fine in the older build then we know it's a regression, it would help us track down the exact change that is causing this.

Deleting all the builtin filters and adding '!foo' as a custom filter did not change the hanging behavior.

Installing the dev build also had no effect (other than changing the hang message to Waiting for ABP development build).

I tried doing a pause in the debugger window and it is in the checkWhiteListed function in whitelisting.js. Looks like frame.parent points back to frame because when I try to inspect that value it just keeps going back to the same url. So that would mean the loop in that function would never finish. I don't know where frame comes from but maybe this is Chrome (mis)behavior. Just guessing--I don't know much about this stuff.

comment:45 in reply to: ↑ 44 Changed on 11/23/2018 at 04:30:33 AM by mjethani

Replying to linton:

Replying to mjethani:

Replying to linton:

  1. Go to the Advanced section of the extension's options page and delete all filter lists (click on the trash icon)
  2. In the "My filter list" box, make sure you have only one filter: !foo
  3. Reload the extension (disable and reenable on chrome://extensions)
  4. Try to reproduce the issue again (note: since the issue is somewhat intermittent, you would have to try multiple times)

If you could try this out and share the results, that would be very helpful.

Additionally, you could also try to reproduce the issue with an older build, let's say https://downloads.adblockplus.org/devbuilds/adblockpluschrome/adblockpluschrome-3.3.0.2117.crx. If it works fine in the older build then we know it's a regression, it would help us track down the exact change that is causing this.

Deleting all the builtin filters and adding '!foo' as a custom filter did not change the hanging behavior.

What happens if you whitelist the domain?

Installing the dev build also had no effect (other than changing the hang message to Waiting for ABP development build).

Thanks, so this is not a recent regression in Adblock Plus.

I tried doing a pause in the debugger window and it is in the checkWhiteListed function in whitelisting.js. Looks like frame.parent points back to frame because when I try to inspect that value it just keeps going back to the same url. So that would mean the loop in that function would never finish. I don't know where frame comes from but maybe this is Chrome (mis)behavior. Just guessing--I don't know much about this stuff.

This is immensely helpful, I cannot thank you enough for this. If it is possible, it would also be nice to have the stack trace.

As for why none of us in the Adblock Plus team are able to reproduce the issue, it might be because of different content being served to you based on IP geolocation.

comment:46 Changed on 11/23/2018 at 04:34:08 AM by mjethani

comment:47 Changed on 11/23/2018 at 04:52:44 AM by linton

Call stack:

exports.checkWhitelisted (whitelisting.js:66)
browser.webRequest.onBeforeRequest.addListener.details (requestBlocker.js:184)
subEventCallback (extensions::webRequestEvent:105)
EventImpl.dispatchToListener (extensions::event_bindings:403)
publicClassPrototype.(anonymous function) (extensions::utils:138)
EventImpl.dispatch_ (extensions::event_bindings:387)
dispatchArgs (extensions::event_bindings:260)
dispatchEvent (extensions::event_bindings:269)

Scope:
frame:

parent:

parent:

parent: {url: URL, parent: {…}}
url: URL

hash: ""
host: "www.theguardian.com"
hostname: "www.theguardian.com"
href: "https://www.theguardian.com/us"
origin: "https://www.theguardian.com"
password: ""
pathname: "/us"
port: ""
protocol: "https:"
search: ""
searchParams: URLSearchParams {}
username: ""
proto: URL

proto: Object

url: URL {href: "https://www.theguardian.com/us", origin: "https://www.theguardian.com", protocol: "https:", username: "", password: "", …}
proto: Object

url: URL {href: "https://www.theguardian.com/us", origin: "https://www.theguardian.com", protocol: "https:", username: "", password: "", …}
proto: Object

originUrl: URL {href: "https://www.theguardian.com/", origin: "https://www.theguardian.com", protocol: "https:", username: "", password: "", …}
page: ext.Page {id: -1, _url: undefined, browserAction: BrowserAction, contextMenus: ContextMenus}
this: undefined
typeMask: 64

comment:48 Changed on 11/23/2018 at 04:54:49 AM by linton

Whitelisting theguardian.com eliminates the hanging behavior, removing it from the whitelist causes the hanging to come back.

comment:49 follow-up: Changed on 11/23/2018 at 05:14:14 AM by mjethani

Thanks so much.

It's starting to make sense now: of course that loop finds a filter so it exits.

One more piece of information that would be really helpful is the ID of the frame object (frame.id in that loop).

comment:50 Changed on 11/23/2018 at 05:24:06 AM by mjethani

@sebastian let's change the last line in that loop to frame = parentFrame != frame ? parentFrame : null. We'll have to get to the bottom of this, why it's happening, but for now if it fixes the issue then it should be good enough.

Maybe something changed in Chrome.

comment:51 Changed on 11/23/2018 at 05:25:36 AM by rhana@getadblock.com

By the way, I don't know if it's of any help at this point, but several of our tickets mention that when this is happening, the Chrome Task Manager shows AdBlock at 100% CPU.

Also, if this isn't a recent regression in ABP, then my guess is something changed in Chrome. As I mentioned in my first post, all of our users said this just started happening in the past few weeks.

Last edited on 11/23/2018 at 05:27:26 AM by rhana@getadblock.com

comment:52 Changed on 11/23/2018 at 05:32:25 AM by mjethani

@rhana makes sense, it's going into an infinite loop.

comment:53 Changed on 11/23/2018 at 12:10:11 PM by kzar

  • Component changed from Unknown to Platform
  • Description modified (diff)
  • Owner set to kzar
  • Priority changed from Unknown to P2
  • Ready set
  • Summary changed from Waiting for Extension AdBlock Plus... to "Waiting for Extension Adblock Plus..." message displayed by Chrome

Thanks for all the help everyone, this gives me something to start from at least, even though I'm still having trouble reproducing the problem. Looking into it now.

comment:54 follow-up: Changed on 11/23/2018 at 02:28:43 PM by kzar

  • Description modified (diff)
  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

I artificially created an infinite loop in the frame structure and saw symptoms in line with what you have all reported. (That doesn't prove anything, but is a good sign at least.)

I have suspicions about the code that's to blame, and a potential fix/workaround. Any chance someone here could test an experimental build for me, to see if the problem goes away?

If you'd like to test it for me, here are the steps:

  1. Download the adblockpluschrome-waiting-test.zip attachment I'm about to upload.
  2. Extract it somewhere.
  3. Open the Chrome extensions page chrome://extensions/.
  4. Ensure that all copies of Adblock Plus are disabled / removed.
  5. Click the "Developer mode" toggle on the top right of the page.
  6. Click "Load unpacked"
  7. Select the directory where you extracted the .zip file.
  8. Test to see if the "Waiting for Extension Adblock Plus..." message is still a problem.

comment:55 Changed on 11/23/2018 at 02:32:21 PM by kzar

  • Priority changed from P2 to P1

(My housemate just experienced this bug, she was unable to browse the internet at all. I think this is serious enough to warrant P1.)

Changed on 11/23/2018 at 02:37:58 PM by kzar

Build which includes experimental fix for 7065

comment:56 in reply to: ↑ 49 Changed on 11/23/2018 at 02:52:27 PM by linton

Replying to mjethani:

Thanks so much.

It's starting to make sense now: of course that loop finds a filter so it exits.

One more piece of information that would be really helpful is the ID of the frame object (frame.id in that loop).

frame.id is undefined.

details.frameId is -1 in the listener at requestBlocker.js:131.

comment:57 in reply to: ↑ 54 Changed on 11/23/2018 at 03:01:16 PM by linton

Replying to kzar:

I artificially created an infinite loop in the frame structure and saw symptoms in line with what you have all reported. (That doesn't prove anything, but is a good sign at least.)

I have suspicions about the code that's to blame, and a potential fix/workaround. Any chance someone here could test an experimental build for me, to see if the problem goes away?

I still have the hang with this build, same behavior with frame.parent === frame and details.frameId = -1.

comment:58 Changed on 11/23/2018 at 03:12:42 PM by kzar

Brilliant thanks for confirming that, I'll have another go.

Changed on 11/23/2018 at 03:41:39 PM by kzar

comment:59 follow-up: Changed on 11/23/2018 at 03:42:23 PM by kzar

Please could you try again, this time with adblockpluschrome-waiting-test2.zip?

comment:60 in reply to: ↑ 59 Changed on 11/23/2018 at 04:04:09 PM by linton

Replying to kzar:

Please could you try again, this time with adblockpluschrome-waiting-test2.zip?

This one works (!) on theguardian.com.

comment:61 Changed on 11/23/2018 at 05:12:43 PM by abpbot

A commit referencing this issue has landed:
Issue 7065 - Avoid infinite loop in frame structure

comment:62 follow-ups: Changed on 11/23/2018 at 05:34:56 PM by kzar

Great, thanks for confirming that. I've pushed the change now, and it's included in the development builds as of version 3.4.1.2201.

It would be a great help if you all (anyone who was experiencing this issue) could try out the development build of Adblock Plus for Chrome to see if it fixes the problem for you. Just make sure to disable/remove any other copies of Adblock Plus first on the chrome://extensions/ extensions page first! (You can read more about the development builds here.)

When reporting back, please confirm which version of Chrome, operating system and Adblock Plus you have installed. (To check the Adblock Plus version, click the "Details" button, next to the Adblock Plus listing on the extension page chrome://extensions/.)

Last edited on 11/23/2018 at 05:35:17 PM by kzar

comment:63 in reply to: ↑ 62 Changed on 11/23/2018 at 10:39:53 PM by PostaL

Replying to kzar:

Great, thanks for confirming that. I've pushed the change now, and it's included in the development builds as of version 3.4.1.2201.

It would be a great help if you all (anyone who was experiencing this issue) could try out the development build of Adblock Plus for Chrome to see if it fixes the problem for you. Just make sure to disable/remove any other copies of Adblock Plus first on the chrome://extensions/ extensions page first! (You can read more about the development builds here.)

When reporting back, please confirm which version of Chrome, operating system and Adblock Plus you have installed. (To check the Adblock Plus version, click the "Details" button, next to the Adblock Plus listing on the extension page chrome://extensions/.)

Problem seems fixed for me when visiting theguardian.com website with this abp development build. If I run into a problem later I will let you know.

Chrome version : 70.0.3538.110 (64 bit)
OS: Windows 10 Pro Version 1703(OS Build 15063.1387)
ABP: ABP development build 3.4.1.2201

Thank you for fixing the bug,
Chris,

Last edited on 11/23/2018 at 10:40:10 PM by PostaL

comment:64 Changed on 11/25/2018 at 02:49:20 PM by BrentM

  • Cc BrentM added

comment:65 in reply to: ↑ 62 Changed on 11/25/2018 at 03:07:22 PM by BrentM

Replying to kzar:

Great, thanks for confirming that. I've pushed the change now, and it's included in the development builds as of version 3.4.1.2201.

It would be a great help if you all (anyone who was experiencing this issue) could try out the development build of Adblock Plus for Chrome to see if it fixes the problem for you. Just make sure to disable/remove any other copies of Adblock Plus first on the chrome://extensions/ extensions page first! (You can read more about the development builds here.)

When reporting back, please confirm which version of Chrome, operating system and Adblock Plus you have installed. (To check the Adblock Plus version, click the "Details" button, next to the Adblock Plus listing on the extension page chrome://extensions/.)

I've also been experiencing this issue with AdBlock this past week on some Google sites and theGuardian.com.

I did a dev build of AdBlock with the fix (https://github.com/adblockplus/adblockpluschrome/commit/07b66540c14cd661ea16548615c725576c8e5be0), and it seems to have fixed the problem.

Chrome version: 70.0.3538.110
Windows 10 Pro Version 1703

comment:66 in reply to: ↑ 62 Changed on 11/26/2018 at 02:03:40 AM by mjohnson0314

Replying to kzar:

Great, thanks for confirming that. I've pushed the change now, and it's included in the development builds as of version 3.4.1.2201.

It would be a great help if you all (anyone who was experiencing this issue) could try out the development build of Adblock Plus for Chrome to see if it fixes the problem for you. Just make sure to disable/remove any other copies of Adblock Plus first on the chrome://extensions/ extensions page first! (You can read more about the development builds here.)

When reporting back, please confirm which version of Chrome, operating system and Adblock Plus you have installed. (To check the Adblock Plus version, click the "Details" button, next to the Adblock Plus listing on the extension page chrome://extensions/.)

I encountered the hang\loop when choosing the Gmail \ outlook\yahoo email links in a craigslist ad. It would attempt to launch each email client and would hang. I installed the DEV build from the link above and this appears to have resolved the issue.

Chrome: Version 70.0.3538.102 (Official Build) (64-bit)
Windows 10 x64, version 10.0.15063 Build 15063
Adblock DEV build: 3.4.1.2201

Thank you Adblock developers!
Cheers,
Mark J

comment:67 Changed on 11/26/2018 at 01:24:06 PM by abpbot

A commit referencing this issue has landed:
Issue 7065 - Make use of onCommitted parentFrameId when provided

comment:68 Changed on 11/26/2018 at 02:14:01 PM by kzar

Great, thanks for testing that for me everyone! We'll move forward with release preparations shortly.

comment:69 Changed on 11/26/2018 at 02:17:29 PM by kzar

  • Cc Ross added
  • Description modified (diff)
  • Milestone set to Adblock-Plus-3.4.2-for-Chrome-Opera-Firefox

comment:70 Changed on 11/26/2018 at 02:17:41 PM by kzar

  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:71 Changed on 12/03/2018 at 12:28:32 PM by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

Fixed. The change does not look to have caused any issues with blocking/hiding/whitelisting/frames etc.

ABP 3.4.1.2204
Chrome 70 / 49 / Windows 10
Firefox 63 / 51 / Windows 10

comment:72 Changed on 12/03/2018 at 04:16:39 PM by kzar

We've just released Adblock Plus 3.4.2 for Chrome, Firefox and Opera which includes this fix. Thanks again for your help figuring this one out everyone.

Add Comment

Modify Ticket

Change Properties
Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from kzar.
 
Note: See TracTickets for help on using tickets.