-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Infinite recursion error when testing https sites #655
Comments
Getting the same error for https site
|
Could you provide a minimal locustfile that produces this error? If possible also specify some public host that the test can be run against. I was unable to reproduce it on Python 3.5 against https://google.com. |
Oh, just realised that the two issues you linked were related to Python 3.6. Will try to reproduce with that. |
$ cat locustfile.py
from locust import HttpLocust, TaskSet, task
class HttpsTestBehaviour(TaskSet):
@task(1)
def get(self):
self.client.get("/")
class HttpsTest(HttpLocust):
task_set = HttpsTestBehaviour
min_wait = 2
max_wait = 5
$ cat Dockerfile
FROM alpine:3.6
RUN apk -U add ca-certificates python3 python3-dev py3-pip build-base && \
pip3 install locustio==0.8a3 && \
pip3 install pyzmq && \
apk del python3-dev && \
rm -r /var/cache/apk/*
ENTRYPOINT [ "/usr/bin/locust" ]
$ docker build -t local/locust:0.8a3 .
$ docker run --rm --net=host -v $PWD/locustfile.py:/locustfile.py local/locust:0.8a3 -f /locustfile.py --host=https://google.com
# open browser on http://localhost:8089 and watch errors in console |
Found the issue! #651 had changed so that we applied the gevent monkey patching after we import requests which caused the issue. This is fixed in master now, and I'm about to push out a new version on PyPI. |
New version released to PyPI. |
* find locustfile in the root directory * Add ability to write out csv file data as part of command line run * Update minimum version of gevent to fix locustio#598 * CSV flag, review comments * Modify gevent wsgi and libev dependencies * Sort all python imports * Sort setup.py imports * Standardize utf8 file coding declarations * Bump version to 0.8a3 for another pre-release candidate * Changed from deprecated method name * Added test_suite argument to setup.py’s setup() method call Not specifying the test_suite argument (using the default one) resulted in all tests being run multiple times (on Python 3.5). I haven’t looked in to why, since specifying “locust.test” should be correct, and fixes it. * Suppress a warning that appears when running the tests on Python 3, that can cause tests (that depends on output to stderr) to fail. * Apply gevent monkey patching before we import requests, to avoid infinite recursion error when doing SSL requests. Should fix locustio#655. * Also patch threading when applying gevent monkey patch. Should fix locustio#569. * Bumped version to 0.8a4 * Improved changelog * Update main.py Code comment and slightly more descriptive variable name * More info about 0.8 to the Changelog * Added some random examples that maybe could be useful to someone * Bumped version to 0.8 * Upgrade pyzmq to latest stable version, and changed so that we do not pin the version (will make it easier to install Locust on Windows) * Better installation instructions for Windows * Bumped version to 0.8.1
* Prima Update locust base version to 0.8.1 (#70) * find locustfile in the root directory * Add ability to write out csv file data as part of command line run * Update minimum version of gevent to fix locustio#598 * CSV flag, review comments * Modify gevent wsgi and libev dependencies * Sort all python imports * Sort setup.py imports * Standardize utf8 file coding declarations * Bump version to 0.8a3 for another pre-release candidate * Changed from deprecated method name * Added test_suite argument to setup.py’s setup() method call Not specifying the test_suite argument (using the default one) resulted in all tests being run multiple times (on Python 3.5). I haven’t looked in to why, since specifying “locust.test” should be correct, and fixes it. * Suppress a warning that appears when running the tests on Python 3, that can cause tests (that depends on output to stderr) to fail. * Apply gevent monkey patching before we import requests, to avoid infinite recursion error when doing SSL requests. Should fix locustio#655. * Also patch threading when applying gevent monkey patch. Should fix locustio#569. * Bumped version to 0.8a4 * Improved changelog * Update main.py Code comment and slightly more descriptive variable name * More info about 0.8 to the Changelog * Added some random examples that maybe could be useful to someone * Bumped version to 0.8 * Upgrade pyzmq to latest stable version, and changed so that we do not pin the version (will make it easier to install Locust on Windows) * Better installation instructions for Windows * Bumped version to 0.8.1 * Erlangga Add team_configuration property (#72) * add get team configuration * change read json path * Rizal upload json file for team configuration (#68) * enabling json uploading * fix modal ui in upload json * enabling upload on json also * modify ui a bit and avoid duplicated message * unify the function * bug fix team configuration function (#88) * change team_configuration function * update configuration works
Description of issue / feature request
When opening a connection to an HTTPs site, I'm triggering an infinite recursion error:
A similar issue is being discussed at psf/requests#3752 and gevent/gevent#903. Suggestions to update to gevent 1.2 haven't helped.
Environment settings (for bug reports)
The text was updated successfully, but these errors were encountered: