shalom-t opened a new issue, #36448:
URL: https://github.com/apache/superset/issues/36448
### Bug description
When running Apache Superset on ARM64 (AWS Graviton / linux/aarch64), all
Alerts & Reports that require screenshot generation fail with the following
Selenium error:
```
selenium.common.exceptions.WebDriverException: Message: Unsupported
platform/architecture combination: linux/aarch64
```
Superset attempts to use Selenium Manager to automatically download a Chrome
or Firefox WebDriver. Selenium Manager does not ship drivers for ARM64, which
results in:
• Unable to obtain driver for chrome
• Unable to obtain driver for firefox
• Reports failing with ReportScheduleScreenshotFailedError
This makes Alerts & Reports completely non-functional on ARM environments,
even when Chromium + Chromedriver are installed manually inside the container.
I can just sent it to a Slack channel as a CSV , not PNG not no other.
Environment
• Architecture: ARM64 (aarch64) — AWS Graviton worker nodes
• Superset version: 3.x / latest Docker image
• Python: 3.10
• Selenium: bundled with official Superset image
• Chromium + chromedriver manually installed in /usr/bin
• Reports & Alerts enabled and Celery working
• Error occurs in both superset-worker and superset-celerybeat
### Screenshots/recordings
```
[2025-12-07 15:53:00,352: WARNING/ForkPoolWorker-1]
/app/.venv/lib/python3.10/site-packages/snowflake/sqlalchemy/base.py:1068:
SAWarning: The GenericFunction 'flatten' is already registered and is going to
be overridden.
functions.register_function("flatten", flatten)
[2025-12-07 15:53:00,416: ERROR/ForkPoolWorker-1] A downstream exception
occurred while generating a report: 3f764eef-245a-41e8-ae06-544bbaededd0.
Failed taking a screenshot Message: Unable to obtain driver for chrome; For
documentation on this error, please visit:
https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
Traceback (most recent call last):
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/common/driver_finder.py",
line 67, in _binary_paths
output = SeleniumManager().binary_paths(self._to_args())
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/common/selenium_manager.py",
line 47, in binary_paths
args = [str(self._get_binary())] + args
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/common/selenium_manager.py",
line 94, in _get_binary
raise WebDriverException(f"Unsupported platform/architecture
combination: {sys.platform}/{arch}")
selenium.common.exceptions.WebDriverException: Message: Unsupported
platform/architecture combination: linux/aarch64
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/superset/commands/report/execute.py", line 375, in
_get_screenshots
if imge := screenshot.get_screenshot(user=user):
File "/app/superset/utils/screenshots.py", line 179, in get_screenshot
self.screenshot = driver.get_screenshot(self.url, self.element, user)
File "/app/superset/utils/webdriver.py", line 463, in get_screenshot
driver = self.auth(user)
File "/app/superset/utils/webdriver.py", line 387, in auth
driver = self.create()
File "/app/superset/utils/webdriver.py", line 384, in create
return driver_class(**kwargs)
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/chrome/webdriver.py",
line 45, in __init__
super().__init__(
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/chromium/webdriver.py",
line 51, in __init__
if finder.get_browser_path():
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/common/driver_finder.py",
line 47, in get_browser_path
return self._binary_paths()["browser_path"]
File
"/app/.venv/lib/python3.10/site-packages/selenium/webdriver/common/driver_finder.py",
line 78, in _binary_paths
raise NoSuchDriverException(msg) from err
selenium.common.exceptions.NoSuchDriverException: Message: Unable to obtain
driver for chrome; For documentation on this error, please visit:
https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/superset/tasks/scheduler.py", line 125, in execute
).run()
File "/app/superset/utils/decorators.py", line 267, in wrapped
return on_error(ex)
File "/app/superset/utils/decorators.py", line 232, in on_error
raise ex
File "/app/superset/utils/decorators.py", line 260, in wrapped
result = func(*args, **kwargs)
File "/app/superset/commands/report/execute.py", line 956, in run
).run()
File "/app/superset/utils/decorators.py", line 256, in wrapped
return func(*args, **kwargs)
File "/app/superset/commands/report/execute.py", line 917, in run
).next()
File "/app/superset/commands/report/execute.py", line 746, in next
self.send()
File "/app/superset/commands/report/execute.py", line 644, in send
notification_content = self._get_notification_content()
File "/app/superset/commands/report/execute.py", line 529, in
_get_notification_content
pdf_data = self._get_pdf()
File "/app/superset/commands/report/execute.py", line 393, in _get_pdf
screenshots = self._get_screenshots()
File "/app/superset/commands/report/execute.py", line 381, in
_get_screenshots
raise ReportScheduleScreenshotFailedError(
superset.commands.report.exceptions.ReportScheduleScreenshotFailedError:
Failed taking a screenshot Message: Unable to obtain driver for chrome; For
documentation on this error, please visit:
https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
```
### Superset version
master / latest-dev
### Python version
3.9
### Node version
16
### Browser
Chrome
### Additional context
_No response_
### Checklist
- [ ] I have searched Superset docs and Slack and didn't find a solution to
my problem.
- [ ] I have searched the GitHub issue tracker and didn't find a similar bug
report.
- [ ] I have checked Superset's logs for errors and if I found a relevant
Python stacktrace, I included it here as text in the "additional context"
section.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]