-
Notifications
You must be signed in to change notification settings - Fork 5.2k
LWIP_ASSERT("pbuf_free: p->ref > 0", p->ref > 0);断言失败 #568
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
请使用lwip-1.4.1的版本,这个是默认的lwIP版本。 |
默认的不就是lwip-1.4.1的吗?我使用的就是这个版本 |
Assertion: 650 in ....\components\net\lwip-head\src\core\pbuf.c, thread tcpip 你的log信息出卖了你。 |
lwip-head是支持IPv4/v6双栈的lwip,这个是在1.4.1的基础上开发的,我要用到ipv6,所以必须用这个。 |
IPv4/v6双栈的lwIP都还未正式发布呢 |
我从github上下载了最新的rt-thread,什么都没有修改,也没有启用ipv6。只写了一个简单的服务端测试程序。在传输的时候还是会出现这样的问题: 下面是我的主要代码:
} |
Hi, |
遇到同样的问题,同样时LWIP 1.4.1 |
还没有解决 |
这个问题有什么进展吗?我这的程序在更换网卡驱动后出现了这个断言。 |
I"m getting the same poblem. |
the same problem at 4.0.2 |
https://www.cnblogs.com/woshixiaojingzai/p/13958572.html 我认为这篇文章有些参考价值,各位可以分析看看,是否能解决,或者有没有更好的方法 |
有进展吗 |
我们这边的一般的 eth 驱动里,pbuf 一般都是 pbuf pool 的形式。 pbuf pool 数量也是在 lwipopt.h 中指定的内存池大小。 这个问题的复现,我这边还没有必现的工程,能否提供一下? |
@xiangxistu |
这种问题一般是多线程导致的,可以加上互斥锁试试是否还会复现,然后再考虑是否有更精细的处理办法 |
只要启用lwip,终端就会不断打印出:
pbuf_free: p->ref > 0
Assertion: 650 in ....\components\net\lwip-head\src\core\pbuf.c, thread tcpip
最终定位到pbuf.c中的LWIP_ASSERT("pbuf_free: p->ref > 0", p->ref > 0);断言失败导致的。
这应该是一个已经释放的pbuf被再次释放引起的。请修复这一问题。
The text was updated successfully, but these errors were encountered: