Comments (5)
Identified two problems by now:
- the function starting the dns query from stack endpoint wasn't mutexed between PicoTcp locks.
- in pico_dns_client_del_query we were trying to remove from the wrong tree
aka found = pico_tree_findKey(&NSTable, &test); correct is
found = pico_tree_findKey(&DNSTable, &test);
observe the subtle difference
Even after this fixes there still are memory leaks
Continuing the investigation...
from picotcp.
Each time we are losing 417 bytes.
from picotcp.
It seems this is a udp issue.
If you don't read the whole content of the input buffer but close the socket,
it doesn't clean up the used memory.
As an example I tried with mbed.org which returns 64 bytes and bug isn't reproducible
with google.com which returns > 256 bytes.
from picotcp.
Implemented a mechanism that clears the queues before killing the socket.
No more memory leak, these are the last moments for this bug
from picotcp.
Fixed in github rev #6faf379 + mbed rev #63.
Bye bye nasty bug.
from picotcp.
Related Issues (20)
- pico_socket_read() with timeout HOT 1
- pico_ipv4_route_add() is not correctly adding the gateway HOT 1
- Memory leak in SNTP sync HOT 3
- RAW_SOCKET pendant? HOT 2
- TFTP retries not working
- README.md: GPL LICENSE problem HOT 2
- ARP frames are never set unreachable HOT 5
- tcpecho refuses connection ... HOT 1
- tcpopt_len_check will stop the stack when option length is 0 HOT 1
- Question: How many times pico_stack_tick() should be called HOT 3
- No 'extern "C"' support in headers HOT 2
- Best way to report security issues HOT 1
- Use picotcp without sockets? HOT 2
- security contact
- connect tcpserver and tcpclient via taps interface
- send from tcpclient and receive in tcpserver
- picoapp icmp6 ping failed
- Reassigned a value before the old one has been used.
- Checking if unsigned variable is less than zero.
- Weak references not working correctly under Windows with MinGW HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from picotcp.