denshoproject / ddr-local

Web UI used for interacting with DDR collections and entities on a local machine.
Other
3 stars 0 forks source link

EncodeError when generating new access files for binaries on 5.0.9 ddr local #286

Closed pkikawa closed 4 years ago

pkikawa commented 4 years ago

testing 5.0.3 ddrlocal-master. vm running at hq on workstation Entiat. clicking Generate New Access File on a binary results in a EncodeError

celeryd.log local.log EncodeError at _ui_file_ddr-testing-40376-1-mezzanine-2d921c4581_newaccess.zip

Edit: Still present in 5.0.9

pkikawa commented 4 years ago

similar issue: https://github.com/denshoproject/ddr-local/issues/238

gjost commented 4 years ago

Fixed in ddr-local commit c7315c7 and ddr-cmdln commit 786558b for package ddrlocal-master_5.0.4~deb10.

pkikawa commented 4 years ago

Tasks Workbench DDR.zip

nicer failing behavior this time: throws a failure in the gitstatus header whihc is included above ^^

pkikawa commented 4 years ago

gitstatus.log

local.log

gjost commented 4 years ago

Did you restart the app after upgrading? sudo service supervisor restart

pkikawa commented 4 years ago

yup. restarted the app and vm and got the failure

pkikawa commented 4 years ago

wrongly closed!

gjost commented 4 years ago

I acknowledge that the app previously threw a EncodeError when I first responded to this issue, but I'm currently unable to duplicate this in my local. I tested this just now, using ddr-local f8d9c1c and ddr-cmdln 8e0bdeb

I manually deleted an access file.

(ddrlocal) ddr@denshodeb10:/var/www/media/ddr/ddr-testing-40355$ git rm
/var/www/media/ddr/ddr-testing-40355/files/ddr-testing-40355-1/files/ddr-testing-40355-1-mezzanine-f4b3875ad4-a.jpg
rm
'files/ddr-testing-40355-1/files/ddr-testing-40355-1-mezzanine-f4b3875ad4-a.jpg'
(ddrlocal) ddr@denshodeb10:/var/www/media/ddr/ddr-testing-40355$ git commit
-m "deleting access file"
[master 844d146] deleting access file
 1 file changed, 1 deletion(-)
 delete mode 120000
files/ddr-testing-40355-1/files/ddr-testing-40355-1-mezzanine-f4b3875ad4-a.jpg

I verified that the image on the file page ( http://ddrlocal.local/ui/file/ddr-testing-40355-1-mezzanine-f4b3875ad4/) was in fact missing. I then clicked [Generate New Access File] and immediately generated a new access file. I could see the new file in my browser and in the filesystem, and could see the "SUCCESS: Generated new access file for ddr-testing-40355-1-mezzanine-f4b3875ad4.jpg (ddr-testing-40355-1)." message in the notification area.

GeoffFroh commented 4 years ago

@pkikawa: Please verify that this is fixed in the 5.0.6. Also check large file signatures.

pkikawa commented 4 years ago

still failing with error message of EncodeError("TypeError('Object of type Identifier is not JSON serializable')")

`Traceback (most recent call last): File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 50, in _reraise_errors yield File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 221, in dumps payload = encoder(data) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/utils/json.py", line 70, in dumps dict(default_kwargs, kwargs)) File "/usr/lib/python3.7/json/init.py", line 238, in dumps **kw).encode(obj) File "/usr/lib/python3.7/json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python3.7/json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/utils/json.py", line 59, in default return super(JSONEncoder, self).default(o) File "/usr/lib/python3.7/json/encoder.py", line 179, in default raise TypeError(f'Object of type {o.class.name} ' TypeError: Object of type Identifier is not JSON serializable

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/app/trace.py", line 480, in trace_task uuid, retval, task_request, publish_result, File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/backends/base.py", line 158, in mark_as_done self.store_result(task_id, result, state, request=request) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/backends/base.py", line 443, in store_result request=request, kwargs) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/backends/base.py", line 861, in _store_result self._set_with_state(self.get_key_for_task(taskid), self.encode(meta), state) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/backends/base.py", line 332, in encode , _, payload = self._encode(data) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/celery/backends/base.py", line 336, in _encode return dumps(data, serializer=self.serializer) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 221, in dumps payload = encoder(data) File "/usr/lib/python3.7/contextlib.py", line 130, in exit self.gen.throw(type, value, traceback) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 54, in _reraise_errors reraise(wrapper, wrapper(exc), sys.exc_info()[2]) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/vine/five.py", line 194, in reraise raise value.with_traceback(tb) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 50, in _reraise_errors yield File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/serialization.py", line 221, in dumps payload = encoder(data) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/utils/json.py", line 70, in dumps dict(default_kwargs, kwargs)) File "/usr/lib/python3.7/json/init.py", line 238, in dumps kw).encode(obj) File "/usr/lib/python3.7/json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python3.7/json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "/opt/ddr-local/venv/ddrlocal/lib/python3.7/site-packages/kombu/utils/json.py", line 59, in default return super(JSONEncoder, self).default(o) File "/usr/lib/python3.7/json/encoder.py", line 179, in default raise TypeError(f'Object of type {o.class.name} ' kombu.exceptions.EncodeError: Object of type Identifier is not JSON serializable`

gjost commented 4 years ago

Fixed in ddr-local commit 6908694 and ddr-cmdln commit 10abd5c for package ddrlocal-master_5.0.11~deb10.

pkikawa commented 4 years ago

tested and working in 5.0.11