Ошибка сегментации Django при запросе модели в runserver - PullRequest
0 голосов
/ 26 января 2019

Что может привести к тому, что Django увидит ошибку при запросе модели на сервере выполнения, но та же самая модель может быть запрошена точно так же, как в интерактивной оболочке, и не увидит ошибку?

Вот моя трассировка ошибок сегментации с использованием модуля обработчика ошибок в стандартной библиотеке:

Fatal Python error: Segmentation fault

Текущий поток 0x00007f8e533cb700 (сначала самый последний вызов): Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/sql_server/pyodbc/base.py", строка 307 в get_new_connection Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/backends/base/base.py", строка 194 в соединении Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/backends/base/base.py", строка 216 в sure_connection Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/backends/base/base.py", строка 232 в _cursor Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/backends/base/base.py", строка 255 в курсоре Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/backends/base/base.py", строка 577 во временном соединении Файл "/home/myUser/.pyenv/versions/3.5.4/lib/python3.5/contextlib.py", строка 59 в , введите Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/sql_server/pyodbc/base.py", строка 390 в sql_server_version Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/functional.py", строка 37 в получить Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/sql_server/pyodbc/compiler.py", строка 176 в as_sql Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/models/sql/compiler.py", строка 1052 в execute_sql Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/models/query.py", строка 54 в iter Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/models/query.py", строка 1186 в _fetch_all Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/db/models/query.py", строка 268 в iter Файл "/home/myUser/Projects/myProject/ReportApp/api/reports.py", строка 213 в get Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/rest_framework/views.py", строка 492, отправка Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/views/generic/base.py", строка 68 в поле зрения Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/views/decorators/csrf.py", строка 54 в wrapped_view Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/base.py", строка 124 в _get_response Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py", строка 34 во внутренней Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/deprecation.py", строка 91 в , вызов Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py", строка 34 во внутренней Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/deprecation.py", строка 91 в , вызов Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py", строка 34 во внутреннейФайл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/deprecation.py", строка 91 в call File "/home / myUser / .local / share / virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / core / handlers / exception.py ", строка 34 во внутреннем файле" /home/myUser/.local/share / virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / utils / deprecation.py ", строка 91 в , вызов файл" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py ", строка 34 во внутреннем файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/libpython3.5 / site-packages / django / utils / deprecation.py ", строка 91 в call File" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py ", строка 34 во внутреннем файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/Ютаils / deprecation.py ", строка 91 в call File" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py ", строка 34 во внутреннем файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/deprecation.py ", строка 91 в call Файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/handlers/exception.py", строка 34 во внутреннейФайл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/deprecation.py", строка 91 в call File "/home / myUser / .local / share / virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / core / handlers / exception.py ", строка 34 во внутреннем файле" /home/myUser/.local/share / virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / core / handlers / base.py ", строка 78 в файле get_response" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / core / handlers / wsgi.py ", строка 142 в , вызов Файл" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/contrib/staticfiles/handlers.py ", строка 65 в call File" /home/myUser/.pyenv/versions/3.5.4/lib/python3.5 / wsgiref / handlers.py ", строка 137 в рабочем файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/servers/basehttp.py ", строка 194 в файле handle_one_request" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/servers/basehttp.py ", строка 169 вобрабатывать файл "/home/myUser/.pyenv/versions/3.5.4/lib/python3.5/socketserver.py", строка 681 в init файле "/home/myUser/.pyenv/versions/3.5.4 / lib / python3.5 / socketserver.py ", строка 354 в файле finish_request" /home/myUser/.pyenv/versions/3.5.4/lib/python3.5/socketserver.py ", строка 625 в process_request_threadФайл "/home/myUser/.pyenv/versions / 3.5.4 / lib / python3.5 / threading.py ", строка 862 в файле запуска" /home/myUser/.pyenv/versions/3.5.4/lib/python3.5/threading.py ", строка 914в файле _bootstrap_inner "/home/myUser/.pyenv/versions/3.5.4/lib/python3.5/threading.py", строка 882 в файле _bootstrap

, поток 0x00007f8e59eae700 (последний вызов - первым): файл/home/myUser/.pyenv/versions/3.5.4/lib/python3.5/selectors.py ", строка 376 в файле выбора" /home/myUser/.pyenv/versions/3.5.4/lib/python3.5/socketserver.py ", строка 232 в файле serve_forever" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/servers/basehttp.py ", строка213 в рабочем файле "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/management/commands/runserver.py", строка 139 в inner_runФайл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/autoreload.py", строка 225 в оболочке

, поток 0x00007f8e6e6сначала самый последний вызов): файл "/home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/utils/autoreload.py", строка 279 в файле reloader_thread "/home / myUser / .local / share / virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / utils / autoreload.py ", строка 302 в файле python_reloader" /home/myUser/.local/share/virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / utils / autoreload.py ", строка 323 в основном файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib.5 / site-packages / django / core / management / commands / runserver.py ", строка 102 в рабочем файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-пакеты / django / core / management / commands / runserver.py ", строка 95 в файле дескриптора" /home/myUser/.local/share/virtualenvs / myVirtualEnv-vCGrYWCJ / lib / python3.5 / site-packages / django / core / management / base.py ", строка 353 в исполняемом файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/management/commands/runserver.py ", строка 60 в исполняемом файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages / django / core / management / base.py ", строка 316 в файле run_from_argv" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/management/init.py ", строка 375 в исполняемом файле" /home/myUser/.local/share/virtualenvs/myVirtualEnv-vCGrYWCJ/lib/python3.5/site-packages/django/core/management / init .py ", строка 381 в файле execute_from_command_line" manage.py ", строка 15 в ошибке сегментации

Я использую openSuse Linux, python 3.5.4 и Django 2.1.5, с SQL Server в качестве базы данных.Вот модули, которые у меня есть в моей среде:

atomicwrites 1.2.1

attrs 18.2.0

Django 2.1.5

django-corsзаголовки 2.4.0

django-multiselectfield 0.1.8

django-pyodbc-azure 2.1.0.0

djangorestframework 3.9.1

djangorestframework-jwt1.11.0

gunicorn 19.9.0

more-itertools 5.0.0

pathlib2 2.3.3

Подушка 5.4.1

pip 19.0.1

pluggy 0.8.1

psycopg2 2.7.7

py 1.7.0

PyJWT 1.7.1

pyodbc 4.0.25

pytest 4.1.1

pytz 2018.9

reportlab 3.5.13

setuptools 40.6.3

six1.12.0

wheel 0.32.3

XlsxWriter 1.1.2

Я попытался удалить и переустановить среду Pipenv, но все равно выдает эту ошибку сегментации.Я могу запросить модели в рамках подпрограммы, которая продолжает генерировать ошибку сегментации изнутри интерактивной оболочки Django, не вызывая ошибки сегмента.Очень странно.

...