Python 3.x 使用TCHA时uWSGI分段错误
我在我的服务器(Ubuntu18.04.2 LTS)上使用Tcha功能时遇到问题。在我的本地机器上,一切正常,但当我在服务器上运行同一个项目时,在我打勾后,验证ReCaptcha时失败 日志: 我在服务器和本地机器上都使用Python 3.7。已安装的库列表:Python 3.x 使用TCHA时uWSGI分段错误,python-3.x,docker,nginx,flask,uwsgi,Python 3.x,Docker,Nginx,Flask,Uwsgi,我在我的服务器(Ubuntu18.04.2 LTS)上使用Tcha功能时遇到问题。在我的本地机器上,一切正常,但当我在服务器上运行同一个项目时,在我打勾后,验证ReCaptcha时失败 日志: 我在服务器和本地机器上都使用Python 3.7。已安装的库列表: bcrypt==3.1.7 certifi==2019.11.28 cffi==1.13.2 chardet==3.0.4 Click==7.0 dnspython==1.16.0 Flask==1.1.1 Flask-Bcrypt==0
bcrypt==3.1.7
certifi==2019.11.28
cffi==1.13.2
chardet==3.0.4
Click==7.0
dnspython==1.16.0
Flask==1.1.1
Flask-Bcrypt==0.7.1
Flask-Login==0.4.1
Flask-ReCaptcha==0.4.2
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10.3
MarkupSafe==1.1.1
mysql-connector-python==8.0.19
protobuf==3.6.1
pycparser==2.19
PyYAML==5.3
requests==2.22.0
six==1.13.0
urllib3==1.25.8
Werkzeug==0.16.0
uwsgi.ini
[uwsgi]
module = antifraud_dashboard
callable = app
Dockerfile
FROM tiangolo/uwsgi-nginx-flask:python3.7
VOLUME /app
WORKDIR /app
COPY requirements.txt .
RUN echo "uwsgi_read_timeout 600s;" > /etc/nginx/conf.d/custom_timeout.conf
RUN pip install -r requirements.txt
更新:
UWSGI\u LAZY\u APPS=1
似乎没有效果,但在设置PYTHONFAULTHANDLER=1
后,我得到了以下回溯:
antifraud-dashboard_1 | Fatal Python error: Segmentation fault
antifraud-dashboard_1 |
antifraud-dashboard_1 | Current thread 0x00007f3bb4296780 (most recent call first):
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/socket.py", line 748 in getaddrinfo
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 61 in create_connection
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 157 in _new_conn
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 300 in connect
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994 in _validate_conn
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376 in _make_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672 in urlopen
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449 in send
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646 in send
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533 in request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 60 in request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 75 in get
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask_recaptcha.py", line 80 in verify
antifraud-dashboard_1 | File "./antifraud_dashboard.py", line 94 in login_user
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935 in dispatch_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949 in full_dispatch_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446 in wsgi_app
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2463 in __call__
PYTHONFAULTHANDLER
环境变量设置为某个值,例如1
,您可能会得到一个回溯()uWSGI\u LAZY\u APPS
env variable设置为1
。默认情况下,uWSGI执行fork()-without-exec(),这会导致崩溃和神秘的bug。在这种情况下,这可能不是问题,但仍然需要解决更新了一个带有回溯的问题不确定uWSGI的env变量如何与uWSGI配置文件交互,因此值得尝试将其设置为配置选项。
antifraud-dashboard_1 | Fatal Python error: Segmentation fault
antifraud-dashboard_1 |
antifraud-dashboard_1 | Current thread 0x00007f3bb4296780 (most recent call first):
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/socket.py", line 748 in getaddrinfo
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 61 in create_connection
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 157 in _new_conn
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 300 in connect
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994 in _validate_conn
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376 in _make_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672 in urlopen
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449 in send
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646 in send
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533 in request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 60 in request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 75 in get
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask_recaptcha.py", line 80 in verify
antifraud-dashboard_1 | File "./antifraud_dashboard.py", line 94 in login_user
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935 in dispatch_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949 in full_dispatch_request
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446 in wsgi_app
antifraud-dashboard_1 | File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2463 in __call__