specify / specify7

Specify 7
https://www.specifysoftware.org/products/specify-7/
GNU General Public License v2.0
60 stars 36 forks source link

`Data too long for column 'ErrorPolygon'` when georeferencing #2921

Open grantfitzsimmons opened 1 year ago

grantfitzsimmons commented 1 year ago

Specify 7 Crash Report - 2023-01-30T18_44_15.045Z.txt

Full error:

  "responseText": "{\"exception\": \"DataError\", \"message\": 1406, \"data\": \"Data too long for column 'ErrorPolygon' at row 1\", \"traceback\": \"Traceback (most recent call last):\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/mysql/base.py\\\", line 71, in execute\\n    return self.cursor.execute(query, args)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 250, in execute\\n    self.errorhandler(self, exc, value)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/connections.py\\\", line 50, in defaulterrorhandler\\n    raise errorvalue\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 247, in execute\\n    res = self._query(query)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 412, in _query\\n    rowcount = self._do_query(q)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 375, in _do_query\\n    db.query(q)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/connections.py\\\", line 276, in query\\n    _mysql.connection.query(self, query)\\n_mysql_exceptions.DataError: (1406, \\\"Data too long for column 'ErrorPolygon' at row 1\\\")\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/core/handlers/base.py\\\", line 113, in _get_response\\n    response = wrapped_callback(request, *callback_args, **callback_kwargs)\\n  File \\\"/opt/specify7/specifyweb/specify/views.py\\\", line 29, in wrapped\\n    return view(request, *args, **kwargs)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/views/decorators/cache.py\\\", line 31, in _cache_controlled\\n    response = viewfunc(request, *args, **kw)\\n  File \\\"/opt/specify7/specifyweb/specify/views.py\\\", line 62, in view\\n    return dispatch_func(request, *args, **kwargs)\\n  File \\\"/opt/specify7/specifyweb/specify/api.py\\\", line 133, in resource_dispatch\\n    obj = put_resource(request.specify_collection,\\n  File \\\"/usr/lib/python3.8/contextlib.py\\\", line 75, in inner\\n    return func(*args, **kwds)\\n  File \\\"/opt/specify7/specifyweb/specify/api.py\\\", line 613, in put_resource\\n    return update_obj(collection, agent, name, id, version, data)\\n  File \\\"/opt/specify7/specifyweb/specify/api.py\\\", line 640, in update_obj\\n    handle_to_many(collection, agent, obj, data)\\n  File \\\"/opt/specify7/specifyweb/specify/api.py\\\", line 572, in handle_to_many\\n    rel_obj = create_obj(collection, agent, rel_model, rel_data, parent_obj=obj)\\n  File \\\"/opt/specify7/specifyweb/specify/api.py\\\", line 387, in create_obj\\n    autonumber_and_save(collection, agent.specifyuser, obj)\\n  File \\\"/opt/specify7/specifyweb/specify/autonumbering.py\\\", line 28, in autonumber_and_save\\n    obj.save()\\n  File \\\"/opt/specify7/specifyweb/specify/build_models.py\\\", line 55, in save\\n    return super(model, self).save(*args, **kwargs)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/base.py\\\", line 740, in save\\n    self.save_base(using=using, force_insert=force_insert,\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/base.py\\\", line 777, in save_base\\n    updated = self._save_table(\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/base.py\\\", line 870, in _save_table\\n    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/base.py\\\", line 907, in _do_insert\\n    return manager._insert([self], fields=fields, return_id=update_pk,\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/manager.py\\\", line 82, in manager_method\\n    return getattr(self.get_queryset(), name)(*args, **kwargs)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/query.py\\\", line 1186, in _insert\\n    return query.get_compiler(using=using).execute_sql(return_id)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/models/sql/compiler.py\\\", line 1368, in execute_sql\\n    cursor.execute(sql, params)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/utils.py\\\", line 67, in execute\\n    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/utils.py\\\", line 76, in _execute_with_wrappers\\n    return executor(sql, params, many, context)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/utils.py\\\", line 89, in __exit__\\n    raise dj_exc_value.with_traceback(traceback) from exc_value\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/utils.py\\\", line 84, in _execute\\n    return self.cursor.execute(sql, params)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/django/db/backends/mysql/base.py\\\", line 71, in execute\\n    return self.cursor.execute(query, args)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 250, in execute\\n    self.errorhandler(self, exc, value)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/connections.py\\\", line 50, in defaulterrorhandler\\n    raise errorvalue\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 247, in execute\\n    res = self._query(query)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 412, in _query\\n    rowcount = self._do_query(q)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/cursors.py\\\", line 375, in _do_query\\n    db.query(q)\\n  File \\\"/opt/specify7/ve/lib/python3.8/site-packages/MySQLdb/connections.py\\\", line 276, in query\\n    _mysql.connection.query(self, query)\\ndjango.db.utils.DataError: (1406, \\\"Data too long for column 'ErrorPolygon' at row 1\\\")\\n\"}"

Reported By: Chris Whitt at Shell Museum

maxpatiiuk commented 1 year ago

@melton-jason can you check why this error wasn't already caught by the front-end?