If I was you, I would:
- make sure the port I'm using works, by first running known good examples.
- study those examples to learn how to work with lwip.
- read the wiki, it is great for bed reading.
- trace assertions to my code, execute step by step and see what I'm
doing wrong.
- try to figure it out by myself, but if I can't, I would write a brief
and concise description of what I'm doing, what I can't solve, and what
I don't understand. That description would include a description of the
system in which I'm doing that, stating that I followed the previous
steps and the system works, and what type of lwIP API I'm using.
With the data you provide, I can only direct you to line 651 of pbuf.c
and see why something you are passing to that function is incorrect.
OK, I feel like wasting some time today, here I go:
$ vi src/core/pbuf.c
651
/pbuf_free(struct pbuf *p)/
{
[...]
/* all pbufs in a chain are referenced at least once */
*651--> LWIP_ASSERT("pbuf_free: p->ref > 0", p->ref > 0);*
/ /* decrease reference count (number of pointers to pbuf) *///
// ref = --(p->ref);/
that means you are trying to free an already freed pbuf.
_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users