Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix callback error reporting #821

Merged
merged 6 commits into from
Jul 15, 2019
Merged

Fix callback error reporting #821

merged 6 commits into from
Jul 15, 2019

Conversation

alexcjohnson
Copy link
Collaborator

@alexcjohnson alexcjohnson commented Jul 13, 2019

#753 simplified the base Component class to prohibit fewer prop names - but the keys method was actually being used, leading to #791. Easy to replace it with a list comprehension (which calls __iter__ under the hood).

  • I have run the tests locally and they passed. (refer to testing section in contributing)
  • I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR
  • I have added entry in the CHANGELOG.md

@alexcjohnson alexcjohnson requested a review from byronz as a code owner July 13, 2019 14:00
)
except WebDriverException:
if not i:
raise
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@byronz I had 3 failures this morning - all from different tests, but with the same message:

WebDriverException: Message: unknown error:
Chrome failed to start: exited abnormally
(unknown error: DevToolsActivePort file doesn't exist)

It's a bit icky to add a blind retry loop like this, but it seemed to work.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had an impression this crash comes always from one specific python version, like 3.7, or 2.7. Might be good to figure out the real root cause, but assuming it's just turbulence from the circleci docker. it's more related to bad timing due to load performance of the selenium server. should we try another approach like the wait.until? with a reasonable small wait time like 0.1s, I believe the next try should work (we can give a more tolerant 1s timeout).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexcjohnson I created another PR to fix the deprecated message with pytest.raises, and I formatted the file with black. so if you can format this test_integration file in this PR, we could avoid a lot potential merge conflicts.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw this in both 2.7 and 3.7. Feel free to dig in more (preferably in another PR so we can get this bugfix merged), but it's not clear to me what we could wait for, seems like this is happening deep inside Selenium.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree, we can leave it now in this PR.


with pytest.raises(NonExistentIdException) as err:
@app.callback(
Output('nuh-uh', 'children'),
Copy link
Contributor

@byronz byronz Jul 15, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor: might be slightly better with a multi-output edge case?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added multi-output in fbec9dc

Copy link
Contributor

@byronz byronz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

@byronz byronz merged commit 11619d6 into master Jul 15, 2019
@byronz byronz deleted the 791-cb-error-fix branch July 15, 2019 13:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants