Opened 7 weeks ago

Closed 2 weeks ago

Last modified 9 days ago

#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@…, 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 3 weeks ago.
Build which includes experimental fix for 7065
adblockpluschrome-waiting-test2.zip (1.1 MB) - added by kzar 3 weeks ago.

Download all attachments as: .zip

Change History (74)

comment:1 Changed 7 weeks ago 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 7 weeks ago by mjethani

  • Cc jsonesen added

comment:3 Changed 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago 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 7 weeks ago by mapx

  • Cc mapx added

comment:13 Changed 6 weeks ago 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 6 weeks ago 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 5 weeks ago by bigdogweigand

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

comment:16 Changed 4 weeks ago 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 4 weeks ago 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 4 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago by mjethani (previous) (diff)

comment:25 in reply to: ↑ 24 ; follow-up: Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago by mapx

  • Cc linton added

comment:28 Changed 3 weeks ago by mapx

  • Cc ABP_User brobinson added

comment:29 follow-up: Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago by PostaL (previous) (diff)

comment:31 Changed 3 weeks ago by mapx

  • Cc PostaL added

comment:32 in reply to: ↑ 30 ; follow-up: Changed 3 weeks ago by mapx

Replying to PostaL:

could you answer my questions above ?

comment:33 in reply to: ↑ 32 Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago by PostaL

Last edited 3 weeks ago by PostaL (previous) (diff)

comment:37 Changed 3 weeks ago by rhana@…

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 3 weeks ago by mapx

  • Cc rhana@… added

comment:39 follow-up: Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago by linton (previous) (diff)

comment:41 Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago by mjethani

  • Cc hfiguiere added

comment:44 in reply to: ↑ 42 ; follow-up: Changed 3 weeks ago 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 3 weeks ago 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:47 Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago by rhana@…

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 3 weeks ago by rhana@… (previous) (diff)

comment:52 Changed 3 weeks ago by mjethani

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

comment:53 Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago 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 3 weeks ago by kzar

Build which includes experimental fix for 7065

comment:56 in reply to: ↑ 49 Changed 3 weeks ago 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 3 weeks ago 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 3 weeks ago by kzar

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

Changed 3 weeks ago by kzar

comment:59 follow-up: Changed 3 weeks ago by kzar

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

comment:60 in reply to: ↑ 59 Changed 3 weeks ago 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 3 weeks ago by abpbot

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

comment:62 follow-ups: Changed 3 weeks ago 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 3 weeks ago by kzar (previous) (diff)

comment:63 in reply to: ↑ 62 Changed 3 weeks ago 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 3 weeks ago by PostaL (previous) (diff)

comment:64 Changed 2 weeks ago by BrentM

  • Cc BrentM added

comment:65 in reply to: ↑ 62 Changed 2 weeks ago 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 2 weeks ago 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 2 weeks ago by abpbot

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

comment:68 Changed 2 weeks ago by kzar

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

comment:69 Changed 2 weeks ago by kzar

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

comment:70 Changed 2 weeks ago by kzar

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

comment:71 Changed 9 days ago 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 9 days ago 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.

Note: See TracTickets for help on using tickets.