|From:||Enrico Murador - Research & Development - CET|
|Subject:||Re: [lwip-users] Infinite hang in tcp_slowtmr()|
|Date:||Wed, 14 Oct 2015 10:22:58 +0200|
|User-agent:||Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0|
Maybe your workaround is not a safe way to overcome the problem: at that point the pcb chain is already corrupted (and probably unrecoverable?).
What compiler/toolchain are you using?
On 13/10/2015 11:48, Sylvain Rochet wrote:
Hi Stephen, On Tue, Oct 13, 2015 at 10:15:42AM +0200, Sylvain Rochet wrote:On Mon, Oct 12, 2015 at 04:59:19PM -0500, Stephen Cowell wrote:On 10/12/2015 3:41 PM, Sylvain Rochet wrote:On Mon, Oct 12, 2015 at 02:51:14PM -0500, Stephen Cowell wrote:I find that I sometimes get an infinite loop when stepping to pcb->next...I didn't have to read further. As usual, it looks like a broken port or usage which violate lwIP threading model. Summary: - Do *NOT* call anything in interrupt context, nothing, never, absolutely never, use your OS semaphore signaling to an Ethernet/serial/… RX threadI don't think I'm doing that, Sylvain... this is non-OS, so there are no 'threads'. Atmel wrote the port. I'm running sntp and ftpd, they hook in using their own _init() routines that have not been modified.But there are probably interrupts, which is even worse. Could you first check that no lwIP functions are called in interrupts contexts ? Probably around the macb driver. If I have time I will fetch the Atmel port for SAM4E/bare-metal and take a short look at it.It looks sane from a quick look. I don't really understand why there are not using sys_check_timeouts() and rewrote everything in the ethernet.c "static timers_info_t gs_timers_table" stuff. Since you are having issue in timers context could you check this part is ok ? Removing all the Atmel timers stuff and calling sys_check_timeouts() in the main loop could be an easy check. Sylvain _______________________________________________ lwip-users mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/lwip-users
|[Prev in Thread]||Current Thread||[Next in Thread]|