[Container] PDF generation fails due to crashing chromium
Seemingly, Chromium needs to write to /var/www/ (which does not exist in our Container).
2024-09-04 12:30:12,752 WARNING selenium.webdriver.common.selenium_manager[7]: Cache folder (/var/www/.cache/selenium) cannot be created: Permission denied (os error 13)
2024-09-04 12:30:12,753 WARNING selenium.webdriver.common.selenium_manager[7]: Cache folder (/var/www/.cache/selenium) cannot be created: Permission denied (os error 13)
2024-09-04 12:30:13,297 ERROR celery.app.trace[7]: Task aleksis.core.util.pdf.generate_pdf[d9c7d2eb-b209-4596-a909-28916f4e2194] raised unexpected: SessionNotCreatedException()
Traceback (most recent call last):
File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 453, in trace_task
R = retval = fun(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/celery/app/trace.py", line 736, in __protected_call__
return self.run(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/aleksis/core/util/celery_progress.py", line 158, in _inject_recorder
orig(*args, **kwargs, recorder=recorder)
File "/usr/local/lib/python3.11/dist-packages/aleksis/core/util/pdf.py", line 68, in generate_pdf
_generate_pdf_with_chromium(temp_dir, pdf_path, html_url, lang)
File "/usr/local/lib/python3.11/dist-packages/aleksis/core/util/pdf.py", line 44, in _generate_pdf_with_chromium
driver = webdriver.Chrome(options=chrome_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
super().__init__(command_executor=executor, options=options)
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 212, in __init__
self.start_session(capabilities)
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 299, in start_session
response = self.execute(Command.NEW_SESSION, caps)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/webdriver.py", line 354, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.11/dist-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome failed to start: exited normally.
(session not created: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)