Closed Bug 1553951 Opened 5 months ago Closed 4 months ago

Firefox 67 on Ubuntu 19.04 does not open any web page anymore

Categories

(Toolkit :: Safe Browsing, defect, P1, major)

67 Branch
Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla69
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- fixed
firefox67 + wontfix
firefox67.0.1 --- wontfix
firefox68 + wontfix
firefox69 --- fixed

People

(Reporter: trittweiler, Assigned: dimi)

References

Details

(Keywords: regression, Whiteboard: [necko-triaged])

Attachments

(6 files, 1 obsolete file)

Attached file ff.cap

User Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36

Steps to reproduce:

Trying to open any website does not work, it is being loaded and after many many minutes, it times out with "corrupted content error"

I attach a pcap file where I took a complete packet capture of my wlan interface. No other application (like another browser, or email client, etc.) was running. I then started firefox by typing "firefox www.wikipedia.org" into a terminal.

This issue surfaced one or two days ago.

I am running Ubuntu 19.04, I upgrade packages every day. The problem probably surfaced due to an upgrade one or two days ago.

$ uname -a
Linux samarkand 5.0.0-15-generic #16-Ubuntu SMP Mon May 6 17:41:33 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt info firefox
Package: firefox
Version: 67.0+build2-0ubuntu0.19.04.1
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Mozilla Team <ubuntu-mozillateam@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 183 MB
Provides: gnome-www-browser, iceweasel, www-browser
Depends: lsb-release, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.29), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.3.5), libgcc1 (>= 1:4.2), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.8), libgtk-3-0 (>= 3.4), libpango-1.0-0 (>= 1.22.0), libpangocairo-1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.8), libstdc++6 (>= 6), libx11-6, libx11-xcb1, libxcb-shm0, libxcb1, libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxrender1, libxt6
Recommends: xul-ext-ubufox, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4
Suggests: fonts-lyx
Replaces: kubuntu-firefox-installer
Task: ubuntu-desktop-minimal, ubuntu-desktop, kubuntu-desktop, kubuntu-full, xubuntu-desktop, lubuntu-desktop, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop
Xul-Appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Supported: 9m
Download-Size: 48.5 MB
APT-Manual-Installed: yes
APT-Sources: http://ch.archive.ubuntu.com/ubuntu disco-updates/main amd64 Packages
Description: Safe and easy web browser from Mozilla
Firefox delivers safe, easy web browsing. A familiar user interface,
enhanced security features including protection from online identity theft,
and integrated search let you get the most out of the web.

Actual results:

The website is tried to be loading ("Waiting for ....") but nothing is happening.

After a long while, the "corrupted content error" page is shown.

Further information: I disabled all add-ons prior to the test (taking a packet capture, then "firefox www.wikipedia.org".)

Please let me know how I can assist further.

According to /var/log/apt/history.log, firefox and firefox-locale-en was upgraded yesterday, on 2019-05-22:

Start-Date: 2019-05-22  06:04:51
Commandline: /usr/bin/unattended-upgrade
Upgrade: firefox:amd64 (66.0.5+build1-0ubuntu0.19.04.1, 67.0+build2-0ubuntu0.19.04.1)
End-Date: 2019-05-22  06:04:57

Start-Date: 2019-05-22  06:05:00
Commandline: /usr/bin/unattended-upgrade
Upgrade: firefox-locale-en:amd64 (66.0.5+build1-0ubuntu0.19.04.1, 67.0+build2-0ubuntu0.19.04.1)
End-Date: 2019-05-22  06:05:01

This may be a likely culprit.

I need to see how I can downgrade to the previous version of the package. I will report back once I figured that out (and find the time for it.)

Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
OS: Unspecified → Linux

Confirmed: downgrading the Ubuntu firefox package to 66.0.3+build1-0ubuntu1 made firefox work again.

