- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all:
I am trying to reconnect after MQTT disconnected.After several times successful reconnection and I can't reconnect any more. So I print the "_eheap-sbrk_heap_top " to check to RAM size I left everytime I make reconnection . I found it will reduce about 8-12K ram every time I reconnect success. So that may expand how my situation appear . I think it should be the problem of “Recycling resources” part .I hope the team can explain that.
here is my mqtt connect function.
/*
* Open a connection and wait for MQTT_REQUEST_TIMEOUT period to receive a connection open OK event
*/
wiced_result_t aws_mqtt_conn_open( wiced_mqtt_object_t mqtt_obj, wiced_mqtt_callback_t callback )
{
wiced_result_t ret = WICED_SUCCESS;
wiced_interface_t interface = WICED_STA_INTERFACE;
do {
wiced_hostname_lookup( aws_app_info->region, &broker_address, 10000 );
wiced_rtos_delay_milliseconds( 100 );
}
while(GET_IPV4_ADDRESS(broker_address)==0);
WPRINT_APP_INFO(("[MQTT] Connecting to broker %u.%u.%u.%u ...\n\n", (uint8_t)(GET_IPV4_ADDRESS(broker_address) >> 24),
(uint8_t)(GET_IPV4_ADDRESS(broker_address) >> 16),
(uint8_t)(GET_IPV4_ADDRESS(broker_address) >> 8),
(uint8_t)(GET_IPV4_ADDRESS(broker_address) >> 0)));
wiced_mqtt_init( aws_app_info->mqtt_object );
WPRINT_APP_INFO(("[MQTT] Connecting to MQTT Broker...\n"));
ret = wiced_mqtt_connect( mqtt_obj, &broker_address, interface, callback, &security, &conninfo );
if ( ret != WICED_SUCCESS )
{
WPRINT_APP_ERROR(("[MQTT] Failed to connect MQTT Broker\n"));
ret = WICED_ERROR;
goto _AWS_MQTT_CONN_OPEN_END;
}
if ( mqtt_wait_for( WICED_MQTT_EVENT_TYPE_CONNECT_REQ_STATUS, MQTT_REQUEST_TIMEOUT ) != WICED_SUCCESS )
{
WPRINT_APP_ERROR(("[MQTT] Failed to connect MQTT Broker\n"));
ret = WICED_ERROR;
goto _AWS_MQTT_CONN_OPEN_END;
}
WPRINT_APP_INFO(("[MQTT] Successfully connected MQTT Broker\n"));
_AWS_MQTT_CONN_OPEN_END:
return ret;
}
do
{
ret = aws_mqtt_conn_open( app_info.mqtt_object, mqtt_connection_event_cb );
connection_retries++ ;
host_rtos_delay_milliseconds( 1000 );
} while ( ( ret != WICED_SUCCESS ) && ( connection_retries < WICED_MQTT_CONNECTION_NUMBER_OF_RETRIES ) );
- Labels:
-
AWS
-
Web Services
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which version of Wiced SDK are you currently using? In which platform(s) are you getting this problem? After how many MQTT connect-disconnect cycles do you face this issue? I modified the project bluemix_iot to have only MQTT connect-disconnect cycles but I could not reproduce this issue. It would always reconnect successfully. I tested this project in Wiced Studio 4.1 in BCM4343W_AVN. I used the below statements before and after wiced_mqtt_connect()
mi = mallinfo();
printf("sbrk heap size: %7lu\n", (uint32_t)_eheap - (uint32_t)_heap);
printf("sbrk current free: %7lu \n", (uint32_t)_eheap - (uint32_t)sbrk_heap_top);
printf("malloc allocated: %7d\n", mi.uordblks);
printf("malloc free: %7d\n", mi.fordblks);
printf("\ntotal free memory: %7lu\n", mi.fordblks + (uint32_t)_eheap - (uint32_t)sbrk_heap_top);
where the variables were defined as:
extern unsigned char _eheap[];
extern unsigned char *sbrk_heap_top;
volatile struct mallinfo mi;
The statements consistently returned the following print output before and after wiced_mqtt_connect()
sbrk heap size: 98340
sbrk current free: 65528
malloc allocated: 26900
malloc free: 5912
total free memory: 71440
This means that the RAM memory size did not change after reconnection. Can you please provide the code where you actually check the RAM size after reconnection? I need to be able to reproduce this problem. Also do you allocate memory for MQTT object every time you make a reconnection?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for your reply @grsr.
I am using WICED studio 4.1/WICED SDK 3.5.2 and BCM43438.
I have this problem every time I make MQTT connection.
I check the RAM size with command "WPRINT_APP_INFO( ("Free heep: %d\n", (_eheap-sbrk_heap_top)) );"
I defined all the Object about MQTT as GROBLE
static aws_app_info_t *aws_app_info;
static wiced_ip_address_t broker_address;
static wiced_mqtt_pkt_connect_t conninfo;
static wiced_mqtt_security_t security;
static platform_dct_security_t* dct_security = NULL;
static aws_app_info_t app_info;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't find the bluemix_iot project,where is it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HI Cypress Team,
I can confirm memory leak problem mentioned by jackson_lv in SDK 4.1.
Below you can find listing of calls for MQTT open and MQTT close routines (2 full cycles MQTT open-close) and info about mem allocation (malloc_info_command).
As you can see some MQTT close routine (probably mqtt_network_disconnect) do not release all allocated memory by some MQTT open routine (probably mqtt_network_connect).
wiced_result_t mqtt_network_connect( mqtt_socket_t *socket )
{
return wiced_tcp_connect( &socket->socket, &socket->server_ip_address, socket->portnumber, WICED_MQTT_CONNECTION_TIMEOUT );
}
==> allocates about 3kB of RAM but mqtt_network_disconnect (wiced_tcp_disconnect) do not release this allocated memory, so each open-close cycle "eats" 3120 bytes up to "out of memory" event or hang-on system or watchdog reset.
Detailed analyze of wiced_tcp_connect() function indicates that this 3kB of RAM is allocated by wiced_tcp_start_tls() sub-routine. Question is: which closing routine is releasing memory allocated by wiced_tcp_start_tls ?
It is very easy to find and check, so why up to now you have not a solution of problem or some workaround ?
Robert
ARENA | ALLOCATED | NON-INUSE | TOP-MOST | dARENA | dALLOC | LEAK | |
wiced_hostname_lookup | |||||||
###### mqtt_network_init / mqtt_network_init | 27756 | 26900 | 856 | 856 | |||
###### mqtt_network_init / wiced_tcp_create_socket | 27756 | 26900 | 856 | 856 | 0 | 0 | |
###### mqtt_network_init / wiced_tls_init_root_ca_certificates | 31852 | 29148 | 2704 | 2704 | 4096 | 2248 | |
###### mqtt_network_init / wiced_tls_init_identity | 40044 | 31740 | 8304 | 5256 | 8192 | 2592 | |
###### mqtt_network_init / wiced_tls_init_context | 40044 | 31740 | 8304 | 5256 | 0 | 0 | |
###### mqtt_network_init / wiced_tcp_enable_tls | 40044 | 31740 | 8304 | 5256 | 0 | 0 | |
###### mqtt_network_init / mqtt_network_connect | 44140 | 34844 | 9296 | 4736 | 4096 | 3104 | |
###### mqtt_network_init / wiced_tcp_register_callbacks | 44140 | 34844 | 9296 | 4736 | 0 | 0 | |
MQTT connection opened | 44140 | 34844 | 9296 | 4736 | 0 | 0 | |
###### mqtt_network_deinit / mqtt_network_deinit | 44140 | 34844 | 9296 | 4736 | 0 | 0 | |
###### mqtt_network_deinit / wiced_tcp_unregister_callbacks | 44140 | 34844 | 9296 | 4736 | 0 | 0 | |
###### mqtt_network_deinit / mqtt_network_disconnect | 44140 | 34844 | 9296 | 4736 | 0 | 0 | |
###### mqtt_network_deinit / wiced_tls_reset_context | 44140 | 32788 | 11352 | 4736 | 0 | -2056 | |
###### mqtt_network_deinit / wiced_tls_deinit_root_ca_certificates | 44140 | 30020 | 14120 | 8128 | 0 | -2768 | |
###### mqtt_network_deinit / wiced_tcp_delete_socket | 44140 | 30020 | 14120 | 8128 | 0 | 0 | |
MQTT connection closed | 44140 | 30020 | 14120 | 8128 | 0 | 0 | -3120 |
wiced_hostname_lookup | 44140 | 30020 | 14120 | 8128 | 0 | 0 | |
###### mqtt_network_init / mqtt_network_init | 44140 | 30020 | 14120 | 8128 | 0 | 0 | |
###### mqtt_network_init / wiced_tcp_create_socket | 44140 | 30020 | 14120 | 8128 | 0 | 0 | |
###### mqtt_network_init / wiced_tls_init_root_ca_certificates | 44140 | 32268 | 11872 | 8128 | 0 | 2248 | |
###### mqtt_network_init / wiced_tls_init_identity | 44140 | 34860 | 9280 | 6016 | 0 | 2592 | |
###### mqtt_network_init / wiced_tls_init_context | 44140 | 34860 | 9280 | 6016 | 0 | 0 | |
###### mqtt_network_init / wiced_tcp_enable_tls | 44140 | 34860 | 9280 | 6016 | 0 | 0 | |
###### mqtt_network_init / mqtt_network_connect | 48236 | 37972 | 10264 | 5496 | 4096 | 3112 | |
###### mqtt_network_init / wiced_tcp_register_callbacks | 48236 | 37972 | 10264 | 5496 | 0 | 0 | |
MQTT connection opened | 48236 | 37972 | 10264 | 5496 | 0 | 0 | |
###### mqtt_network_deinit / mqtt_network_deinit | 48236 | 37972 | 10264 | 5496 | 0 | 0 | |
###### mqtt_network_deinit / wiced_tcp_unregister_callbacks | 48236 | 37972 | 10264 | 5496 | 0 | 0 | |
###### mqtt_network_deinit / mqtt_network_disconnect | 48236 | 37972 | 10264 | 5496 | 0 | 0 | |
###### mqtt_network_deinit / wiced_tls_reset_context | 48236 | 35908 | 12328 | 5496 | 0 | -2064 | |
###### mqtt_network_deinit / wiced_tls_deinit_root_ca_certificates | 48236 | 33140 | 15096 | 8888 | 0 | -2768 | |
###### mqtt_network_deinit / wiced_tcp_delete_socket | 48236 | 33140 | 15096 | 8888 | 0 | 0 | |
MQTT connection closed | 48236 | 33140 | 15096 | 8888 | 0 | 0 | -3120 |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Cypress,
The results of further investigation:
wiced_mqtt_connect -> mqtt_connection_init -> mqtt_network_init -> mqtt_network_connect -> wiced_tcp_connect (NetX_Duo) -> wiced_tcp_start_tls -> wiced_generic_start_tls_with_ciphers -> ssl_handshake_client_async
ssl_handshake_client_async( &tls_context->context ) allocates memory block but ssl_free(&tls_context->context) releases smaller memory block = MEMORY LEAK !
Beacuse SSL library is closed type, we can not correct that bug and another problems. It seems that BESL memory leak problems has long story (about 2 years) and up to now still not solved!
When you will provide useful BESL library?
Robert
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You probably want to test sdk-4.1.1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
SDK 4.1.1.8 tested - problem still remain !
SDK 4.1.1.8 | ARENA | ALLOCATED | NON-INUSE | TOP-MOST | dARENA | dALLOC | LEAK |
wiced_hostname_lookup | |||||||
MQTT connection opened | 44144 | 34840 | 9304 | 4744 | 16384 | 7944 | |
MQTT connection closed | 44144 | 30016 | 14128 | 8136 | 0 | -4824 | -3120 |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The newest SDK 4.1.1.8 - few MQTT open-close cycles and MQTT connection open error (out of memory)
Starting WICED v4.1.1Platform BCM94343W_AVN initialisedStarted ThreadX v5.6Initialising NetX_Duo v5.7_sp2Creating Packet poolsWWD SDIO interface initialisedWLAN MAC Address : B0:38:29:3D:3A:39
WLAN Firmware : wl0: Jan 10 2017 19:57:03 version 7.45.98.6 (r663489) FWID 01-cf6f763a
wiced_initmalloc_info {
arena: 19568; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 14776; /* total allocated space */
fordblks: 4792; /* total non-inuse space */
keepcost: 4792; /* top-most, releasable (via malloc_trim) space */
};
Joining : HOTSPOT2016Successfully joined : HOTSPOT2016Obtaining IPv4 address via DHCPDHCP CLIENT hostname WICED IPIPv4 network ready IP: 192.168.1.158Setting IPv6 link-local addressIPv6 network ready IP: FE80:0000:0000:0000:B238:29FF:FE3D:3A39join_WIFI()malloc_info {
arena: 19568; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 14776; /* total allocated space */
fordblks: 4792; /* total non-inuse space */
keepcost: 4792; /* top-most, releasable (via malloc_trim) space */
};
mqtt_object = (wiced_mqtt_object_t) mallocmalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 20096; /* total allocated space */
fordblks: 7664; /* total non-inuse space */
keepcost: 7664; /* top-most, releasable (via malloc_trim) space */
};
wiced_mqtt_initmalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 864; /* total non-inuse space */
keepcost: 864; /* top-most, releasable (via malloc_trim) space */
};
resource_get_readonly_buffermalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 864; /* total non-inuse space */
keepcost: 864; /* top-most, releasable (via malloc_trim) space */
};
resource_get_readonly_buffermalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 864; /* total non-inuse space */
keepcost: 864; /* top-most, releasable (via malloc_trim) space */
};
resource_get_readonly_buffermalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 864; /* total non-inuse space */
keepcost: 864; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 54.87.173.19
wiced_hostname_lookupmalloc_info {
arena: 27760; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 864; /* total non-inuse space */
keepcost: 864; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 8; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 34840; /* total allocated space */
fordblks: 9304; /* total non-inuse space */
keepcost: 4744; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 6; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 30016; /* total allocated space */
fordblks: 14128; /* total non-inuse space */
keepcost: 8136; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.44.116.179
wiced_hostname_lookupmalloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 6; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 30016; /* total allocated space */
fordblks: 14128; /* total non-inuse space */
keepcost: 8136; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 48240; /* total space allocated from system */
ordblks: 10; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 37968; /* total allocated space */
fordblks: 10272; /* total non-inuse space */
keepcost: 5504; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 48240; /* total space allocated from system */
ordblks: 11; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 33136; /* total allocated space */
fordblks: 15104; /* total non-inuse space */
keepcost: 8896; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.0.119.10
wiced_hostname_lookupmalloc_info {
arena: 48240; /* total space allocated from system */
ordblks: 11; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 33136; /* total allocated space */
fordblks: 15104; /* total non-inuse space */
keepcost: 8896; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 10; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 41120; /* total allocated space */
fordblks: 11216; /* total non-inuse space */
keepcost: 6464; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 14; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 36280; /* total allocated space */
fordblks: 16056; /* total non-inuse space */
keepcost: 9856; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.44.116.179
wiced_hostname_lookupmalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 14; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 36280; /* total allocated space */
fordblks: 16056; /* total non-inuse space */
keepcost: 9856; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 13; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 44240; /* total allocated space */
fordblks: 8096; /* total non-inuse space */
keepcost: 3136; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 16; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 39408; /* total allocated space */
fordblks: 12928; /* total non-inuse space */
keepcost: 6544; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 54.164.39.189
wiced_hostname_lookupmalloc_info {
arena: 52336; /* total space allocated from system */
ordblks: 16; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 39408; /* total allocated space */
fordblks: 12928; /* total non-inuse space */
keepcost: 6544; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 56432; /* total space allocated from system */
ordblks: 15; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 47376; /* total allocated space */
fordblks: 9056; /* total non-inuse space */
keepcost: 3784; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 56432; /* total space allocated from system */
ordblks: 20; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 42536; /* total allocated space */
fordblks: 13896; /* total non-inuse space */
keepcost: 7176; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.2.5.154
wiced_hostname_lookupmalloc_info {
arena: 56432; /* total space allocated from system */
ordblks: 20; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 42536; /* total allocated space */
fordblks: 13896; /* total non-inuse space */
keepcost: 7176; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 60528; /* total space allocated from system */
ordblks: 17; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 50520; /* total allocated space */
fordblks: 10008; /* total non-inuse space */
keepcost: 4552; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 60528; /* total space allocated from system */
ordblks: 23; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 45672; /* total allocated space */
fordblks: 14856; /* total non-inuse space */
keepcost: 7944; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 54.164.39.189
wiced_hostname_lookupmalloc_info {
arena: 60528; /* total space allocated from system */
ordblks: 23; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 45672; /* total allocated space */
fordblks: 14856; /* total non-inuse space */
keepcost: 7944; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened mqtt_conn_openmalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 19; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 53664; /* total allocated space */
fordblks: 10960; /* total non-inuse space */
keepcost: 5320; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed mqtt_conn_closemalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 26; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 48808; /* total allocated space */
fordblks: 15816; /* total non-inuse space */
keepcost: 8712; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.2.5.154
wiced_hostname_lookupmalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 26; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 48808; /* total allocated space */
fordblks: 15816; /* total non-inuse space */
keepcost: 8712; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection open error 4mqtt_conn_openmalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 27; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 49328; /* total allocated space */
fordblks: 15296; /* total non-inuse space */
keepcost: 2512; /* top-most, releasable (via malloc_trim) space */
};
mqtt_conn_closemalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 27; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 49328; /* total allocated space */
fordblks: 15296; /* total non-inuse space */
keepcost: 2512; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.0.119.10
wiced_hostname_lookupmalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 27; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 49328; /* total allocated space */
fordblks: 15296; /* total non-inuse space */
keepcost: 2512; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection open error 4mqtt_conn_openmalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 27; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 49328; /* total allocated space */
fordblks: 15296; /* total non-inuse space */
keepcost: 2512; /* top-most, releasable (via malloc_trim) space */
};
mqtt_conn_closemalloc_info {
arena: 64624; /* total space allocated from system */
ordblks: 27; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 49328; /* total allocated space */
fordblks: 15296; /* total non-inuse space */
keepcost: 2512; /* top-most, releasable (via malloc_trim) space */
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
found some bug in mqtt_network_deinit() /mqtt_network.c file/ -> missing wiced_tls_deinit_indentity()...
below fix:
wiced_result_t mqtt_network_deinit( mqtt_socket_t *socket )
{
wiced_tcp_unregister_callbacks( &socket->socket );
mqtt_network_disconnect( socket );
if ( socket->socket.tls_context != NULL )
{
wiced_tls_reset_context( socket->socket.tls_context );
wiced_tls_deinit_identity( &socket->tls_identity ); // add this call
}
if ( socket->socket.tls_context != NULL )
{
wiced_tls_deinit_root_ca_certificates( );
}
wiced_tcp_delete_socket( &socket->socket );
return WICED_SUCCESS;
}
then MQTT open-close cycles without memory leak:
Resolved Broker IP: 54.164.39.189
wiced_hostname_lookup
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened
mqtt_conn_open
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 8; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 34840; /* total allocated space */
fordblks: 9304; /* total non-inuse space */
keepcost: 4744; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed
mqtt_conn_close
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 52.44.116.179
wiced_hostname_lookup
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened
mqtt_conn_open
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 8; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 34840; /* total allocated space */
fordblks: 9304; /* total non-inuse space */
keepcost: 4744; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed
mqtt_conn_close
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
Resolved Broker IP: 54.87.173.19
wiced_hostname_lookup
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection opened
mqtt_conn_open
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 8; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 34840; /* total allocated space */
fordblks: 9304; /* total non-inuse space */
keepcost: 4744; /* top-most, releasable (via malloc_trim) space */
};
MQTT connection closed
mqtt_conn_close
malloc_info {
arena: 44144; /* total space allocated from system */
ordblks: 1; /* number of non-inuse chunks */
smblks: 0; /* unused -- always zero */
hblks: 0; /* number of mmapped regions */
hblkhd: 0; /* total space in mmapped regions */
usmblks: 0; /* unused -- always zero */
fsmblks: 0; /* unused -- always zero */
uordblks: 26896; /* total allocated space */
fordblks: 17248; /* total non-inuse space */
keepcost: 17248; /* top-most, releasable (via malloc_trim) space */
};
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content