当前位置: 首页 > ds >正文

ESP32 web服务导致的lwip “pbuf_free: p->ref > 0问题

ESP32启动了一个web服务,并且使用websocket进行数据通信。

在建立ws通信后,客户端可以向ws服务端发送指令,要求重启wifi服务。

结果导致报错

lwip "pbuf_free: p->ref > 0


assert failed: pbuf_free IDF/components/lwip/lwip/src/core/pbuf.c:757 (pbuf_free: p->ref > 0)
 

经过多次尝试排查,后来找到了问题。是因为

ESP32->Websocket->onEvent->接受指令处理->重置服务

问题发生在onEvent中,因为在接收到客户端数据后会执行指令,然后重置服务。

重置完毕后,程序会以此:重置服务 return->接受指令处理  return -> onEvent return 

由于已经重置了服务,结果导致一路return到顶层后,发现为空了。

因此,使用了一个全局变量,在onEvent接收到数据后修改他为标志。

再用单独的线程实时判断是否需要重置,在onEvent同级函数中操作。

问题搞定。 

http://www.xdnf.cn/news/5826.html

相关文章:

  • 【001】renPy android端启动流程分析
  • 内存对齐(Memory Alignment)
  • 4399(简易版) GOC小游戏
  • [python] 面向对象的三大特性-封装及新式类
  • Autoregressive Distillation of Diffusion Transformers
  • IOP|2025第二届机电一体化、机器人与控制系统国际会议(MRCS2025)
  • 电流互感器使用全攻略
  • Hugging Face汉化教程及注册使用详解
  • python-74-Nacos技术之单机模式安装Nacos并使用Python操作Nacos
  • 【Ansible】之inventory主机清单
  • 用 openssl 测试 tls 连接
  • Redis+Caffeine构造多级缓存
  • 多模态链式思考推理:让大模型更像人类一样思考
  • C——五子棋小游戏
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-3
  • cursor 出现问题 为客户解决问题
  • 大模型科研能力评价参考平台上线,推动技术创新与发展
  • Koa知识框架
  • 机器学习——集成学习基础
  • 信息安全模型全解:从机密性到完整性的理论基石
  • Scala安装教程
  • 通用RAG:通过路由模块对多源异构知识库检索生成问答思路
  • C++ asio网络编程(5)简单异步echo服务器
  • 自动发电控制是一次调频还是二次调频?
  • 运行Spark程序(二)RDD基本概念和创建
  • 【Vue】Composables 和 Utils 区别
  • SysAid On-Prem XML注入漏洞复现(CVE-2025-2776)
  • 图形化编程平台的破局之道:从工具同质化到生态差异化
  • Matlab自学笔记五十四:符号数学工具箱和符号运算、符号求解、绘图
  • 解决vue create 创建项目,不能使用上下键选择模板的问题