-
Notifications
You must be signed in to change notification settings - Fork 314
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
v0.10.0 / Firefox 77.0.1 release #682
Conversation
The missing packages discussed in comment #682 (comment) are missing from
Note that we shouldn't assume this is unusual. Pip has long been recommended users install things in I suspect users who have site packages installed that are incompatible with the conda environment's packages may still see issues when trying to run OpenWPM (I believe @vringar experienced this before?). I wonder if we should write a simple |
........I do agree that openwpm's user base are not software engineers typically so we should be mindful to make things robust.
hmmmm....
I really like the PYTHONNOUSERSITE fix. I do not believe it will be possible to make a conda-activate script, otherwise I would have already as the wierd line that's at the top of all the sh scripts is activating the conda environment for that script. But I may be wrong. |
- crontab==0.22.6 | ||
- flask-cors==3.0.8 | ||
- moto-ext==1.3.15.15 | ||
- subprocess32==3.5.4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i don't believe it's necessary to pin all of these dependencies. but this is a pure gut instinct reaction.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My concern is that overpinning creates future tech debt when packages should be updated to more secure / uptodate versions but we don't know / remember why packages were pinned.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But your comment is clear, so I'm "meh" about it in this case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I take above comments back. I no longer think its necessary to pin localstack at all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I narrowed it down to moto-ext
(at least when I run the tests locally)
I was also wondering whether to pin all of them or just that one. I chose to pin all of them because it took me a while for me to recognize that this was the issue. localstack didn't give a helpful error, and I didn't initially realize that we added some of localstack's dependencies separate from localstack itself. Let's say all of these packages were updated in the future, the user would have to test them 1 by 1 to find the responsible package (or set of packages).
The risk I see if the pinned versions are incompatible with other (non-pinned) python packages. And of course security vulnerabilities, but hopefully GitHub will warn us there and we can update as needed.
I'm secretly hoping we don't have to keep this around too long and can just get rid of localstack (#652).
wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmmmm....They're timing out here too: https://travis-ci.org/github/mozilla/OpenWPM/jobs/699484251
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's two runs associated with each commit - I only successfully re-ran the tests on one. I don't know whether there's a meaningful difference between the two runs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. My apologies. I now see the difference between the two runs. Please ignore all my comments regarding pinning. Glad you've pinned it down to moto-ext. Does this mean we can advance localstack and just pin moto-ext?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glad you've pinned it down to moto-ext. Does this mean we can advance localstack and just pin moto-ext?
Yes looks like it. I just tried it locally and that worked. I'll push a new commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
okay I spoke too soon. I was bitten by my local packages. There are still failures on travis https://travis-ci.org/github/mozilla/OpenWPM/jobs/701020698. I've now re-pinned localstack.
@englehardt, I restarted the tests from just before you pinned localstack. The a_e that were previously failing, now passed. The _s tests that are failing appear to be failing due to xvfb which I doubt has anything to do with localstack. |
I just noticed that pyvirtualdisplay is showing a big version bump in this PR " pyvirtualdisplay=0.2.5" -> "pyvirtualdisplay=1.3.2" which I would at least want to investigate as the source of the xvfb errors. |
The problem is accessing display_port. Which we probably can still do we just need to figure out the new API which is probably something like
|
I don't see how this distinction is important. We shouldn't make assumptions about the user's system setup.
Unfortunately this seems to be the case :-/. I filed #689 to track that.
Yeah I see what you mean. I didn't play around with it, but included this as an option in #689. |
I deleted an unhelpful set of comments from myself. I've never run into this issue before and I attribute that fact, perhaps incorrectly, to the fact that I learned from day 1 as a software engineer that everything should be done in a virtualenv (or equivalent) otherwise you can run into all kind of weirdness. But without the comments I deleted the second thought about being robust lost it's meaning. |
Yes, at least for the time being. This was initially added because long-running crawls would fill the tmp directory with too many lock files and would eventually lead XVFB to fail because it would be assigned a port that already had a lock file. This can probably be fixed by actually shutting down xvfb properly in https://github.com/mozilla/OpenWPM/blob/43922bc18cc458eab3aaea618c1f4bb4b14ccf8f/automation/BrowserManager.py#L503-L512 and not just killing the process like we do right now. |
This sounds good. If we properly shutdown xvfb then even if we have some rogue lock files due to a bad shutdown we certainly wouldn't expect the tmp directory to fill up because if every shutdown isn't shutting down properly then you have other problems. So this seems like a very satisfactory solution. I'm also fine with pinning pyvirtualdisplay to |
sorry pressed the wrong button |
Codecov Report
@@ Coverage Diff @@
## master #682 +/- ##
=========================================
Coverage ? 58.80%
=========================================
Files ? 44
Lines ? 4071
Branches ? 0
=========================================
Hits ? 2394
Misses ? 1677
Partials ? 0
Continue to review full report at Codecov.
|
I followed the steps in the new release checklist for this.