django/apache/ubuntu server18.04 openssl not found after package upgrade / libssl.so.1.1: version `OPENSSL_1_1_1' not found

36 views
Skip to first unread message

Volker

unread,
Jun 13, 2019, 9:31:29 PM6/13/19
to Django users
Two days ago my django app which runs on an Ubuntu 18.04.2 LTS server with apache and mod_wsgi in an venv with Python 3.6 throws an exception after https login - as it seems - after a package upgrade.
To my understanding libssl/openssl is causing the error. The error message below states that openssl_1_1_1 is not found. Though it seems to be installed.

Could you guys give me a pointer? Please let me know if I need to provide additional information.

Thanks and cheers!



Two days ago following packages where upgraded:
=====================================
    libelf1:amd64 0.170-0.4 => 0.170-0.4ubuntu0.1
    libglib2.0-0:amd64 2.56.4-0ubuntu0.18.04.2 => 2.56.4-0ubuntu0.18.04.3
    libglib2.0-data:all 2.56.4-0ubuntu0.18.04.2 => 2.56.4-0ubuntu0.18.04.3
    libnss-systemd:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    libpam-systemd:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    libpython3.6-minimal:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    libpython3.6-stdlib:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    libpython3.6:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    libssl1.1:amd64 1.1.0g-2ubuntu4.3 => 1.1.1-1ubuntu2.1~18.04.1
    libsystemd0:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    libudev1:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    openssl:amd64 1.1.0g-2ubuntu4.3 => 1.1.1-1ubuntu2.1~18.04.1
    python3-cryptography:amd64 2.1.4-1ubuntu1.2 => 2.1.4-1ubuntu1.3
    python3-distutils:all 3.6.7-1~18.04 => 3.6.8-1~18.04
    python3-gdbm:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04
    python3-lib2to3:all 3.6.7-1~18.04 => 3.6.8-1~18.04
    python3.6-minimal:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    python3.6-venv:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    python3.6:amd64 3.6.7-1~18.04 => 3.6.8-1~18.04.1
    systemd-sysv:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    systemd:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22
    udev:amd64 237-3ubuntu10.21 => 237-3ubuntu10.22

Login Implementation
================
Im using djangos login views:
settings.py:
    LOGIN_URL = '/accounts/login/'
urls.py:
    path('accounts/', include('django.contrib.auth.urls')),

Error after Login Page of application / and django admin:
========================================
"Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request."

Error in Apache Log
==============
[Thu Jun 13 18:58:10.555937 2019] [wsgi:error] [pid 1274:tid 140451378087680] [client 77.8.21.189:48212] mod_wsgi (pid=1274): Request data read error when proxying data to daemon process: Connection reset by peer.
[Thu Jun 13 20:46:51.186545 2019] [wsgi:error] [pid 1274:tid 140451252197120] [client 217.18.178.226:61510] Truncated or oversized response headers received from daemon process 'fotobau.ourdomain.de': /srv/fotobau/djangoprojekt/wsgi.py, referer: https://www.fotobau.ourdomain/accounts/login/

Unfortunately I failed to obtain a core dump till now.

Though right now I suspect the problem occurs when django tries to receive the https/encrypted user and password. I suspect this because I got another error message!

Another Error in Django Log
====================
Here I got a new error message: The first one ('Exception' is not JSON serializable) is fairly common - though I didn´t manage to fix it till now, it never really bothered.
Though after the package upgrade it raises a new error message (which will raise itself again for 3 times) below - the one with "ImportError: /usr/lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL_1_1_1":

ERROR 2019-06-12 19:57:17,638 log 505 Internal Server Error: /restservice/v1/fotos/
Traceback (most recent call last):
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/base.py", line 154, in _get_response
    response = response.render()
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/template/response.py", line 106, in render
    self.content = self.rendered_content
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/rest_framework/response.py", line 72, in rendered_content
    ret = renderer.render(self.data, accepted_media_type, context)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/rest_framework/renderers.py", line 107, in render
    allow_nan=not self.strict, separators=separators
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/rest_framework/utils/json.py", line 28, in dumps
    return json.dumps(*args, **kwargs)
  File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/rest_framework/utils/encoders.py", line 68, in default
    return super(JSONEncoder, self).default(obj)
  File "/usr/lib/python3.6/json/encoder.py", line 180, in default
    o.__class__.__name__)
TypeError: Object of type 'Exception' is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/deprecation.py", line 91, in __call__
    response = response or self.get_response(request)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/exception.py", line 36, in inner
    response = response_for_exception(request, exc)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/handlers/exception.py", line 95, in response_for_exception
    exc_info=sys.exc_info(),
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/log.py", line 228, in log_response
    exc_info=exc_info,
  File "/usr/lib/python3.6/logging/__init__.py", line 1337, in error
    self._log(ERROR, msg, args, **kwargs)
  File "/usr/lib/python3.6/logging/__init__.py", line 1444, in _log
    self.handle(record)
  File "/usr/lib/python3.6/logging/__init__.py", line 1454, in handle
    self.callHandlers(record)
  File "/usr/lib/python3.6/logging/__init__.py", line 1516, in callHandlers
    hdlr.handle(record)
  File "/usr/lib/python3.6/logging/__init__.py", line 865, in handle
    self.emit(record)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/log.py", line 122, in emit
    self.send_mail(subject, message, fail_silently=True, html_message=html_message)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/log.py", line 125, in send_mail
    mail.mail_admins(subject, message, *args, connection=self.connection(), **kwargs)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/log.py", line 128, in connection
    return get_connection(backend=self.email_backend, fail_silently=True)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/mail/__init__.py", line 34, in get_connection
    klass = import_string(backend or settings.EMAIL_BACKEND)
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/utils/module_loading.py", line 17, in import_string
    module = import_module(module_path)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/eidle/.virtualenvs/fotobau/lib/python3.6/site-packages/django/core/mail/backends/smtp.py", line 4, in <module>
    import ssl
  File "/usr/lib/python3.6/ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: /usr/lib/x86_64-linux-gnu/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so)



Installed libssl/openssl
=================
But openssl ist installed:

apt list -a libssl1.1
Listing... Done
libssl1.1/bionic-updates,bionic-updates,now 1.1.1-1ubuntu2.1~18.04.1 amd64 [installed]
libssl1.1/bionic-security,bionic-security 1.1.0g-2ubuntu4.3 amd64
libssl1.1/bionic,bionic 1.1.0g-2ubuntu4 amd64

apt list -a openssl
openssl/bionic-updates,bionic-updates,now 1.1.1-1ubuntu2.1~18.04.1 amd64 [installed]
openssl/bionic-security,bionic-security 1.1.0g-2ubuntu4.3 amd64
openssl/bionic,bionic 1.1.0g-2ubuntu4 amd64


The python part is confusing me right now:

apt list -a python3
Listing... Done
python3/bionic-updates,bionic-updates,now 3.6.7-1~18.04 amd64 [installed]
python3/bionic,bionic 3.6.5-3 amd64

But:
apt list -a python3.6
Listing... Done
python3.6/bionic-updates,bionic-updates,now 3.6.8-1~18.04.1 amd64 [installed]
python3.6/bionic,bionic 3.6.5-3 amd64

And when I run:

python3
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.

And in the venv:
(fotobau) eidle@test:/$ python
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux


Reply all
Reply to author
Forward
0 new messages