Package: firefox
Version: 69.0.1-1
Severity: normal
Tags: upstream

Tested with upstream 69.0.2, reproduced. Reported at
https://github.com/webcompat/web-bugs/issues/41756

Note that Debian package of Firefox 69.0.1 will produce about 2GB of
logs in geckodriver.log, while upstream firefox 69.0.2 will be far
more brief.

Problem web page:
https://www.public.nm.eurocontrol.int/PUBPORTAL/gateway/spec/index.html

Loading through selenium / geckodriver / marionette the above website
crashes Firefox 69.0.1 (Debian package) and 69.0.2 (tar.bz2 download
from mozilla.org) on amd64 architecture.

The very same selenium / geckodriver / marionette script in
non-headless mode (just comment out the config line for headless)
works correctly.

The very same selenium / geckodriver / marionette script in headless
mode with Firefox ESR 60.9.0esr (Debian package 60.9.0esr-1~deb9u1)
(just change the binary_location option to point to it) works
correctly.

Loading the very same website in Firefox in normal user mode (not
scripted through marionette) works fine (all tested versions).

Reproduction needs
 python3-selenium
 firefoxdriver
Debian packages and geckodriver from
https://github.com/mozilla/geckodriver/releases
(my understanding is that source code for these downloads is in the
 mozilla tree, building instructions at
https://firefox-source-docs.mozilla.org/testing/geckodriver/Building.html
the binary download page link to the exact revision of the tree they
are built from)

-- Package-specific info:

-- Extensions information
Name: Amazon.com
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: Bing
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: Dark theme
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: user-disabled

Name: Default theme
Location: /usr/lib/firefox/omni.ja
Package: firefox
Status: enabled

Name: DuckDuckGo
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: eBay
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: Firefox Monitor
Location: /usr/lib/firefox/browser/features/fxmoni...@mozilla.org.xpi
Package: firefox
Status: enabled

Name: Firefox Screenshots
Location: /usr/lib/firefox/browser/features/screensh...@mozilla.org.xpi
Package: firefox
Status: enabled

Name: Form Autofill
Location: /usr/lib/firefox/browser/features/formautof...@mozilla.org.xpi
Package: firefox
Status: enabled

Name: Google
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: Light theme
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: user-disabled

Name: Twitter
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

Name: Web Compat
Location: 
/home/master/.mozilla/firefox/8nobfoud.default-release/features/{2d31bdd3-1486-4ea7-bb62-61338e8f7d96}/webcom...@mozilla.org.xpi
Status: enabled

Name: WebCompat Reporter
Location: /usr/lib/firefox/browser/features/webcompat-repor...@mozilla.org.xpi
Package: firefox
Status: user-disabled

Name: Wikipedia (en)
Location: /usr/lib/firefox/browser/omni.ja
Package: firefox
Status: enabled

-- Plugins information
Name: Shockwave Flash (32.0.0.142)
Location: 
/usr/lib/browser-plugin-freshplayer-pepperflash/libfreshwrapper-flashplayer.so
Package: browser-plugin-freshplayer-pepperflash
Status: enabled


-- Addons package information
ii  browser-plugin 0.3.9-2      amd64        PPAPI-host NPAPI-plugin adapter f
ii  firefox        69.0.1-1     amd64        Mozilla Firefox web browser

-- System Information:
Debian Release: 9.11
  APT prefers oldstable
  APT policy: (550, 'oldstable'), (500, 'stable'), (400, 'testing'), (200, 
'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-9-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_LU.UTF-8, LC_CTYPE=fr_LU.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_LU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

Versions of packages firefox depends on:
ii  debianutils               4.8.1.1
ii  fontconfig                2.11.0-6.7+b1
ii  libasound2                1.1.3-5
ii  libatk1.0-0               2.34.0-1
ii  libc6                     2.29-2
ii  libcairo-gobject2         1.16.0-4
ii  libcairo2                 1.16.0-4
ii  libdbus-1-3               1.10.28-0+deb9u1
ii  libdbus-glib-1-2          0.108-2
ii  libevent-2.1-6            2.1.8-stable-4
ii  libffi6                   3.2.1-6
ii  libfontconfig1            2.13.1-2
ii  libfreetype6              2.9.1-3
ii  libgcc1                   1:8.3.0-6
ii  libgdk-pixbuf2.0-0        2.36.5-2+deb9u2
ii  libglib2.0-0              2.58.3-2+deb10u1
ii  libgtk-3-0                3.24.5-1
ii  libnspr4                  2:4.21-2
ii  libnss3                   2:3.45-1
ii  libpango-1.0-0            1.42.4-7~deb10u1
ii  libsqlite3-0              3.29.0-2
ii  libstartup-notification0  0.12-4+b2
ii  libstdc++6                9.2.1-8
ii  libx11-6                  2:1.6.4-3+deb9u1
ii  libx11-xcb1               2:1.6.4-3+deb9u1
ii  libxcb-shm0               1.12-1
ii  libxcb1                   1.12-1
ii  libxcomposite1            1:0.4.4-2
ii  libxdamage1               1:1.1.4-2+b3
ii  libxext6                  2:1.3.3-1+b2
ii  libxfixes3                1:5.0.3-1
ii  libxrender1               1:0.9.10-1
ii  libxt6                    1:1.1.5-1
ii  procps                    2:3.3.12-3+deb9u1
ii  zlib1g                    1:1.2.11.dfsg-1

Versions of packages firefox recommends:
ii  libavcodec-extra57  7:3.4.3-1
ii  libavcodec58        7:4.1.4-1~deb10u1

Versions of packages firefox suggests:
ii  fonts-lmodern          2.004.5-3
ii  fonts-stix [otf-stix]  1.1.1-4
ii  libcanberra0           0.30-3
ii  libgssapi-krb5-2       1.17-3
ii  libgtk2.0-0            2.24.31-2
ii  otf-stix               1.1.1-1
ii  pulseaudio             10.0-1+deb9u1

-- no debconf information
from __future__ import print_function
import sys

#import selenium
from selenium import webdriver
#from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.webdriver.support import expected_conditions as sec
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By

def eprint(*args, **kwargs):
    print(*args, file=sys.stderr, **kwargs)

options = webdriver.FirefoxOptions()
options.binary_location = "/usr/bin/firefox"
#options.binary_location = "/path/to/upstream/firefox"
options.headless=True
options.set_capability('acceptInsecureCerts', False)
driver = webdriver.Firefox(executable_path='/path/to/geckodriver',
                           options=options)
try:
    eprint("about to get")
    driver.get('https://www.public.nm.eurocontrol.int/PUBPORTAL/gateway/spec/index.html')
    eprint("about to wait")
    WebDriverWait(driver, 3).until(sec.presence_of_element_located((By.ID, "STATUS_MAP_CONTENTS_ELEMENT_ID")))
finally:
    for wid in driver.window_handles:
        driver.switch_to.window(wid)
        driver.close()

Reply via email to