-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Labels
Description
Bug description
When I try to upload an Artifactory XRAY on demand binary scan json-ouput to DefectDojo. I got a HTML 500 error. When I look into the engagement, I see that only 50% is processed before failing.
It looks like some strings are to long for the parser.
Steps to reproduce
Upload the JSON into DefectDojo.
Expected behavior
That the json is fully imported and processed by DefectDojo instead of just 50%
Deployment method (select with an X)
- Podman Compose
Environment information
- Operating System: MacOS Tahoe 26.3
- Docker Compose or Helm version: podman version 5.7.1
- DefectDojo version (see footer) or commit message: 2.55.3
Logs
[23/Feb/2026 08:17:50] INFO [celery.app.trace:128] Task dojo.importers.endpoint_manager.add_endpoints_to_unsaved_finding[aad8a383-1336-40c4-97ec-8da1883ecd4b] succeeded in 8.028899992496008e-05s: None
[23/Feb/2026 08:17:50] INFO [celery.app.trace:128] Task dojo.importers.endpoint_manager.add_endpoints_to_unsaved_finding[c984d862-caa2-4fbf-bf8d-fbc37c07b6fe] succeeded in 7.54560001041682e-05s: None
[23/Feb/2026 08:17:50] INFO [celery.app.trace:128] Task dojo.importers.endpoint_manager.add_endpoints_to_unsaved_finding[a3e846c3-c55b-4b7e-a1e0-646c8ef950a3] succeeded in 8.44150001739763e-05s: None
[23/Feb/2026 08:17:50] ERROR [dojo.api_v2.exception_handler:49] value too long for type character varying(255)
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/django/db/models/query.py", line 948, in get_or_create
return self.get(**kwargs), False
~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/query.py", line 635, in get
raise self.model.DoesNotExist(
"%s matching query does not exist." % self.model._meta.object_name
)
dojo.models.Finding_Group.DoesNotExist: Finding_Group matching query does not exist.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/psycopg/cursor.py", line 117, in execute
raise ex.with_traceback(None)
psycopg.errors.StringDataRightTruncation: value too long for type character varying(255)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/rest_framework/views.py", line 512, in dispatch
response = handler(request, *args, **kwargs)
File "/usr/local/lib/python3.13/site-packages/rest_framework/mixins.py", line 19, in create
self.perform_create(serializer)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
File "/app/dojo/api_v2/views.py", line 2607, in perform_create
serializer.save(push_to_jira=push_to_jira)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/dojo/api_v2/serializers.py", line 2605, in save
self.process_scan(data, context)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/app/dojo/api_v2/serializers.py", line 2419, in process_scan
context["test"], _, _, _, _, _, _ = importer.process_scan(
~~~~~~~~~~~~~~~~~~~~~^
context.pop("scan", None),
^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/app/dojo/importers/default_importer.py", line 114, in process_scan
new_findings = self.determine_process_method(parsed_findings, **kwargs)
File "/app/dojo/importers/base_importer.py", line 303, in determine_process_method
return self.sync_process_findings(
~~~~~~~~~~~~~~~~~~~~~~~~~~^
parsed_findings,
^^^^^^^^^^^^^^^^
**kwargs,
^^^^^^^^^
)
^
File "/app/dojo/importers/base_importer.py", line 296, in sync_process_findings
return self.process_findings(parsed_findings, **kwargs)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/dojo/importers/default_importer.py", line 282, in process_findings
finding_helper.add_findings_to_auto_group(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
group_name,
^^^^^^^^^^^
...<3 lines>...
**kwargs,
^^^^^^^^^
)
^
File "/app/dojo/finding/helper.py", line 365, in add_findings_to_auto_group
finding_group, created = Finding_Group.objects.get_or_create(test=test, creator=creator, name=name)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/query.py", line 955, in get_or_create
return self.create(**params), True
~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/query.py", line 665, in create
obj.save(force_insert=True, using=self.db)
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django_extensions/db/models.py", line 28, in save
super().save(**kwargs)
~~~~~~~~~~~~^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/base.py", line 902, in save
self.save_base(
~~~~~~~~~~~~~~^
using=using,
^^^^^^^^^^^^
...<2 lines>...
update_fields=update_fields,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/django/db/models/base.py", line 1008, in save_base
updated = self._save_table(
raw,
...<4 lines>...
update_fields,
)
File "/usr/local/lib/python3.13/site-packages/django/db/models/base.py", line 1169, in _save_table
results = self._do_insert(
cls._base_manager, using, fields, returning_fields, raw
)
File "/usr/local/lib/python3.13/site-packages/django/db/models/base.py", line 1210, in _do_insert
return manager._insert(
~~~~~~~~~~~~~~~^
[self],
^^^^^^^
...<3 lines>...
raw=raw,
^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/query.py", line 1873, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/models/sql/compiler.py", line 1882, in execute_sql
cursor.execute(sql, params)
~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/backends/utils.py", line 79, in execute
return self._execute_with_wrappers(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
sql, params, many=False, executor=self._execute
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.13/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.13/site-packages/pghistory/runtime.py", line 136, in _inject_history_context
return _execute_wrapper(execute(sql, params, many, context))
~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/backends/utils.py", line 100, in _execute
with self.db.wrap_database_errors:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/django/db/utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.13/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/psycopg/cursor.py", line 117, in execute
raise ex.with_traceback(None)
django.db.utils.DataError: value too long for type character varying(255)
Sample scan files
See json attachment:
Reactions are currently unavailable