Tracking, the other reports all seem to hint at a user profile corruption (I am on Ubuntu 19.04 myself and didn't experience this issue btw).

I think we are missing a piece of the puzzle here.
The upgrade from 66 to 67 works for me as well on Ubuntu 16.04 and ubuntu 18.04, both with canonical and Mozilla builds.

I can't really wrap my head what could generate this kind of behavior from the profiles point of view. Maybe Dave could get more info out of poc file.

What would probably would be helpful is if trittweiler@gmail could assist a bit more into building up a scenario that we can use reproduce this behavior reliably:

  1. Can you clarify if the profile used after update is the same profile than the one before the update. (about:profiles)
  2. Confirm that the symlink is the default one. If there's anything custom about the symlink done, it would probably be good to know.
  3. Can the same scenario be confirmed with the Firefox updater or just with package updating?
  4. Can the same scenario be confirmed using a Mozilla tar.gz ?
Severity: normal → major
Component: Untriaged → Startup and Profile System
Flags: needinfo?(trittweiler)
Product: Firefox → Toolkit

Profile corruption doesn't necessarily indicate that this is profile switching related. More likely there is a bad pref or something in the profile that doesn't work. Some of the reports indicate that clearing the caches help and we do store some ssl related info in there and have seen issues with that before.

I wonder if Dana has thoughts here.

Flags: needinfo?(dkeeler)

Can you run with the environment variable MOZ_LOG set to pipnss:4,certverifier:5 and upload the output?

Flags: needinfo?(dkeeler)

@dkeeler:

$ MOZ_LOG=pipnss:4,certverifier:5 firefox www.wikipedia.org
[Parent 14926: Main Thread]: D/pipnss nsNSSComponent::ctor
[Parent 14926: Main Thread]: D/pipnss Beginning NSS initialization
[Parent 14926: Main Thread]: D/pipnss nsNSSComponent::InitializeNSS
[Parent 14926: Main Thread]: D/pipnss NSS Initialization beginning
[Parent 14926: Main Thread]: D/pipnss NSS profile at '/home/trittweiler/.mozilla/firefox/4c4hf078.default'
[Parent 14926: Main Thread]: D/pipnss not setting NSS_SDB_USE_CACHE
[Parent 14926: Main Thread]: D/pipnss inSafeMode: 0
[Parent 14926: Main Thread]: D/certverifier InitializeNSS(sql:/home/trittweiler/.mozilla/firefox/4c4hf078.default, 0, 1)
[Parent 14926: Main Thread]: D/pipnss initialized NSS in r/w mode
[Parent 14926: Main Thread]: D/pipnss NSS Initialization done
[Parent 14926: Main Thread]: D/pipnss nsNSSComponent: adding observers
[Parent 14926: LoadRoots]: D/pipnss loaded CKBI from /usr/lib/firefox
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7700] nsSSLIOLayerSetOptions: using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7700] Socket set up
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7700] connecting SSL socket
[Parent 14926: Socket Thread]: E/pipnss [0x7f20a86f7700] Lower layer connect error: -5934
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86564f0] nsSSLIOLayerSetOptions: using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86564f0] Socket set up
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86564f0] connecting SSL socket
[Parent 14926: Socket Thread]: E/pipnss [0x7f20a86564f0] Lower layer connect error: -5934
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a8656640] starting AuthCertificateHook
[Parent 14926: SSL Cert #1]: D/pipnss [0x7f20aebcccc0] SSLServerCertVerificationJob::Run
[Parent 14926: SSL Cert #1]: D/certverifier Top of VerifyCert
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: IsChainValid
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bba60,"") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: caching OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Put(0x7f20af0bbef0, "") added to cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: stapled OCSP response: good
[Parent 14926: SSL Cert #1]: D/pipnss AuthCertificate setting NEW cert 0x7f20a7befc40
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86564f0] nsNSSSocketInfo::NoteTimeUntilReady
[Parent 14926: Socket Thread]: D/pipnss CanFalseStartCallback [0x7f20a8656640] ok
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a8656640] HandshakeCallback: succeeded using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss HandshakeCallback KEEPING existing cert
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86564f0] nsNSSSocketInfo::SetHandshakeCompleted
[Parent 14926: Socket Thread]: D/pipnss [0x7f20aebbae50] nsSSLIOLayerSetOptions: using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss [0x7f20aebbae50] Socket set up
[Parent 14926: Socket Thread]: D/pipnss [0x7f20aebbae50] connecting SSL socket
[Parent 14926: Socket Thread]: E/pipnss [0x7f20aebbae50] Lower layer connect error: -5934
[Parent 14926: Socket Thread]: D/pipnss [0x7f20b07b8c40] starting AuthCertificateHook
[Parent 14926: SSL Cert #1]: D/pipnss [0x7f20a7b298c0] SSLServerCertVerificationJob::Run
[Parent 14926: SSL Cert #1]: D/certverifier Top of VerifyCert
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: IsChainValid
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bba60,"safebrowsing.86868755-6b82-4842-b301-72671a0db32e.mozilla") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no stapled OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bbef0,"safebrowsing.86868755-6b82-4842-b301-72671a0db32e.mozilla") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/pipnss DoOCSPRequest to 'http://ocsp.pki.goog/GTSGIAG3'
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: caching OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Put(0x7f20af0bbef0, "safebrowsing.86868755-6b82-4842-b301-72671a0db32e.mozilla") added to cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: returning after VerifyEncodedOCSPResponse
[Parent 14926: SSL Cert #1]: D/pipnss AuthCertificate setting NEW cert 0x7f20972ae100
[Parent 14926: Socket Thread]: D/pipnss [0x7f20b07b8c40] HandshakeCallback: succeeded using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss HandshakeCallback KEEPING existing cert
[Parent 14926: Socket Thread]: D/pipnss [0x7f20aebbae50] nsNSSSocketInfo::NoteTimeUntilReady
[Parent 14926: Socket Thread]: D/pipnss [0x7f20aebbae50] nsNSSSocketInfo::SetHandshakeCompleted
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7820] starting AuthCertificateHook
[Parent 14926: SSL Cert #1]: D/pipnss [0x7f20aebccb20] SSLServerCertVerificationJob::Run
[Parent 14926: SSL Cert #1]: D/certverifier Top of VerifyCert
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: IsChainValid
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bba60,"") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no stapled OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bbef0,"") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/pipnss DoOCSPRequest to 'http://ocsp.digicert.com'
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: caching OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Put(0x7f20af0bbef0, "") added to cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: returning after VerifyEncodedOCSPResponse
[Parent 14926: SSL Cert #1]: D/pipnss AuthCertificate setting NEW cert 0x7f2096873d30
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7700] nsNSSSocketInfo::NoteTimeUntilReady
[Parent 14926: Socket Thread]: D/pipnss CanFalseStartCallback [0x7f20a86f7820] ok
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7820] HandshakeCallback: succeeded using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss HandshakeCallback KEEPING existing cert
[Parent 14926: Socket Thread]: D/pipnss [0x7f20a86f7700] nsNSSSocketInfo::SetHandshakeCompleted
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955fe9d0] nsSSLIOLayerSetOptions: using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955fe9d0] Socket set up
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955fe9d0] connecting SSL socket
[Parent 14926: Socket Thread]: E/pipnss [0x7f20955fe9d0] Lower layer connect error: -5934
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955febb0] starting AuthCertificateHook
[Parent 14926: SSL Cert #1]: D/pipnss [0x7f20a7b2c160] SSLServerCertVerificationJob::Run
[Parent 14926: SSL Cert #1]: D/certverifier Top of VerifyCert
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: CheckSignatureDigestAlgorithm
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: IsChainValid
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Get(0x7f20af0bba60,"") not in cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: no cached OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: Top of CheckRevocation
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: caching OCSP response
[Parent 14926: SSL Cert #1]: D/certverifier OCSPCache::Put(0x7f20af0bbef0, "") added to cache
[Parent 14926: SSL Cert #1]: D/certverifier NSSCertDBTrustDomain: stapled OCSP response: good
[Parent 14926: SSL Cert #1]: D/pipnss AuthCertificate setting NEW cert 0x7f2095d47470
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955fe9d0] nsNSSSocketInfo::NoteTimeUntilReady
[Parent 14926: Socket Thread]: D/pipnss CanFalseStartCallback [0x7f20955febb0] ok
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955febb0] HandshakeCallback: succeeded using TLS version range (0x0301,0x0304)
[Parent 14926: Socket Thread]: D/pipnss HandshakeCallback KEEPING existing cert
[Parent 14926: Socket Thread]: D/pipnss [0x7f20955fe9d0] nsNSSSocketInfo::SetHandshakeCompleted
Flags: needinfo?(trittweiler)

@adrian_sv:

Re. 1) and 2):

Could you provide more information about which paths you want me to check the symlinks for, please?
I certainly have no recollection of having ever done anything in ~/.mozilla or ~/.cache/mozilla

Re 3)

