thread heap stack overflow ?

发布于 2014-11-20 21:36:39
finsh打印出thread heap stack overflow ,和所有线程都是挂起的信息。查了一下_rt_scheduler_stack_check()函数里报的,但是没有heap的thread啊,查到一个heap_sem的信号量名字是heap。。。

查看更多

关注者
0
被浏览
4.9k
9 个回答
pangwei
pangwei 2014-11-20
堆栈溢出,线程结构体已经乱了。查看各个线程堆栈使用情况,增大分配空间
郁海难填
郁海难填 2014-11-23
堆栈溢出,线程结构体已经乱了。查看各个线程堆栈使用情况,增大分配空间

您好,我的这个溢出是由于让fatFs支持长文件名导致的,缓冲放在heap中的。。。我尝试增加了几个线程的堆栈,感觉没啥改善
tomyqg
tomyqg 2014-12-18
我遇到该问题的原因好像是连继调用了rt_hw_interrupt_disable函数
lijiuping
lijiuping 2018-11-10
我也遇到这个问题,增大了分配空间,没用
zhugeliang1991
zhugeliang1991 2020-05-10
lijiuping 发表于 2018-11-10 17:58
我也遇到这个问题,增大了分配空间,没用


你好,这个问题有解决吗,谢谢
zhugeliang1991
zhugeliang1991 2020-05-10
tomyqg 发表于 2014-12-18 17:40
我遇到该问题的原因好像是连继调用了rt_hw_interrupt_disable函数


你好,这个问题后续怎么解决的,谢谢
lijiuping
lijiuping 2020-05-29
可惜,我现在完全没有关于这个问题的印象了?好像是什么地方搞错了,你说说你的场景,看看我能否回忆起什么?
swet123
swet123 2020-06-10
在调度启用之前调用了 线程专属得函数。
比如在int rt_application_init(void)
里调用了rt_enter_critical
lijiuping
lijiuping 2020-06-15
swet123 发表于 2020-6-10 10:47
在调度启用之前调用了 线程专属得函数。
比如在int rt_application_init(void)
里调用了rt_enter_critical ...


你有没有尝试过调度机制启动之后在用,以前我跑其他系统也出现过类似在启动调度跑起来之前调用了相关资源,直接挂了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友