geckodriver version is incompatible with firefox in ppc64el
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
firefox (Ubuntu) |
Confirmed
|
Low
|
Unassigned |
Bug Description
Hi all,
An application my team and I are developing makes use of a firefox selenium driver in python for ppc64le architectures. I noticed that this module in our application was not functioning due to an inability for the python library to connect to the geckodriver. I also noticed that the x86_64 version of our app is functioning with the same version of firefox and geckodriver.
The python error we are seeing is the following:
TimeoutException: Message: connection refused
The timeout was set to 10 seconds, so I updated it to 40, and then 300 and got the same issue.
geckodriver starts up without any errors. but selenium can't seem to connect to it.
Upon deploying an old version of a docker container of our app (based on ubuntu 18.04), I compared versions of the old version, which selenium worked, vs the new version which selenium does not work. What I found was that although the apt packages for firefox and geckodrivers seem to point to a v75.0 build of firefox, the version in geckodriver did not change between version upgrades.
so,
firefox version changed 72.0.2 -> 75.0
geckodriver did not 36.0 -> 36.0
I suspect this is the source of the issue, because if firefox changes and the geckodriver remains the same, they won't sync up right.
========= Versions on non-working image (version from Apr 30, 2020 on ppc64le) =================
root@0d1a13cbda
Description: Ubuntu 18.04.3 LTS
Release: 18.04
root@0d1a13cbda
firefox:
Installed: 75.0+build3-
Candidate: 75.0+build3-
Version table:
*** 75.0+build3-
500 http://
500 http://
100 /var/lib/
59.
500 http://
root@0d1a13cbda
firefox-
Installed: 75.0+build3-
Candidate: 75.0+build3-
Version table:
*** 75.0+build3-
500 http://
500 http://
root@0d1a13cbda
Mozilla Firefox 75.0
root@0d1a13cbda
geckodriver 0.26.0
root@0d1a13cbda
if you can create the driver successfully, you've made it past our bug.
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https:/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: /usr/local/
Requires: urllib3
Required-by:
======= Versions on working image (image from jan 29th, 2020 on ppc64le) ==================
root@b5d05f80b9
Description: Ubuntu 18.04.3 LTS
Release: 18.04
root@b5d05f80b9
firefox:
Installed: 72.0.2+
Candidate: 72.0.2+
Version table:
*** 72.0.2+
500 http://
500 http://
100 /var/lib/
59.
500 http://
root@b5d05f80b9
firefox-
Installed: 72.0.2+
Candidate: 72.0.2+
Version table:
if you can create the driver successfully, you've made it past our bug.
*** 72.0.2+
500 http://
500 http://
100 /var/lib/
root@b5d05f80b9
Mozilla Firefox 72.0.2
root@b5d05f80b9
geckodriver 0.26.0
root@b5d05f80b9
Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https:/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: /usr/local/
Requires: urllib3
Required-by:
===== Test python code to try =======
# docker run -it -u 0 --rm ubuntu:18.04 bash
then run the following:
> apt update -y && apt upgrade -y
> apt install python3-venv python3.7 python3.7-venv firefox firefox-geckodriver
> python3.7 -m venv env
> source env/bin/activate
> pip install selenium==3.141.0
> python3.7
paste in the code below:
from selenium import webdriver
from selenium.
from selenium.
from selenium.
from selenium.
from selenium.
from selenium.
from selenium.
SELENIUM_TIMEOUT = 40
def _get_profile():
profile = FirefoxProfile()
return profile
def _get_driver():
options = FirefoxOptions()
options.
profile = _get_profile()
_driver = webdriver.
_driver.
driver = _get_driver()
if you can create the driver successfully, you've made it past our bug. Otherwise, it fails on
>>> driver = _get_driver()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in _get_driver
File "/env/lib/
keep_
File "/env/lib/
self.
File "/env/lib/
response = self.execute(
File "/env/lib/
self.
File "/env/lib/
raise exception_
selenium.
description: | updated |
description: | updated |
Changed in firefox (Ubuntu): | |
importance: | Undecided → Low |
I can reproduce the problem in a ppc64el cloud instance, and it can be observed in firefox's autopkgtest results, too (http:// autopkgtest. ubuntu. com/packages/ firefox/ focal/ppc64el).
The problem is not a version mismatch though. The firefox-geckodriver package is built from the same source package as firefox, and it works on other architectures.