[lwip-users] [LwIP-1.4.1 + ChibiOS-2.6 + STM32F407] memp_malloc: out of memory in pool PBUF_POOL
Hi everyone, I am still getting hard error on memp_malloc after not null check. Statistic writes this error: memp_malloc: out of memory in pool PBUF_POOL, despite MEM PBUF_POOL: avail: 20, used 4, max 8. Then tcpip stack stops receive anything. The call to memp_malloc is when pbuf_malloc tries to allocate the head of the chain. pbuf_pool_bufsize is around 1500B and the length of the incoming appears to be max 128B. #define TCP_MSS (1500 - 40) #define ETH_PAD_SIZE0 #define PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) #define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) #define PBUF_POOL_SIZE 20 This state happens after approx 15minutes of idling on my network. Thank you for your help! Adam -- View this message in context: http://lwip.100.n7.nabble.com/LwIP-1-4-1-ChibiOS-2-6-STM32F407-memp-malloc-out-of-memory-in-pool-PBUF-POOL-tp22810.html Sent from the lwip-users mailing list archive at Nabble.com. ___ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users
Re: [lwip-users] Problem after lwIP update (1.3.0 - 1.4.1)
Hi Sergio I found the problem in my (EtherC hardware) driver, which caused the problem with the re-transmissions (and all other errors). Thank you very much anyway for your offer to have a look into the capture file. Kind regards, Roland Am 19.06.2014 23:53, schrieb Sergio R. Caprile: I'd like to help on this but currently don't have the time to analyze the capture file. Check you are calling the netif receive function on frame arrival with no polling delays, and if you are still thriving let me know and I'll try to check the capture file and see if I see anything wierd ___ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users ___ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users
Re: [lwip-users] [LwIP-1.4.1 + ChibiOS-2.6 + STM32F407] memp_malloc: out of memory in pool PBUF_POOL
Hi, I will guess: - Since you describe something ending with 'OS', you are using an (RT)OS port, probably with NO_SYS = 0. -- If you have multiple tasks, check you call lwIP only from one task (unless you know exactly what you do and why you are doing it). This includes the netif input. -- Who did the port ? Has it been thoroughly tested ? (I just don't know of it, but I'm no expert whatsoever) - A google search for STM32F407 yields it has a huge amount of RAM, so it is not likely that the compiler let you compile for more RAM than you actually have. However, the stack/heap you configured (or your OS did for you) is probably not enough for whatever you are doing that you don't say. Check that. If your problem persists, you'll probably have to dive into your OS memory management and see it is not fighting lwIP's own. I have no expertise here (I prefer to fight bare metal instead of OSs) and won't be able to help. ___ lwip-users mailing list lwip-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/lwip-users