**Please describe your problem in detail, if necessary, you can upload the log f…ile through the attachment**:
**Environment**
OS: ubuntu 18.04
EMQ: the images of emqx/emqx:v4.1.1
The output of `docker logs` is as follows
```
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:52:58.023 [error] 101.133.136.70:41332 [MQTT]
Parse failed for function_clause
[{emqx_frame,parse_utf8_string,[<<0>>],[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,419}]},{emqx_frame,parse_packet,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,165}]},{emqx_frame,parse_frame,4,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,142}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<18,1,0,52,0,0,0,0,0,0,21,0,6,1,0,27,0,1,2,0,28,0,12,3,0,40,0,4,255,8,0,1,85,0,0,0,77,83,83,81,76,83,101,114,118,101,114,0,72,15,0,0>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:08.702 [error] 101.133.136.70:43222 [MQTT]
Parse failed for function_clause
[{emqx_frame,parse_packet,[{mqtt_packet_header,0,false,0,false},<<0>>,#{max_size => 1048576,strict_mode => false,version => 4}],[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,164}]},{emqx_frame,parse_frame,4,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,142}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<0,1,0,0,0,19,0,0,0,2,0,0,0,36,0,0,0,11,115,101,114,118,105,99,101,95,109,103,114,0,0,0,0,2,0,0,0,19,1,8,115,99,97,110,110,101,114,32,4,5,99,110,118,100,32,6,0,0,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:09.403 [error] 101.133.136.70:43314 [MQTT]
Parse failed for function_clause
[{emqx_frame,parse_packet,[{mqtt_packet_header,0,false,0,true},<<0,0,4,0,0,182,1,0,0,83,81,76,68,66,50,82,65,0,1,0,0,4,1,1,0,5,0,29,0,136,0,0,0,1,0,0,128,0,0,0,1,9,0,0,0,1,0,0,64,0,0,0,1,9,0,0,0,1,0,0,64,0,0,0,1,8>>,#{max_size => 1048576,strict_mode => false,version => 4}],[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,164}]},{emqx_frame,parse_frame,4,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,142}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<1,194,0,0,0,4,0,0,182,1,0,0,83,81,76,68,66,50,82,65,0,1,0,0,4,1,1,0,5,0,29,0,136,0,0,0,1,0,0,128,0,0,0,1,9,0,0,0,1,0,0,64,0,0,0,1,9,0,0,0,1,0,0,64,0,0,0,1,8,0,0,0,4,0,0,64,0,0,0,1,4,0,0,0,1,0,0,64,0,0,0,64,4,0,0,0,4,0,0,64,0,0,0,1,4,0,0,0,4,0,0,64,0,0,0,1,4,0,0,0,4,0,0,64,0,0,0,1,4,0,0,0,2,0,0,64,0,0,0,1,4,0,0,0,4,0,0,64,0,0,0,1,0,0,0,0,1,0,0,64,0,0,0,0,4,0,0,0,4,0,0,128,0,0,0,1,4,0,0,0,4,0,0,128,0,0,0,1,4,0,0,0,3,0,0,128,0,0,0,1,4,0,0,0,4,0,0,128,0,0,0,1,8,0,0,0,1,0,0,64,0,0,0,1,4,0,0,0,4,0,0,64,0,0,0,1,16,0,0,0,1,0,0,128,0,0,0,1,16,0,0,0,1,0,0,128,0,0,0,1,4,0,0,0,4,0,0,64,0,0,0,1,9,0,0,0,1,0,0,64,0,0,0,1,9,0,0,0,1,0,0,128,0,0,0,1,4,0,0,0,3,0,0,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,1,0,0,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,64,0,0,0,1,0,0,0,0,1,0,0,64,0,0,0,0,32,32,32,32,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:09.837 [error] 101.133.136.70:43444 [MQTT]
Parse failed for function_clause
[{emqx_frame,parse_packet,[{mqtt_packet_header,4,false,1,true},<<105,101,110,116,32,115,116,114,105,110,103,32,102,111,114,32,80,65,82,67,32,118,101,114,115,105,111,110,32,49,32,87,105,114,101,32,69,110,99,114,121,112,116,105,111,110,32,118,101,114,115,105,111,110,32,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0>>,#{max_size => 1048576,strict_mode => false,version => 4}],[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,164}]},{emqx_frame,parse_frame,4,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,142}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<67,108,105,101,110,116,32,115,116,114,105,110,103,32,102,111,114,32,80,65,82,67,32,118,101,114,115,105,111,110,32,49,32,87,105,114,101,32,69,110,99,114,121,112,116,105,111,110,32,118,101,114,115,105,111,110,32,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:10.310 [error] 101.133.136.70:43522 [MQTT]
Parse failed for frame_too_large
[{emqx_frame,parse_remaining_len,5,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,113}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<255,255,255,255,0,0,10,4,160,190,83,3,85,82,0,0,60,0,0,0,5,0,0,0,0,0,0,0,0,0,26,0,60,0,0,0,0,0,10,0,0,0,0,0>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:15.815 [error] 101.133.136.70:44326 [MQTT]
Parse failed for function_clause
[{emqx_frame,parse_packet,[{mqtt_packet_header,0,false,0,false},<<0,1,0>>,#{max_size => 1048576,strict_mode => false,version => 4}],[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,164}]},{emqx_frame,parse_frame,4,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_frame.erl"},{line,142}]},{emqx_connection,parse_incoming,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,508}]},{emqx_connection,handle_msg,2,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,501}]},{emqx_connection,process_msg,3,[{file,"/emqx_rel/_checkouts/emqx/src/emqx_connection.erl"},{line,284}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,259}]}]
Frame data:<<0,3,0,1,0,0,0,0,0,0,0,2,0,0,0,0,15,0>>
(2858239d3dbd@172.17.0.28)1> 2020-07-27 22:53:21.526 [error] 101.133.136.70:45450 [MQTT]
```
Based on [past replies](https://github.com/emqx/emqx/issues/2796#issuecomment-530632566), I used an MQTT message sent as follows
```
import _pickle as cPickle
message = {"test1":"test1","test2":"tes21","testn":{"testx":"testm"}}
client.publish(topic='data/123/appid/type/1/2', payload=cPickle.dumps(message), qos=2)
```
Whether MQTT messages sent in this manner do not comply with EMQX specifications?