[American Express] [docker] "Chrome failed to start"
Hello,
I have just installed kresus via docker on on NAS (synology) and have addded a couple of bank accounts without issues
but when I add my American express account, it fails trying to execute /usr/bin/chromium
(that is not available since it is a headless server)
Bug report
Woob's version I am using is: 3.1
Kresus's version I am using is: 0.18.1 (bnjbvr/kresus:latest from docker, using the compose file provided in gitlab
Steps to reproduce:
- occurs systematically
- Add an American Express account in Kresus with correct login and password
What I expect:
- Account added and transactions downloaded from American Express website
What I observe:
- failure reported by kresus (long error) => bounce back to add account page
Server logs (if apply):
[2022-09-30T17:19:04.315] [INFO] accounts-manager - Retrieve all accounts from access americanexpress with login XXXXXXX
[2022-09-30T17:19:04.318] [INFO] report-manager - User hasn't enabled daily report.
[2022-09-30T17:19:04.318] [INFO] poller - Reports have been sent.
[2022-09-30T17:19:04.318] [INFO] init - Server is ready, let's start the show!
[2022-09-30T17:19:04.388] [INFO] providers/woob - Calling woob: command accounts...
[2022-09-30T17:19:14.899] [INFO] providers/woob - exited with code 1.
[2022-09-30T17:19:14.900] [INFO] providers/woob - Command returned an error code.
[2022-09-30T17:19:14.977] [INFO] providers/woob - Checking that woob is installed and can actually be called…
[2022-09-30T17:19:14.977] [INFO] providers/woob - Calling woob: command test...
[2022-09-30T17:19:15.275] [INFO] providers/woob - exited with code 0.
[2022-09-30T17:19:15.275] [INFO] providers/woob - OK: woob exited normally with non-empty JSON content.
[2022-09-30T17:19:15.275] [ERROR] providers/woob - Got error while running command "accounts": Unknown error: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: 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.)
.
Traceback (most recent call last):
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 704, in fetch
results['values'] = self.get_accounts()
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 554, in get_accounts
for account in list(self.backend.iter_accounts()):
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/module.py", line 54, in iter_accounts
return self.browser.iter_accounts()
File "/woob/woob/browser/browsers.py", line 993, in inner
browser.do_login()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 534, in do_login
AmericanExpressBrowser.do_login(self, *args, **kwargs)
File "/woob/woob/browser/mfa.py", line 154, in do_double_authentication
self.init_login()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 112, in init_login
self.setup_browser_for_login_request()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 560, in setup_browser_for_login_request
SubSeleniumMixin.do_login(self)
File "/woob/woob/browser/selenium.py", line 827, in do_login
sub_browser = self.create_selenium_browser()
File "/woob/woob/browser/selenium.py", line 824, in create_selenium_browser
return self.SELENIUM_BROWSER(self.config, logger=self.logger, responses_dirname=dirname, proxy=self.PROXIES)
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 498, in __init__
super(AmericanExpressSeleniumFingerprintBrowser, self).__init__(*args, **kwargs)
File "/woob/woob/browser/selenium.py", line 448, in __init__
self._setup_driver(preferences)
File "/woob/woob/browser/selenium.py", line 534, in _setup_driver
self.driver = self.DRIVER(options=options, desired_capabilities=capa, **driver_kwargs)
File "/usr/lib/python3/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: 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.)
[2022-09-30T17:19:15.275] [ERROR] providers/woob - (error code: GENERIC_EXCEPTION)
[2022-09-30T17:19:15.557] [ERROR] controllers/accesses - The access process creation failed, cleaning up...
[2022-09-30T17:19:15.557] [INFO] controllers/accesses - deleting access...
[2022-09-30T17:19:15.772] [ERROR] helpers - when creating a bank access: Unknown error: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: 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.)
.
Traceback (most recent call last):
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 704, in fetch
results['values'] = self.get_accounts()
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 554, in get_accounts
for account in list(self.backend.iter_accounts()):
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/module.py", line 54, in iter_accounts
return self.browser.iter_accounts()
File "/woob/woob/browser/browsers.py", line 993, in inner
browser.do_login()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 534, in do_login
AmericanExpressBrowser.do_login(self, *args, **kwargs)
File "/woob/woob/browser/mfa.py", line 154, in do_double_authentication
self.init_login()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 112, in init_login
self.setup_browser_for_login_request()
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 560, in setup_browser_for_login_request
SubSeleniumMixin.do_login(self)
File "/woob/woob/browser/selenium.py", line 827, in do_login
sub_browser = self.create_selenium_browser()
File "/woob/woob/browser/selenium.py", line 824, in create_selenium_browser
return self.SELENIUM_BROWSER(self.config, logger=self.logger, responses_dirname=dirname, proxy=self.PROXIES)
File "/home/user/data/woob-data/modules/3.1/woob_modules/americanexpress/browser.py", line 498, in __init__
super(AmericanExpressSeleniumFingerprintBrowser, self).__init__(*args, **kwargs)
File "/woob/woob/browser/selenium.py", line 448, in __init__
self._setup_driver(preferences)
File "/woob/woob/browser/selenium.py", line 534, in _setup_driver
self.driver = self.DRIVER(options=options, desired_capabilities=capa, **driver_kwargs)
File "/usr/lib/python3/dist-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/lib/python3/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: 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.)