More info I found in the backtrace. I am afraid this points to memory
corruption:
error_messages={
'required': <__proxy__(_proxy____args=('This field is required.',),
_proxy____kw={}) at remote 0x7f40bdf738d0>,
'null': <__proxy__(_proxy____args=('This field may not be null.',),
_proxy____kw={}) at remote 0x7f40bdf73950>,
'invalid': <__proxy__(_proxy____args=('Invalid data. Expected a dictionary,
but got {datatype}.',), _proxy____kw={}) at remote 0x7f40bdf8c450>
}
On Thursday, April 24, 2025 at 4:48:55 PM UTC-4 David Erie wrote:
> Hi, I have a SEGFAULT crash occurring on the order of months and I finally
> got a Python backtrace out of gdb to help track down the root cause. We
> have DRF 3.14.0 running on Python 3.11.7 on Red Hat. Can anyone see a
> problem with this stack trace?
>
> (gdb) py-bt
> Traceback (most recent call first):
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/fields.py",
>
> line 356, in __init__
> self.error_messages = messages
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/fields.py",
>
> line 1553, in __init__
> super().__init__(**kwargs)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/fields.py",
>
> line 655, in __deepcopy__
> return self.__class__(*args, **kwargs)
> File "/usr/lib64/python3.11/copy.py", line 153, in deepcopy
> y = copier(memo)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/fields.py",
>
> line 1575, in __init__
> self.child = kwargs.pop('child', copy.deepcopy(self.child))
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/fields.py",
>
> line 655, in __deepcopy__
> return self.__class__(*args, **kwargs)
> File "/usr/lib64/python3.11/copy.py", line 153, in deepcopy
> y = copier(memo)
> File "/usr/lib64/python3.11/copy.py", line 297, in _reconstruct
> value = deepcopy(value, memo)
> File "/usr/lib64/python3.11/copy.py", line 172, in deepcopy
> y = _reconstruct(x, memo, *rv)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 379, in get_fields
> return copy.deepcopy(self._declared_fields)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 356, in fields
> for key, value in self.get_fields().items():
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/django/utils/functional.py",
>
> line 57, in __get__
> res = instance.__dict__[self.name] = self.func(instance)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 362, in _writable_fields
> for field in self.fields.values():
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 479, in to_internal_value
> for field in fields:
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 426, in run_validation
> value = self.to_internal_value(data)
> File
> "/usr/local/lib/viacontrol/4.0.0/device-manager/lib/python3.11/site-packages/rest_framework/serializers.py",
>
> line 227, in is_valid
> self._validated_data = self.run_validation(self.initial_data)
>
> Thank you for the help.
>
--
You received this message because you are subscribed to the Google Groups
"Django REST framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/django-rest-framework/f21d0f10-17c3-4e96-bb01-83247bf29da5n%40googlegroups.com.