【已解决】【中控】R328_TuyaOS-3.10.7 适配tkl_wired.c后, 崩溃

网关设备, 语音中控设备等
Post Reply
yeslee
Posts: 12

崩溃后堆栈信息如下,详细的log见附件。请查一下lpc_task线程里面可能崩溃的位置。

[New LWP 5357]
--Type <RET> for more, q to quit, c to continue without paging--

Thread 48 "lpc_task" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 5354]
0xb6fbd288 in ?? () from /lib/ld-musl-armhf.so.1
(gdb) bt
#0 0xb6fbd288 in ?? () from /lib/ld-musl-armhf.so.1
#1 0xb6fbd3c0 in __rtnetlink_enumerate () from /lib/ld-musl-armhf.so.1
#2 0x00000000 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)

Attachments
tuyagw.log
(102.93 KiB) Downloaded 81 times
luoji
Posts: 105

Re: 【求助】【中控】R328_TuyaOS-3.10.7 适配tkl_wired.c后, 崩溃

已安排处理

yeslee
Posts: 12

Re: 【求助】【中控】R328_TuyaOS-3.10.7 适配tkl_wired.c后, 崩溃

我们这边尝试只编译demo程序,用gdb也只能看到这些堆栈信息,没法得到更详细的崩溃堆栈信息。
目前初步看调用tkl_wired_get_ip获取完ip地址后,就crash了,麻烦检查一下lpc_task线程,尽可能把依赖平台相关的函数调用做到tkl_wired.c里面去。

lightthgil
Posts: 41

Re: 【求助】【中控】R328_TuyaOS-3.10.7 适配tkl_wired.c后, 崩溃

c3620765-9fa1-4e04-b437-39eef11997c6.png

c库里面,用了一个8k的局部变量,lpc_task线程堆栈设置的只有4k,导致栈越界

解决方案:删除tkl_thread_create中的pthread_attr_setstacksize(&attr, stack_size);

Post Reply