From b45874a2164b152c6a82bedfd282f42e48d57134 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Tue, 4 Mar 2025 13:54:46 -0500 Subject: [PATCH] Show frames when decode is handed bad input --- tractor/msg/_ops.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tractor/msg/_ops.py b/tractor/msg/_ops.py index 615ad0c..dc63221 100644 --- a/tractor/msg/_ops.py +++ b/tractor/msg/_ops.py @@ -258,6 +258,9 @@ class PldRx(Struct): f'|_pld={pld!r}\n' ) return pld + except TypeError as typerr: + __tracebackhide__: bool = False + raise typerr # XXX pld-value type failure except ValidationError as valerr: @@ -799,6 +802,11 @@ def validate_payload_msg( roundtripped: Started|None = None try: roundtripped: Started = codec.decode(msg_bytes) + except TypeError as typerr: + __tracebackhide__: bool = False + raise typerr + + try: ctx: Context = getattr(ipc, 'ctx', ipc) pld: PayloadT = ctx.pld_rx.decode_pld( msg=roundtripped, @@ -823,6 +831,11 @@ def validate_payload_msg( ) raise ValidationError(complaint) + # usually due to `.decode()` input type + except TypeError as typerr: + __tracebackhide__: bool = False + raise typerr + # raise any msg type error NO MATTER WHAT! except ValidationError as verr: try: