vnsprintf()导致了分段错误

时间:2015-09-24 07:38:25

标签: segmentation-fault

Core was generated by `MNM_SVR'.
Program terminated with signal 11, Segmentation fault.
    #0  0x00002b9aa9c548e2 in __strlen_sse2 () from /lib64/libc.so.6
    (gdb) where
    #0  0x00002b9aa9c548e2 in __strlen_sse2 () from /lib64/libc.so.6
    #1  0x00002b9aa9c1ce2d in vfprintf () from /lib64/libc.so.6
    #2  0x00002b9aa9c43c8b in vsnprintf () from /lib64/libc.so.6
    #3  0x00002b9aa8e3b941 in fill_errinfo (log_flag=1, line=345, function=0x2b9aa8e50410 "InMNMThread", file=0x2b9aa8e50327 "mnm.c", 
        fmt=0x2b9aa8e50888 "invoke failed!service[%s],errno[%d],desc[%s]") at error_trace_th.c:309
    #4  0x00002b9aa8e42e21 in InMNMThread (p=0x2b9aa9069b40) at mnm.c:345
    #5  0x00002b9aa99be806 in start_thread () from /lib64/libpthread.so.0
    #6  0x00002b9aa9caf59d in clone () from /lib64/libc.so.6
    #7  0x0000000000000000 in ?? ()

1 个答案:

答案 0 :(得分:0)

几乎总是由非终止字符串引起的。

我建议您查看那里,可能是您的格式字符串本身,但很可能是服务名称或描述的字符串变量,如下所示:

strlen

(1)有些代码,甚至是实际的问题,可能是一个好主意: - )