【发布时间】:2021-12-06 16:40:34
【问题描述】:
我正在观察 libc.so 中的核心转储,其堆栈跟踪如下。
#6271 0xb8df in raise () from /lib64/libc.so.6
#6272 0x5cf5 in abort () from /lib64/libc.so.6
#6273 0xec17 in __libc_message () from /lib64/libc.so.6
#6274 0x553c in malloc_printerr () from /lib64/libc.so.6
#6275 0x83cc in _int_malloc () from /lib64/libc.so.6
#6276 0x9937 in malloc () from /lib64/libc.so.6
#6277 0x9dff in jsonp_malloc () from jansson
#6278 0xce06 in json_array () from jansson
#6279 0x9555 in parse_value () from jansson
#6280 0x9484 in parse_value () from jansson
#6281 0x9484 in parse_value () from jansson
#6282 0x9739 in parse_json () from jansson
#6283 0x9d88 in json_loads () from jansson
有人可以帮助我解决问题吗?或任何类型的怀疑出了什么问题?
【问题讨论】:
-
malloc()不可重入。这可能会导致麻烦,即使在做一些简单的事情(例如从信号处理程序中调用printf())