Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ulog
锁死
ulog的互斥信号量锁死
发布于 2021-01-07 09:02:40 浏览:1553
订阅该版
我用STM32运行RT-Thread nano3.13版本,其中使用了ulog组件,运行了十几个线程,很多线程使用了LOG_D,LOG_HEX打印,包括定时器,硬件中断中,现在遇到了诡异的问题: 产品运行几个小时后会出现死机状况,经过shell查看,原因是线程5没有释放ulog.output_locker这个互斥信号量,导致其它需要打印的线程全部挂起,包括ulog输出线程也挂起了,中断中打印是直接输出的,是可以输出的,其它没有打印的线程则运行正常,比如shell线程可以正常运行,其中线程5也就是调用了LOG_D,LOG_HEX打印了两条信息,在挂掉前这两条信息是有输出,此后这个互斥信号量一直被这个线程5占用了,线程5能够运行,其它有打印的前程全部挂起,我很困惑 1. 线程5调用了LOG_D,LOG_HEX打印,这个打印完后调用output_unlock函数ulog.output_locker会释放啊,为什么没有释放呢,这让我很是困惑 2. 有哪些可能会造成这种情况,有可能是我哪里使用不当吗? 3. 不会是有bug吧,是互斥信号量有问题,还是ulog有问题?想想都可怕 有偿解决这个问题,希望大家指点,WX:18688455698 /××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/ 谢谢各位的回答 那个ISR是打开了的,现在最新的调试发现ulog打印完后调用的unlock函数中释放互斥信号量,出现释放失败的情况  这怎么可能会出现这种情况啊?
查看更多
8
个回答
默认排序
按发布时间排序
flyboy
2021-01-07
Do my self();
如果某一线程在打印过程中被其他线程suspend或者delete也会出现这个问题。可以检测下应用,有没有使用这两个api。
ylz0923
2021-01-07
这家伙很懒,什么也没写!
 请检查这个宏有没有打开
liuduanfei
2021-01-07
这家伙很懒,什么也没写!
 是因为这个条件返回的错误嘛?错误码 -1
帅金泉
2021-01-07
这家伙很懒,什么也没写!
因为lock和unlock是成对使用的,调用unlock时,这个互斥信号量肯定是被自己占用的,难道这个thread不是当前跑的线程?
答案在风中飘
认证专家
2021-01-07
这家伙很懒,什么也没写!
会不会你系统还没跑起来就操作mutex了
Cfly
认证专家
2021-01-11
这家伙很懒,什么也没写!
在 console_be 里面把它的outpout中 rt_hw_console_output(log) 替换为 rt_kprintf("%.*s", len, log);
whj467467222
认证专家
2021-01-15
开源,分享,交流,共同进步
楼主的问题找到原因了吗?
iamyhw
2021-01-15
这家伙很懒,什么也没写!
可能内存泄露?,有没有调用一些库函数,又不确定库函数造成的结果。
撰写答案
登录
注册新账号
关注者
1
被浏览
1.6k
关于作者
帅金泉
这家伙很懒,什么也没写!
提问
1
回答
1
被采纳
0
关注TA
发私信
相关问题
1
版本发布时怎样关闭LOG_D打印出的日志
2
怎样通过scons 配置日志输出usart,spi等初始化成功日志
3
请问哪里有rt_thread ulog日志存成文件的例程或者demo
4
文件系统的再次挂载问题
5
关于关闭打印调试信息输出
6
nano 中日志组件打印出现乱码问题
7
ulog_easyflash :Log sector header error
8
uog阻塞fish,无法输入
9
ulog组件能否输出float类型数据?
10
ulog组件中ulog_voutput(...)函数的bug反馈
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
ulog组件多端绑定的demo案例
2
记录rt-thread消息队列的调试方法
3
AT32的ADC使用
4
aht10 终端:The aht10 is under an abnormal status
5
github高阶加速,速度可达带宽峰值,测试到146Mbit/s
热门标签
RT-Thread Studio
串口
LWIP
Env
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
RT-Thread
DMA
SCons
线程
MQTT
RT-Thread Nano
STM32
RTC
rt-smart
ESP8266
flash
ota在线升级
WIZnet_W5500
FAL
I2C
packages_软件包
UART
cubemx
freemodbus
潘多拉开发板_Pandora
定时器
BSP
PWM
ADC
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
SDIO
Debug
AB32VG1
MicroPython
编译报错
C++_cpp
msh
ulog
QEMU
本月问答贡献
出出啊
1501
个答案
338
次被采纳
小小李sunny
1390
个答案
276
次被采纳
张世争
715
个答案
157
次被采纳
crystal266
522
个答案
153
次被采纳
whj467467222
1216
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
12
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
2
篇文章
2
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部