gpt4 book ai didi

c - 回溯指向 fopen 崩溃

转载 作者:太空狗 更新时间:2023-10-29 11:45:48 25 4
gpt4 key购买 nike

以下是我从最近一次崩溃中得到的回溯。它指向 fopen 调用。不确定这里发生了什么。设备上有足够的空间。 & 即使文件不是他们的,它也应该返回 NULL。

崩溃没有意义。这是BT

(gdb) bt 
#0 0xb788f50e in __open_nocancel () from /tmp/user_20130523143934/x86/lib/tls/libc.so.6
#1 0xb78453e7 in *__GI__IO_file_open (fp=0x814b0e4, filename=0xb78fc1f5 "/init_log.cfg", posix_mode=-2, prot=438, read_write=8, is32not64=0) at fileops.c:233
#2 0xb784555c in _IO_new_file_fopen (fp=0x814b0e4, filename=0xb78fc1f5 "/init_log.cfg", mode=0x1b6 <Address 0x1b6 out of bounds>, is32not64=1) at fileops.c:332
#3 0xb783d519 in __fopen_internal (filename=0xb78fc1f5 "/init_log.cfg", mode=0xb78fc1f3 "r", is32=1) at iofopen.c:93
#4 0xb783d55f in _IO_new_fopen (filename=0xb78fc1f5 "/init_log.cfg", mode=0xb78fc1f3 "r") at iofopen.c:107
#5 0xb78fbe00 in init_setup (app_uuid=1009, mod_uuid=0, hdl=0xfffffffe) at ../init_setup_api.c:1013
#6 0x0805f431 in main (argc=1, argv=0xbffffa64) at .. vpg_agent.c:307


(gdb) frame 5
#5 0xb78fbe00 in init_setup (app_uuid=1009, mod_uuid=0, hdl=0xfffffffe) at ../init_setup_api.c:1013
1013 if ((fp = fopen(MY_FILE, "r")) == NULL) {
(gdb) l

感谢您的帮助。

PS:还有一件事,它是一个远程映射的文件系统。刚知道这件事。这可能有所贡献。

最佳答案

__open_nocancel 通常是系统调用的一个小包装器。

这是它在我的系统上的样子:

(gdb) disas __open_nocancel
Dump of assembler code for function __open_nocancel:
0x000ddf5a <+0>: push %ebx
0x000ddf5b <+1>: mov 0x10(%esp),%edx
0x000ddf5f <+5>: mov 0xc(%esp),%ecx
0x000ddf63 <+9>: mov 0x8(%esp),%ebx
0x000ddf67 <+13>: mov $0x5,%eax
0x000ddf6c <+18>: call *%gs:0x10
0x000ddf73 <+25>: pop %ebx
0x000ddf74 <+26>: cmp $0xfffff001,%eax
0x000ddf79 <+31>: jae 0xddfad <open+93>
0x000ddf7b <+33>: ret
End of assembler dump.

很可能您的 PC 0xb788f50e 对应于我在 0x000ddf73 处的指令,即紧跟在系统调用本身之后的指令。

如果是这样,有几种可能的解释:

  1. 您看错了线程,而不是真正崩溃的线程。
    (gdb) info thread 显示什么?

  2. 您的内核对系统上发生的某些事情不满意,并且正在左右终止进程。检查 /var/log/messages 寻找线索。

另一方面,如果您在 0xb788f50e 处的指令对应于我在 0x000ddf6c 处的指令(即 call 本身),那么也许您是否将您的 ulimit -s 设置得太低了?

最后,如果您启用了 SELinux,它可能会终止您的工作,因为您违反了它的政策。检查适当的 selinux.log。

关于c - 回溯指向 fopen 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16724503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com