ARMmbed / ARMmbed/mbed-client-for-aws

Increasing size of shadow causes non-descript lwip errors

Open
#23 2 comments 0 reactions 0 assignees View on GitHub
type: bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.