ARMmbed / ARMmbed/mbed-client-for-aws
Increasing size of shadow causes non-descript lwip errors
- Dominant language
- C++
- Stars
- 7
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
### Description of defect
The shadow example works, but if the size of the desired shadow in increased, for example to be the following:
"desired": {
"DemoNumber": 200,
"DemoNumber1": 200,
"DemoNumber2": 200,
"DemoNumber3": 200,
"DemoNumber4": 200,
"DemoNumber5": 200,
"DemoNumber6": 200,
"DemoNumber7": 200,
"DemoNumber8": 200,
"DemoNumber9": 200,
"DemoNumber10": 200,
"DemoNumber11": 200,
"DemoNumber12": 200,
"DemoNumber13": 200,
"DemoNumber15": 200,
"DemoNumber16": 200,
"DemoNumber17": 200,
"DemoNumber18": 200,
"DemoNumber19": 200,
"DemoNumber20": 200,
"DemoNumber21": 200,
"DemoNumber22": 200,
"DemoNumber23": 200,
"DemoNumber24": 200
},
Then the demo will crash with a transportation error.
�[2K�[39m[INFO][Main]: Connecting to the network...�[0m
�[2K�[39m[INFO][Main]: MAC: 82:40:d9:48:7f:c4�[0m
�[2K�[39m[INFO][Main]: Connection Success�[0m
�[2K�[39m[INFO][TLSW]: Closing TLS�[0m
�[2K�[39m[INFO][TLSW]: Starting TLS handshake with a2fgq3ae82p7vl-ats.iot.us-east-2.amazonaws.com�[0m
�[2K�[39m[INFO][TLSW]: TLS connection to a2fgq3ae82p7vl-ats.iot.us-east-2.amazonaws.com established�[0m
�[2K�[39m[INFO][TLSW]: Certificate verification passed�[0m
�[2K�[39m[INFO][AWS SDK]: Packet received. ReceivedBytes=2.�[0m
�[2K�[39m[INFO][AWS SDK]: CONNACK session present bit not set.�[0m
�[2K�[39m[INFO][AWS SDK]: Connection accepted.�[0m
�[2K�[39m[INFO][AWS SDK]: Received MQTT CONNACK successfully from broker.�[0m
�[2K�[39m[INFO][AWS SDK]: MQTT connection established with the broker.�[0m
�[2K�[39m[INFO][Main]: Downloading Shadow Document�[0m
�[2K�[39m[INFO][AWS SDK]: Packet received. ReceivedBytes=3.�[0m
�[2K�[39m[INFO][AWS SDK]: Packet received. ReceivedBytes=3.�[0m
�[2K�[31m[ERR ][TLSW]: mbedtls_ssl_read() failed: -0x7200 (-29184): SSL - An invalid SSL record was received�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT_ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][TLSW]: mbedtls_ssl_read() failed: -0x7200 (-29184): SSL - An invalid SSL record was received�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][Main]: AWSClient::processResponses() failed�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length fail84): SSL - An invalid SSL record was received�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][TLSW]: mbedtls_ssl_read() failed: -0x7200 (-29184): SSL - An invalid SSL record was received�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][Main]: AWSClient::processResponses() failed�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: 84): SSL - An invalid SSL record was received�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: A single byte was not read from the transport: transportStatus=-3012.�[0m
�[2K�[31m[ERR ][Main]: AWSClient::downloadShadowDocument() failed: 4�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: Receiving incoming packet length failed. Status=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWS SDK]: Exiting process loop due to failure: ErrorStatus=MQTTRecvFailed�[0m
�[2K�[31m[ERR ][AWSClient]: MQTT ProcessLoop error: 4�[0m
�[2K�[31m[ERR ][Main]: AWSClient::processResponses() failed�[0m
�[2K�[39m[INFO][AWS SDK]: Disconnected from the broker.�[0m
�[2K�[39m[INFO][TLSW]: Closing TLS�[0m
�[2K�[39m[INFO][Main]: End of the demo�[0m
#### Target(s) affected by this defect ?
FRDM-K64F
#### Toolchain(s) (name and version) displaying this defect ?
MBED 6.13.0, Mbed Studio 1.4.4
#### What version of Mbed-os are you using (tag or sha) ?
mbed-os 6.13.0
#### What version(s) of tools are you using. List all that apply (E.g. mbed-cli)
Mbed studio 1.4.4
#### How is this defect reproduced ?
Create demo project
Configure for Device Shadow
Increase size of shadow until crash is observed, example shadow above in description
Contributor guide
Research direction
The issue names no source file or test; start by reproducing the Device Shadow failure in the demo project on the FRDM-K64F with Mbed OS 6.13.0 and the larger desired document. Trace the AWS SDK, MQTT, and TLS errors during shadow download. Done means the larger shadow no longer causes the transport failure and the shadow document downloads successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, cpp
- Domain
- embedded-iot, networking, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100