scriptotek / alma-slipsomat

Tool for syncing Alma letters XSL files with a local folder
MIT License
15 stars 10 forks source link

slipsomat bailing out on firefox startup #26

Closed th122 closed 7 years ago

th122 commented 7 years ago

As of last week, slipsomat barfed when set upon our sandbox. The production environment was still able to start, so with little time at my hands I ignored the somnolent dragon and crossed my fingers. Of course, another weekend happened, and on Tuesday the production environment displayed the same nausea... So, as of this week, something seems to be broken.

  File "/usr/local/bin/slipsomat", line 11, in <module>
    load_entry_point('slipsomat==0.1.0', 'console_scripts', 'slipsomat')()
  File "build/bdist.macosx-10.11-x86_64/egg/slipsomat/slipsomat.py", line 831, in main
  File "build/bdist.macosx-10.11-x86_64/egg/slipsomat/slipsomat.py", line 158, in connect
  File "build/bdist.macosx-10.11-x86_64/egg/slipsomat/slipsomat.py", line 134, in get_driver
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 155, in __init__
    keep_alive=True)
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 183, in start_session
    self.capabilities = response['value']
KeyError: 'value'

So far I'm clueless. Just for giggles I tried with Firefox Versions 47.0, 49.0.1 and 53.0 (by setting firefox_path) to no avail.

danmichaelo commented 7 years ago

I got the same error now. Upgrading selenium from 3.3.1 to 3.4.1 resulted in a new error:

Traceback (most recent call last):
  File "/Users/danmichael/.pyenv/versions/3.5.1/bin/slipsomat", line 11, in <module>
    load_entry_point('slipsomat', 'console_scripts', 'slipsomat')()
  File "/Users/danmichael/projects/scriptotek/alma-slipsomat/slipsomat/slipsomat.py", line 829, in main
    browser.connect()
  File "/Users/danmichael/projects/scriptotek/alma-slipsomat/slipsomat/slipsomat.py", line 157, in connect
    self.driver.set_window_size(1000, 800)
  File "/Users/danmichael/.pyenv/versions/3.5.1/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 892, in set_window_size
    'windowHandle': windowHandle})
  File "/Users/danmichael/.pyenv/versions/3.5.1/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in execute
    self.error_handler.check_response(response)
  File "/Users/danmichael/.pyenv/versions/3.5.1/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: setWindowRect

which seems to be this one: https://github.com/mozilla/geckodriver/issues/676

But after also upgrading geckodriver to 0.16.1 and Firefox to 53, the error went away 🎉

th122 commented 7 years ago

Did a lot of updating and ended up with firefox startup running into a timeout as described in #27

Opening instance ...
Logging in as ...
Traceback (most recent call last):
  File "/usr/local/bin/slipsomat", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/slipsomat/slipsomat.py", line 829, in main
    browser.connect()
  File "/usr/local/lib/python3.6/site-packages/slipsomat/slipsomat.py", line 168, in connect
    element = wait.until(EC.visibility_of_element_located((By.ID, 'org')))
  File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/support/wait.py", line 80, in until
    raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:

(SAML login gets called, and proceeds successfully while slipsomat bails on the side)

From the geckodriver log

###!!! [Parent][DispatchAsyncMessage] Error: PLayerTransaction::Msg_ReleaseLayer Processing error: message was deserialized, but the handler returned false (indicating failure)
###!!! [Child][MessageChannel] Error: (msgtype=0x4400A8,name=PContent::Msg_ConsoleMessage) Channel closing: too late to send/recv, messages will be lost
###!!! [Child][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost

Firefox 53.0, geckodriver 0.16.1, selenium-3.4.1