myNameIsLin 发表于 2022-11-10 15:35:10

lwip debug报错

freertos+lwip1.4   开启了一个服务器接收电脑的数据然后再转发回去

把debug打开后会有这两个报错:
Assertion "pbuf_free: p->ref > 0" failed at line 650 in ..\LWIP\lwip-1.4.1\src\core\pbuf.c
tcp_pcb_purge
tcp_pcb_purge: data left on ->unacked




出现这个报错往往是我接收到一帧错误的数据。

eric2013 发表于 2022-11-10 16:35:39

搜了下,遇到这种问题的还挺多,你参考下。
https://lists.gnu.org/archive/html/lwip-users/2016-05/msg00085.html

myNameIsLin 发表于 2022-11-10 20:15:04

eric2013 发表于 2022-11-10 16:35
搜了下,遇到这种问题的还挺多,你参考下。
https://lists.gnu.org/archive/html/lwip-users/2016-05/msg0 ...

好的我瞧瞧

myNameIsLin 发表于 2022-11-11 17:02:47

我把lwip的debug打开了,然后我发现好像一帧数据太长了,tcp窗口不够了,就会出现
Assertion "pbuf_free: p->ref > 0" failed at line 650 in ..\LWIP\lwip-1.4.1\src\core\pbuf.c


但是我把tcp窗口改大了,出现的情况是,一帧数据是长度正确,然后另一帧数据就会出现丢失然后报上面那个错,好像我在tcp里面做接收并不会更新tcp窗口的值?

eric2013 发表于 2022-11-12 10:14:40

myNameIsLin 发表于 2022-11-11 17:02
我把lwip的debug打开了,然后我发现好像一帧数据太长了,tcp窗口不够了,就会出现
Assertion "pbuf_free:...

直接升级lwip到最新的2.1.2试试。

还是有问题的话,你的移植估计有点问题了。

myNameIsLin 发表于 2022-11-12 15:29:44

eric2013 发表于 2022-11-12 10:14
直接升级lwip到最新的2.1.2试试。

还是有问题的话,你的移植估计有点问题了。

好的我试试
页: [1]
查看完整版本: lwip debug报错