gmr/pamqp

Decoding error

Closed this issue · 1 comments

vazir commented

Python3 picked (binary) Object passed via queue, leads to the following exception (asyncio aiormq amqp client is used):
pamqp is pypy latest - 3.0.1

File ".../lib/python3.8/site-packages/aiormq/base.py", line 27, in __inner
raise self.exception from e
File ...lib/python3.8/site-packages/aiormq/connection.py", line 380, in __reader
weight, channel, frame = await self.__receive_frame()
File ".../lib/python3.8/site-packages/aiormq/connection.py", line 351, in __receive_frame
return pamqp.frame.unmarshal(frame_header + frame_payload)
File "...lib/python3.8/site-packages/pamqp/frame.py", line 83, in unmarshal
return byte_count, channel_id, _unmarshal_header_frame(frame_data)
File "...lib/python3.8/site-packages/pamqp/frame.py", line 171, in _unmarshal_header_frame
content_header.unmarshal(frame_data)
File ".../lib/python3.8/site-packages/pamqp/header.py", line 105, in unmarshal
self.properties.unmarshal(flags, data[12 + offset:])
File ".../lib/python3.8/site-packages/pamqp/base.py", line 197, in unmarshal
consumed, value = decode.by_type(data, data_type)
File ".../lib/python3.8/site-packages/pamqp/decode.py", line 31, in by_type
return decoder(value)
File ".../lib/python3.8/site-packages/pamqp/decode.py", line 328, in field_table
consumed, result = embedded_value(value[offset:])
File ".../lib/python3.8/site-packages/pamqp/decode.py", line 282, in embedded_value
bytes_consumed, temp = TABLE_MAPPINGvalue[0:1]
File ".../lib/python3.8/site-packages/pamqp/decode.py", line 177, in long_str
return length + 4, value[4:length + 4].decode('utf-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte

gmr commented

Without the actual data to example, I can't really help or fix anything here.