My assumption is that Firefox' native updater is disabled on Ubuntu, could that be? I have never been prompted by it at least.

Re 4)

I downloaded firefox-67.0.tar.bz2 from mozilla.org, unpacked the tarball, and run ./firefox from the extracted directory. After startup, a dialog popped up saying that this invocation will NOT use my profile from other installations of firefox.

Firefox from firefox-67.0.tar.bz2 is working fine under those circumstances.

(In reply to trittweiler from comment #9)

@dkeeler:

$ MOZ_LOG=pipnss:4,certverifier:5 firefox www.wikipedia.org
[Parent 14926: Main Thread]: D/pipnss nsNSSComponent::ctor
...

Thanks! Doesn't look like a certificate or TLS problem, then, as connections appear to be succeeding.

Dave, any other ideas for possible causes, not that Dana has ruled out TLS certificate issues?

Flags: needinfo?(dtownsend)

Timing out while loading seems to suggest that this could be a networking issue.

Component: Startup and Profile System → Networking
Flags: needinfo?(dtownsend)
Product: Toolkit → Core

trittweiler, can you please provide another logs, but this time as described here: HTTP logging - Mozilla | MDN?

Thanks.

Flags: needinfo?(trittweiler)

Please find the logs when running with MOZ_LOG=timestamp,rotate:200,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5 attached to the ticket.

Flags: needinfo?(trittweiler)

I can see one request to http://www.wikipedia.org/ that is indefinitely suspended. Looks like an addon issue at the first sight. Any addons installed? Can you please share content of about:support page?

Thanks.

Flags: needinfo?(trittweiler)
Flags: needinfo?(trittweiler)
Application Basics
------------------

Name: Firefox
Version: 67.0.2
Build ID: 20190611143226
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0
OS: Linux 5.0.0-17-generic
Multiprocess Windows: 1/1 Enabled by default
Web Content Processes: 3/8
Enterprise Policies: Inactive
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Missing
Safe Mode: false

Crash Reports
-------------

All Crash Reports    Firefox Features
-------------------------------------

Name: Firefox Monitor
Version: 3.0
ID: fxmonitor@mozilla.org

Name: Firefox Screenshots
Version: 37.1.0
ID: screenshots@mozilla.org

Name: Form Autofill
Version: 1.0
ID: formautofill@mozilla.org

Name: Web Compat
Version: 4.0.0
ID: webcompat@mozilla.org

Name: WebCompat Reporter
Version: 1.1.0
ID: webcompat-reporter@mozilla.org

Extensions
----------

Name: Facebook Container
Version: 1.3.1
Enabled: true
ID: @contain-facebook

Name: HTTPS Everywhere
Version: 2019.6.4
Enabled: true
ID: https-everywhere@eff.org

Name: Session Boss
Version: 2.8
Enabled: true
ID: sessionboss@william.wong

Name: uMatrix
Version: 1.3.16
Enabled: true
ID: uMatrix@raymondhill.net

Name: YouTube/Twitch Bookmarker
Version: 1.2.3
Enabled: true
ID: {669c77c0-1c4a-4eab-b9d8-6be137fc64db}

Security Software
----------------- Type:

Type:

Type:

Graphics
--------

Features
Compositing: Basic
asyncPanZoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled
webgl1WSIInfo: GLX 1.4 GLX_VENDOR(client): Mesa Project and SGI GLX_VENDOR(server): SGI Extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
WebGL 1 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
WebGL 1 Driver Version: 3.0 Mesa 19.0.2
WebGL 1 Driver Extensions: GL_ARB_multisample GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_copy_texture GL_EXT_subtexture GL_EXT_texture_object GL_EXT_vertex_array GL_EXT_compiled_vertex_array GL_EXT_texture GL_EXT_texture3D GL_IBM_rasterpos_clip GL_ARB_point_parameters GL_EXT_draw_range_elements GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_separate_specular_color GL_EXT_texture_edge_clamp GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_ARB_framebuffer_sRGB GL_ARB_multitexture GL_EXT_framebuffer_sRGB GL_IBM_multimode_draw_arrays GL_IBM_texture_mirrored_repeat GL_3DFX_texture_compression_FXT1 GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_transpose_matrix GL_EXT_blend_func_separate GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_secondary_color GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_INGR_blend_func_separate GL_NV_blend_square GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_env_combine4 GL_S3_s3tc GL_SUN_multi_draw_arrays GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_EXT_framebuffer_object GL_EXT_texture_compression_s3tc GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_MESA_window_pos GL_NV_packed_depth_stencil GL_NV_texture_rectangle GL_ARB_depth_texture GL_ARB_occlusion_query GL_ARB_shadow GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_window_pos GL_EXT_stencil_two_side GL_EXT_texture_cube_map GL_NV_depth_clamp GL_NV_fog_distance GL_APPLE_packed_pixels GL_ARB_draw_buffers GL_ARB_fragment_program GL_ARB_fragment_shader GL_ARB_shader_objects GL_ARB_vertex_program GL_ARB_vertex_shader GL_ATI_draw_buffers GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_MESA_pack_invert GL_NV_primitive_restart GL_ARB_depth_clamp GL_ARB_fragment_program_shadow GL_ARB_half_float_pixel GL_ARB_occlusion_query2 GL_ARB_point_sprite GL_ARB_shading_language_100 GL_ARB_sync GL_ARB_texture_non_power_of_two GL_ARB_vertex_buffer_object GL_ATI_blend_equation_separate GL_EXT_blend_equation_separate GL_OES_read_format GL_ARB_color_buffer_float GL_ARB_pixel_buffer_object GL_ARB_texture_compression_rgtc GL_ARB_texture_float GL_ARB_texture_rectangle GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_shared_exponent GL_ARB_framebuffer_object GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_packed_depth_stencil GL_APPLE_object_purgeable GL_ARB_vertex_array_object GL_ATI_separate_stencil GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_gpu_program_parameters GL_EXT_texture_array GL_EXT_texture_integer GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_OES_EGL_image GL_AMD_texture_texture4 GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_draw_instanced GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_map_buffer_range GL_ARB_texture_rg GL_ARB_texture_swizzle GL_ARB_vertex_array_bgra GL_EXT_texture_swizzle GL_EXT_vertex_array_bgra GL_NV_conditional_render GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_ARB_ES2_compatibility GL_ARB_blend_func_extended GL_ARB_debug_output GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_explicit_attrib_location GL_ARB_fragment_coord_conventions GL_ARB_provoking_vertex GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_shader_stencil_export GL_ARB_shader_texture_lod GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_multisample GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_uniform_buffer_object GL_ARB_vertex_type_2_10_10_10_rev GL_EXT_provoking_vertex GL_EXT_texture_snorm GL_MESA_texture_signed_rgba GL_NV_texture_barrier GL_ARB_draw_indirect GL_ARB_get_program_binary GL_ARB_robustness GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_precision GL_ARB_texture_compression_bptc GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_AMD_multi_draw_indirect GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_internalformat_query GL_ARB_map_buffer_alignment GL_ARB_shader_atomic_counters GL_ARB_shader_image_load_store GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_texture_storage GL_ARB_transform_feedback_instanced GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_transform_feedback GL_AMD_query_buffer_object GL_AMD_shader_trinary_minmax GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_clear_buffer_object GL_ARB_compute_shader GL_ARB_copy_image GL_ARB_explicit_uniform_location GL_ARB_fragment_layer_viewport GL_ARB_framebuffer_no_attachments GL_ARB_invalidate_subdata GL_ARB_multi_draw_indirect GL_ARB_program_interface_query GL_ARB_robust_buffer_access_behavior GL_ARB_shader_image_size GL_ARB_shader_storage_buffer_object GL_ARB_stencil_texturing GL_ARB_texture_query_levels GL_ARB_texture_storage_multisample GL_ARB_texture_view GL_ARB_vertex_attrib_binding GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_ARB_buffer_storage GL_ARB_clear_texture GL_ARB_indirect_parameters GL_ARB_internalformat_query2 GL_ARB_multi_bind GL_ARB_query_buffer_object GL_ARB_seamless_cubemap_per_texture GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_stencil8 GL_ARB_vertex_type_10f_11f_11f_rev GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_INTEL_performance_query GL_ARB_ES3_1_compatibility GL_ARB_clip_control GL_ARB_conditional_render_inverted GL_ARB_cull_distance GL_ARB_derivative_control GL_ARB_get_texture_sub_image GL_ARB_pipeline_statistics_query GL_ARB_shader_texture_image_samples GL_ARB_texture_barrier GL_ARB_transform_feedback_overflow_query GL_EXT_polygon_offset_clamp GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_ARB_fragment_shader_interlock GL_ARB_post_depth_coverage GL_ARB_shader_atomic_counter_ops GL_ARB_shader_ballot GL_ARB_shader_clock GL_EXT_shader_samples_identical GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_NV_fragment_shader_interlock GL_MESA_shader_integer_functions GL_ARB_polygon_offset_clamp GL_ARB_texture_filter_anisotropic GL_EXT_shader_framebuffer_fetch_non_coherent GL_INTEL_shader_atomic_float_minmax
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_disjoint_timer_query EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_element_index_uint OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context
WebGL 2 Driver WSI Info: GLX 1.4 GLX_VENDOR(client): Mesa Project and SGI GLX_VENDOR(server): SGI Extensions: GLX_ARB_create_context GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
WebGL 2 Driver Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
WebGL 2 Driver Version: 4.5 (Core Profile) Mesa 19.0.2
WebGL 2 Driver Extensions: GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_object_purgeable GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_INTEL_shader_atomic_float_minmax GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fragment_shader_interlock GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
WebGL 2 Extensions: EXT_color_buffer_float EXT_disjoint_timer_query EXT_float_blend EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic OES_texture_float_linear WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context
Off Main Thread Painting Enabled: true
Off Main Thread Painting Worker Count: 3
Target Frame Rate: 60
GPU #1
Active: Yes
Description: Intel Open Source Technology Center -- Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
Vendor ID: Intel Open Source Technology Center
Device ID: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
Driver Version: 3.0 Mesa 19.0.2

Diagnostics
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: none
CairoUseXRender: 0
Decision Log
HW_COMPOSITING:
blocked by default: Acceleration blocked by platform
OPENGL_COMPOSITING:
unavailable by default: Hardware compositing is disabled
WEBRENDER:
opt-in by default: WebRender is an opt-in feature
unavailable by runtime: Hardware compositing is disabled
WEBRENDER_QUALIFIED:
blocked by env: No qualified hardware




Media
-----

Audio Backend: remote
Max Channels: 2
Preferred Sample Rate: 44100
Output Devices
Name: Group
Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
Input Devices
Name: Group
Monitor of Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0
Built-in Audio Analog Stereo: /devices/pci0000:00/0000:00:1f.3/sound/card0

Important Modified Preferences
------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 1048576
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 2
browser.places.smartBookmarksVersion: 8
browser.sessionstore.upgradeBackup.latestBuildID: 20190530115201
browser.startup.homepage_override.buildID: 20190611143226
browser.startup.homepage_override.mstone: 67.0.2
browser.urlbar.placeholderName: Google
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
dom.push.userAgentID: d1e4dafd7b774a029988c5cd34740e2f
extensions.lastAppVersion: 67.0.2
font.internaluseonly.changed: true
idle.lastDailyNotification: 1560840763
media.benchmark.vp9.fps: 144
media.benchmark.vp9.versioncheck: 5
media.gmp-gmpopenh264.abi: x86_64-gcc3
media.gmp-gmpopenh264.lastUpdate: 1560442378
media.gmp-gmpopenh264.version: 1.7.1
media.gmp-manager.buildID: 20190410124846
media.gmp-manager.lastCheck: 1560840603
media.gmp.storage.version.observed: 1
network.cookie.prefsMigrated: true
network.dns.disablePrefetch: true
network.http.speculative-parallel-limit: 0
network.predictor.cleaned-up: true
network.predictor.enabled: false
network.prefetch-next: false
places.database.lastMaintenance: 1560616672
places.history.expiration.transient_current_max_pages: 142729
plugin.disable_full_page_plugin_for_types: application/pdf
print.print_bgcolor: false
print.print_bgimages: false
print.print_duplex: 0
print.print_evenpages: true
print.print_margin_bottom: 0.5
print.print_margin_left: 0.5
print.print_margin_right: 0.5
print.print_margin_top: 0.5
print.print_oddpages: true
print.print_orientation: 0
print.print_page_delay: 50
print.print_paper_data: 0
print.print_paper_height: 11.69
print.print_paper_name: iso_a4
print.print_paper_size_unit: 0
print.print_paper_width: 8.27
print.print_scaling: 1.00
print.print_shrink_to_fit: true
print.print_to_file: false
print.print_unwriteable_margin_bottom: 56
print.print_unwriteable_margin_left: 25
print.print_unwriteable_margin_right: 25
print.print_unwriteable_margin_top: 25
privacy.donottrackheader.enabled: true
privacy.sanitize.pending: [{"id":"newtab-container","itemsToClear":[],"options":{}}]
privacy.trackingprotection.cryptomining.enabled: true
privacy.trackingprotection.enabled: true
privacy.trackingprotection.fingerprinting.enabled: true
privacy.trackingprotection.introCount: 20
privacy.userContext.enabled: true
privacy.userContext.extension: sessionboss@william.wong
privacy.userContext.longPressBehavior: 2
privacy.userContext.ui.enabled: true
security.sandbox.content.tempDirSuffix: cd1391cd-aeea-4fd6-8c9c-702731935746
security.sandbox.plugin.tempDirSuffix: e1eae304-56a1-4c86-aaa9-f5a4c49ce1a4
services.sync.declinedEngines:
signon.importedFromSqlite: true
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1558886550

Important Locked Preferences
----------------------------

Places Database
---------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.21
Version in use: 4.21

NSS
Expected minimum version: 3.43
Version in use: 3.43

NSSSMIME
Expected minimum version: 3.43
Version in use: 3.43

NSSSSL
Expected minimum version: 3.43
Version in use: 3.43

NSSUTIL
Expected minimum version: 3.43
Version in use: 3.43

Sandbox
-------

Seccomp-BPF (System Call Filtering): true
Seccomp Thread Synchronization: true
User Namespaces: true
Content Process Sandboxing: true
Media Plugin Sandboxing: true
Content Process Sandbox Level: 4
Effective Content Process Sandbox Level: 4

Rejected System Calls
---------------------

Internationalization & Localization
-----------------------------------

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-CA","en-GB","en-ZA","en-US"]
App Locales: ["en-US","en-CA","en-GB","en-ZA","und"]
Regional Preferences: ["en-GB"]
Default Locale: "und"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-GB"]

It is important to note that with CVE-2019-11707, resolving this issue actually becomes really important to those stuck with the Firefox 66.

Starting firefox in safe mode (firefox -safe-mode) resolves the issue. So it seems like it is indeed one of the plug-ins which is at fault.

I will see which one it is.

HOWEVER:

Disabling the add-ons manually under "Add-Ons (Ctrl+Shift+A)" in the "Open Menu" does NOT help, the issue still persists.

To be precise: I disabled the add-ons on the old version, upgrading to 67, invoking firefox with "firefox www.wikipedia.org"

The priority flag is not set for this bug.
:michal, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(michal.novotny)

Given that we will ship 68 in 2 weeks and that this is still at the investigation phase, I am marking it as wontfix for 67.

(In reply to trittweiler from comment #10)

Re 4)

I downloaded firefox-67.0.tar.bz2 from mozilla.org, unpacked the tarball, and run ./firefox from the extracted directory. After startup, a dialog popped up saying that this invocation will NOT use my profile from other installations of firefox.

Firefox from firefox-67.0.tar.bz2 is working fine under those circumstances.

Could you please check if the official version works fine with your current profile? It should be possible to select the profile if you run:
$ ./firefox --no-remote -P

Could you please also check whether ubuntu version works fine with a clean profile?

Flags: needinfo?(trittweiler)

Hi Michal,

I tested a clean profile on the upgraded ubuntu version, and that worked successfully:

  1. I ran firefox -ProfileManager www.wikipedia.org
  2. I created a new profile, with the name "clean_profile"
  3. selected "clean_profile", and clicked on "Start Firefox"

And firefox launched and could successfully render wikipedia.org.

I am going to test firefox 67 vanilla under my suspicious profile next.

I ran ./firefox --no-remote -P from the official firefox-67.0.tar.bz2 tarball that I had downloaded end of may, selected the "default" profile (the "default-release" was pre-selected), launched firefox, and tried to open www.wikipedia.org.

It did NOT work.

Same buggy behaviour of endlessly retrieving the website.

Flags: needinfo?(trittweiler)

Would it be helpful to upload my profile? Which directory would that be?

Would it contain sensitive information? Passwords? If yes, what is the procedure to remove sensitive information?

Flags: needinfo?(michal.novotny)
Priority: -- → P1
Whiteboard: [necko-triaged]

Hi, can you please provide a new log with added one more module to the MOZ_LOG variable: "nsChannelClassifier:5". Thanks!

Flags: needinfo?(trittweiler)

(In reply to trittweiler from comment #27)

Would it be helpful to upload my profile? Which directory would that be?

The profile directory is /home/trittweiler/.mozilla/firefox/4c4hf078.default

Would it contain sensitive information? Passwords? If yes, what is the procedure to remove sensitive information?

Yes, it contains sensitive information. Could you please try to run mozregression on that profile? See, https://mozilla.github.io/mozregression/documentation/usage.html
I guess you should run it as follows:

mozregression --good 66 --bad 67 --profile=/home/trittweiler/.mozilla/firefox/4c4hf078.default

I recommend to back the profile up first.

Attachment #9070859 - Attachment is obsolete: true
Flags: needinfo?(trittweiler)

(In reply to Honza Bambas (:mayhemer) from comment #28)

Hi, can you please provide a new log with added one more module to the MOZ_LOG variable: "nsChannelClassifier:5". Thanks!

Done. Please see "firefox_log_nsChannelClassifier.tbz"

(In reply to Michal Novotny [:michal] from comment #29)

Yes, it contains sensitive information. Could you please try to run mozregression on that profile? See, https://mozilla.github.io/mozregression/documentation/usage.html
I guess you should run it as follows:

mozregression --good 66 --bad 67 --profile=/home/trittweiler/.mozilla/firefox/4c4hf078.default

I recommend to back the profile up first.

Curiously, I could NOT reproduce the problem with mozregression at all.

I have tried the following arguments to --bad:

--bad 67
--bad 67.0.4
--bad 68

In each case, I could successfully retrieve and render web pages. (I did pass the --profile=.... flag, and verified that the "default" profile is in use via the "about:profiles" page.)

See Also: → 1561251

(In reply to trittweiler from comment #31)

(In reply to Honza Bambas (:mayhemer) from comment #28)

Hi, can you please provide a new log with added one more module to the MOZ_LOG variable: "nsChannelClassifier:5". Thanks!

Done. Please see "firefox_log_nsChannelClassifier.tbz"

Looks like the URL Classifier thread gets stuck.

Component: Networking → Security
Flags: needinfo?(amarchesini)

This is a critical regression (coming from likely duplicate bug 1561251);
(RE the wontfix tag for v67, IMO this should be a blocker; however I am unfamiliar with the release cycles and how bugs get scoped and/or back-merged, so hopefully that is the right decision ;o)

Let me know if we need additional debug information; (looks like @mayhemer has a lead with the URL classifier thread.

Dimi, do you have time to take a look?

Flags: needinfo?(amarchesini) → needinfo?(dlee)
Assignee: nobody → dlee
Flags: needinfo?(dlee)

Hi trittweiler,
I also need your help provide a new log with only the following MOZ_LOG set:
"UrlClassifierDbService:5,nsChannelClassifier:5,UrlClassifierProtocolParser:5,UrlClassifierStreamUpdater:5,UrlClassifierPrefixSet:5"

It will be also very helpful if you can find the 'safebrowsing' folder in the profile and upload it(or just upload the entire folder)
Thank you!

Flags: needinfo?(trittweiler)

fermulator if you are able to reproduce maybe you can help with comment 36?

Flags: needinfo?(mozilla-bugzilla)

@dimi,

Here's my version of the initial MOZ_LOG request and the URL classifier debug logs. (attaching)

Unfortunately, I never see a "safebrowsing" directory in my profile (despite the fact I see it noted in the log output of the classifier ...)

fermulator@fermmy-notebook:/.mozilla/firefox/gx3w7gfd.default-1561215211227$ find . | grep safe
fermulator@fermmy-notebook:
/.mozilla/firefox/gx3w7gfd.default-1561215211227$ cd safebrowsing
bash: cd: safebrowsing: No such file or directory

Flags: needinfo?(mozilla-bugzilla)

This caught my eye

[Parent 14332: Main Thread]: D/UrlClassifierStreamUpdater nsUrlClassifierStreamUpdater::UpdateError [this=7fe85c195e20]

and,

[Parent 14332: URL Classifier]: D/UrlClassifierDbService Notifying error: NS_ERROR_FAILURE (2147500037)

and,

[Parent 14332: Main Thread]: I/nsChannelClassifier FeatureData::InitializeList got an unexpected error (rv=NS_OK)

Otherwise we see this often

[Parent 14332: URL Classifier]: D/UrlClassifierDbService Failed to read the value.

(obviously I don't know the code base, so whether or not these errors/failures are relevant I am not sure)

(In reply to fermulator from comment #38)

@dimi,
Here's my version of the initial MOZ_LOG request and the URL classifier debug logs. (attaching)

Unfortunately, I never see a "safebrowsing" directory in my profile (despite the fact I see it noted in the log output of the classifier ...)

Hi fermulator,
This is really helpful! thanks.
I found a issue that we don't handle the corrupted safebrowsing database very well, i will provide a patch to fix the error handling.
I'll then investigate why the database was corrupted in the first place.

Firefox cannot open any URL when Safe Browsing database is corrupted.
This is because when Necko asks URL Classifier to classify an URL, it
first suspends the channel, and then wait for a callback to see if the
channel should be canceled or resumed.

In this bug, DoLocalLookup returns an error because Safe Browsing is not
able to read its database(database is corrupted), but we don't call the
callback to resume loading channel, so users cannot load any website.

This patch adds a scope exit handler to make sure the callback will
always be invoked.

Pushed by dlee@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b308a5b128aa
Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r=baku

Backed out changeset b308a5b128aa (Bug 1553951) for causing bustages in builds/worker/workspace/build/src/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp CLOSED TREE

https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&classifiedState=unclassified&selectedJob=254225161

https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=254225161&repo=autoland&lineNumber=32859

Flags: needinfo?(dlee)
Backout by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/88c43064571c
Backed out changeset b308a5b128aa for causing bustages in builds/worker/workspace/build/src/toolkit/components/url-classifier/nsUrlClassifierDBService.cpp CLOSED TREE
Pushed by dlee@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7f91c3a8a9ee
Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r=baku
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla69

Comment on attachment 9075086 [details]
Bug 1553951 - Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r?baku

Beta/Release Uplift Approval Request

  • User impact if declined: Corrupted Safe Browsing database may cause users cannot open any web page
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch doesn't affect normal workflow, it only does error handling.
  • String changes made/needed:
Flags: needinfo?(dlee)
Attachment #9075086 - Flags: approval-mozilla-beta?
Flags: needinfo?(trittweiler)

Comment on attachment 9075086 [details]
Bug 1553951 - Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r?baku

beta is now 69. If you think this should go in 68 please request uplift to esr68 and maybe release instead. (And in that case I'd like to see some more justification for inclusion in either a RC2 or a dot release.)

Attachment #9075086 - Flags: approval-mozilla-beta? → approval-mozilla-beta-
Blocks: 1562822
Component: Security → Safe Browsing
Product: Core → Toolkit

(In reply to Julien Cristau [:jcristau] from comment #50)

beta is now 69. If you think this should go in 68 please request uplift to esr68 and maybe release instead. (And in that case I'd like to see some more justification for inclusion in either a RC2 or a dot release.)

Given that it is very close to release date and this could be recovered through Safe Browsing update.
I'll not uplift to release.

(In reply to Dimi Lee [:dimi][:dlee] from comment #51)

this could be recovered through Safe Browsing update.

What exactly is this assumption based on? Afaik we don't even know yet what corrupted the database in the first place, meaning it could happen again even after recovery, right?

Flags: needinfo?(dlee)

(In reply to Dão Gottwald [::dao] from comment #52)

(In reply to Dimi Lee [:dimi][:dlee] from comment #51)

this could be recovered through Safe Browsing update.

What exactly is this assumption based on? Afaik we don't even know yet what corrupted the database in the first place, meaning it could happen again even after recovery, right?

I should comment more detail, sorry for not doing this in the first place
Base on the description and log, I think this only occured while upgrading Firefox because of the recent changes in Safe Browsing(Bug 1353956 did modify the format of database). But I am not yet clear why this happened.

I simulated the corrupted database(based on the log) by manually modify it to figure out how to fix it and to test if it can be recovered.

Flags: needinfo?(dlee)

@dimi @dlee, that assumption is false.

In fact my browser is in a state of constant "safebrowsing" corruption (whatever that means). See bug 1561251.
Any earlier uplift would be appreciated as I prefer to remain on a stable branch. On the system I'm running, this is the version I have atm
firefox 67.0.4+linuxmint1+sylvia

Flags: needinfo?(dlee)

(and is there a different bug (In reply to fermulator from comment #54)

@dimi @dlee, that assumption is false.
, er, MAY be false(?) sorry; I was referring to

Given that it is very close to release date and this could be recovered through Safe Browsing update.
I'll not uplift to release.

Hi fermulator,
Thank you for the info. Can you help upload the corrupted database?
You can find the directory containing it by opening about:profile, find the profile you are using and see if there is a "safebrowsing" directory under the "Local Directory". And if there is also any other directory whose name begins with "safebrowsing-"(for example, "safebrowsing-backup"), please also upload it, thanks!

Flags: needinfo?(dlee) → needinfo?(mozilla-bugzilla)

(In reply to fermulator from comment #54)

In fact my browser is in a state of constant "safebrowsing" corruption (whatever that means). See bug 1561251.

Ah, I see. I might know the reason that why you are in a state of constant "safebrowsing" corruption.
Safebrowsing database has multiple tables, and in the case of multiple tables are corrupted, a safebrowsing update only resets one corrupted table (Because when it finds an error, it stops the update and resets the table, it doesn't examine the remaining tables).

But for this bug, as long as there is still one corrupted database, the bug occurs. So if there are 5 bad tables, it needs 5 safebrowsing updates to recover... And this feels like a constant failure in a lot of cases. I filed another Bug 1564032 to improve this.

Thanks; I've shifted this discussion into bug 1561251.

Flags: needinfo?(mozilla-bugzilla)

Hi Dimi, did you want to nominate this for ESR68 approval for the 68.1esr release?

Flags: needinfo?(dlee)

(In reply to Ryan VanderMeulen [:RyanVM] from comment #59)

Hi Dimi, did you want to nominate this for ESR68 approval for the 68.1esr release?

Yes.

Flags: needinfo?(dlee)

Comment on attachment 9075086 [details]
Bug 1553951 - Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r?baku

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Corrupted Safe Browsing database may cause users cannot open any web page.
    Corrupted database may happen while upgrading Firefox from 66(or versions before 66) to 67(or 68) on Ubuntu.
  • User impact if declined: Users cannot open any web page
  • Fix Landed on Version: 69
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): This patch doesn't change any behavior for the normal workflow. It only affect the cases when SafeBrowsing detects an error(this doesn't occur very often). And we don't do complex error handling when an error occurs, we just skip the lookup.
  • String or UUID changes made by this patch: None
Attachment #9075086 - Flags: approval-mozilla-esr68?

Comment on attachment 9075086 [details]
Bug 1553951 - Safe Browsing doesn't call the lookup callback when an error occurs in DoLocalLookup. r?baku

Improves Safe Browsing error handling so users aren't left in a state of being unable to open any webpages in some circumstances. Approved for 68.1esr.

Attachment #9075086 - Flags: approval-mozilla-esr68? → approval-mozilla-esr68+
See Also: → 1557798
Duplicate of this bug: 1557798
You need to log in before you can comment on or make changes to this bug.