LibrePhotos / librephotos

A self-hosted open source photo management service. This is the repository of the backend.
MIT License
6.99k stars 306 forks source link

Always loading persons photos #456

Closed Nerodacles closed 2 years ago

Nerodacles commented 2 years ago

🐛 Bug Report

What Operating system and version is LibrePhotos running on:

Ubuntu 20.04.4 LTS - Latest:Dev

What architecture is LibrePhotos running on:

x64

How is LibrePhotos installed:

Docker

If running via Docker or Kubernetes please list version including docker-compose:

docker-compose version 1.29.2, build 5becea4c Docker version 20.10.7, build 20.10.7-0ubuntu5~20.04.2

Description of issue:

When all images of a person is loaded, the page just shows all photos, and then shows loading again.

How can we reproduce it:

Just add photos to a person, then go to the person, it should first load the images, then a second later show loading... again.

Additional Information:

log.zip

Nerodacles commented 2 years ago

image

derneuere commented 2 years ago

The request failed on the server side. Could you send me the logs from that too?

Nerodacles commented 2 years ago

This is one of them:

Internal Server Error: /api/albums/date/3093/
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.9/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.9/dist-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/code/api/views/albums.py", line 403, in retrieve
    return Response({"results": serializer.data})
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 142, in data
    self._data = self.to_value(self.instance)
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 132, in to_value
    return self._serialize(instance, fields)
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 112, in _serialize
    result = getter(instance)
AttributeError: 'NoneType' object has no attribute 'id'
Nerodacles commented 2 years ago

And the other one that just loads the page is this:

Internal Server Error: /api/albums/date/333/
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.9/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python3.9/dist-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/viewsets.py", line 125, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.9/dist-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
  File "/code/api/views/albums.py", line 403, in retrieve
    return Response({"results": serializer.data})
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 142, in data
    self._data = self.to_value(self.instance)
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 132, in to_value
    return self._serialize(instance, fields)
  File "/usr/local/lib/python3.9/dist-packages/serpy/serializer.py", line 109, in _serialize
    result = getter(self, instance)
  File "/code/api/views/serializers_serpy.py", line 158, in get_items
    photos = paginator.page(page_number)
  File "/usr/local/lib/python3.9/dist-packages/django/core/paginator.py", line 73, in page
    number = self.validate_number(number)
  File "/usr/local/lib/python3.9/dist-packages/django/core/paginator.py", line 55, in validate_number
    raise EmptyPage(_('That page contains no results'))
django.core.paginator.EmptyPage: That page contains no results