uBlockOrigin / uBlock-issues

This is the community-maintained issue tracker for uBlock Origin
https://github.com/gorhill/uBlock
941 stars 80 forks source link

uBO 1.16 crashes on Chromium 66 #9

Closed nbmrjuhneibkr closed 6 years ago

nbmrjuhneibkr commented 6 years ago

Prerequisites

Description

uBlock Origin 1.16 (1.16.0 from the Chrome Store and 1.16.1rc1 from GitHub) immediately crashes on Chromium 66. Tested on a clean system without any leftover Chromium profiles. uBO 1.15.24 works fine.

A specific URL where the issue occurs

chrome://newtab

Steps to Reproduce

  1. Install Chromium 66: https://github.com/henrypp/chromium/releases/download/v66.0.3359.117-r540276-win64/chromium-nosync.zip (current stable build without WebRTC)
  2. Install uBlock Origin 1.16

Expected behavior:

uBO should work.

Actual behavior:

uBO crashes indefinitely, restarting uBO and/or Chromium doesn't help.

Your environment

gorhill commented 6 years ago

What is the user agent string reported for that browser?

nbmrjuhneibkr commented 6 years ago

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

nbmrjuhneibkr commented 6 years ago

According to this comment, this issue only affects Chromium builds without WebRTC (I haven't tested this yet).

gorhill commented 6 years ago

Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36

That's the issue. I was expecting that Chromium builds would have a user agent string with Chromium in it.

gorhill commented 6 years ago

Fix is in 1.16.1rc2, however I can't upload it to the Chrome store, version 1.16.1rc0 is still "pending review" status. You will have to download and install from the Releases section. Please confirm that the issue is fixed, it's not something I can test on my side.

nbmrjuhneibkr commented 6 years ago

Thanks, everything seems to be working fine.

HitomiTenshi commented 6 years ago

I just had the same problem, 1.16.1rc2 fixes it for me. Would be great if this could make it into a stable release soon, as I am usually on the stable chrome store version.

jspenguin2017 commented 6 years ago

version 1.16.1rc0 is still "pending review"

If you publish from command line then it goes through review instantly. I publish both of my extensions from command line and they were never stuck in review queue.

I don't think you can use controlled rollout from command line though, might be a problem with stable version.

gorhill commented 6 years ago

This issue demonstrates that not enough people are willing to contribute by using uBO's dev build, otherwise this issue would have been found before release of 1.16.0.

HitomiTenshi commented 6 years ago

I'm not using the dev build, because the chrome store version is outdated.

Version: 1.15.25.103 Updated: April 14, 2018

It's behind the current stable 1.16.0 version. I'd use it if it were always up to date, including rc releases.

gorhill commented 6 years ago

You focus too much on the number itself: it's the release candidate, essentially it became 1.16.0 with no change, there was no point to create a 1.16.1.100 version unless there were changes in it. In the end, issues such as the current one is the price paid for not contributing back, I can't possibly be asked to catch everything myself (and anyways in the current case it requires a special Chromium/Windows build which I am not equipped to test).

And anyway even if focusing solely on the label rather than the substance, your argument does not hold given that most of the time the dev build number is ahead of stable build number, except for that tiny window when last release candidate become stable release.

gorhill commented 6 years ago

@jspenguin2017

I publish both of my extensions from command line and they were never stuck in review queue.

Do you have a script to share for this? I started to look into this back when I wrote the AMO one, but after trying to get all the info for the sequence of commands needed to do this I ran out of steam and didn't come back to complete this. Having the exact sequence of commands would be very helpful.

Edit: never mind, I guess what I am looking for is in there.

HitomiTenshi commented 6 years ago

@gorhill I didn't know that the dev version is up to date, even though the dev version number is lower than the stable version number. I'm just an outsider, I don't actually know how you develop uBO and I'm not here to tell you how to do your thing.

All I can say is that the version disparity made me think that the dev version is outdated.

I'm not here to bash anyone, I like uBO and I really appreciate all the work you put into it. I'll install the dev version when I'm home.

uBlock-user commented 6 years ago

Chromium builds with WebRTC disabled are prone to crashes and other unexpected things this is why enable_webrtc flag has been deprecated by the Chromium project maintainers. So this bug is actually a bad Chromium build itself and uBlock Origin is not causing the crash.

This is why @RobRich999 recently stopped compiling builds with WebRTC disabled.

gorhill commented 6 years ago

I pretty much always push the latest dev build version to the Chrome store entry as soon as I publish a new beta/rc -- I really want people to have the latest so that all potential regressions/issues are caught before I publish a stable release.

The only thing out of my control is when the extension is "pending review", that is up to the Chrome store. Currently 1.16.1rc0 is still pending review -- I suppose there is no reviewer during the week-end -- I pushed it to the store late Friday:

a

The highest level of anxiety I reach with this project is when I publish a stable release in the Chrome store, I really want it to be seamless and not break anything for anybody, and the best tool for me to avoid this is that dev build.

uBlock-user commented 6 years ago

Tested With version 1.16.0 on SYNC builds(WebRTC • Widevine) from nik's repo, loads fine, nothing happens, so it was never a bug with the uBlock Origin, but rather a webrtc issue with the Chromium when disabled.

gorhill commented 6 years ago

Well it was a regression since uBO used to be able to deal with those Chromium packages build without WebRTC. The regression was introduced because I tried to avoid the special test used to detect non-WebRTC version for browser flavors which should not be affected by this, i.e. Firefox, Opera, Google Chrome (performance profiling shows the special code pointlessly being executed in those browsers).

However it turns out those special Chromium builds are built with a user agent string causing uBO to detect them as being literally Google Chrome instead of Chromium.

uBlock-user commented 6 years ago

But could it lead to browser crashing on boot ? Also how come SYNC builds like the ones I use are not crashing ?

gorhill commented 6 years ago

See https://github.com/gorhill/uBlock/issues/533.

jspenguin2017 commented 6 years ago

@gorhill Yes, that's the correct file.

You need to create a GAPI app, generate client ID (WebStoreClient) and client secret (WebStoreSecret), then give your app access to your Google account and generate a refresh token (WebStoreAccount).

Eliastik commented 6 years ago

Same issue with Chromium 66.0.3359.139 64 bits on Windows 10 (build "stable-codecs-nosync" from https://github.com/henrypp/chromium/releases ), immediate crash of ublock Origin, tried reinstalling.

Qemics commented 6 years ago

try version 1.16.2

https://github.com/gorhill/uBlock/releases