Bug #9633

Uncaught exception when creating METS

Added by Justin Simpson about 6 years ago.

Status:NewStart date:03/29/2016
Priority:MediumDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Google Code Legacy ID: Pull Request:
Sponsored:No Requires documentation:

Description

problem: a SIP includes a metadata.csv that contains one or more non-utf8 characters. When the 'generate METS' microservice is running, there is an uncaught exception. The microservice continues to show as 'executing' to the user, even though it has failed, and no work is being done.

Example exception:

ERROR 2016-03-29 10:43:47 archivematica.mcp.server:utils:wrapped:15: Uncaught exception
Traceback (most recent call last):
File "/opt/archivematica/archivematica/src/MCPServer/lib/utils.py", line 13, in wrapped
return fn(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django_mysqlpool/__init__.py", line 10, in wrapper
return f(*args, **kwargs)
File "/opt/archivematica/archivematica/src/MCPServer/lib/taskStandard.py", line 88, in performTask
self.check_request_status(completed_job_request)
File "/opt/archivematica/archivematica/src/MCPServer/lib/taskStandard.py", line 97, in check_request_status
self.linkTaskManager.taskCompletedCallBackFunction(self)
File "/opt/archivematica/archivematica/src/MCPServer/lib/linkTaskManagerDirectories.py", line 79, in taskCompletedCallBackFunction
databaseFunctions.logTaskCompletedSQL(task)
File "/usr/lib/archivematica/archivematicaCommon/databaseFunctions.py", line 236, in logTaskCompletedSQL
task.save()
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 589, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 617, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 679, in _save_table
forced_update)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 723, in _do_update
return filtered._update(values) > 0
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 600, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 1005, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 787, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/utils.py", line 65, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 129, in execute
return self.cursor.execute(query, args)
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 176, in execute
if not self._defer_warnings: self._warning_check()
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 92, in _warning_check
warn(w[-1], self.Warning, 3)
Warning: Invalid utf8 character string: '852220'

Also available in: Atom PDF