Closed
Description
i use libmimalloc.so.1.7 in a complex project with threadpool(over 20 thread),and the device is aarch64-linux-gnu, gcc is 6.2.1。
i try to use gdb to debug, the bt is '
Thread 22 "Other" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xffff51969170 (LWP 1603)]
mi_free_generic (segment=0xffff34000000, local=false, p=0xffff34000940) at mimalloc-master/src/alloc.c:440
(gdb) bt
#0 mi_free_generic (segment=0xffff34000000, local=false, p=0xffff34000940) at mimalloc-master/src/alloc.c:440
i try to print ags and local vals, as :
(gdb) p p
$1 = (void *) 0xffff34000940
(gdb) p *p
Attempt to dereference a generic pointer.
(gdb) p segment
$2 = {memid = 281471554158624, mem_is_pinned = false, mem_is_committed = false, abandoned_next = 0x21000,
next = 0x21000, prev = 0x300000000, abandoned = 0, abandoned_visits = 0, used = 0, capacity = 0, segment_size = 0,
segment_info_size = 0, cookie = 0, page_shift = 0, thread_id = 0, page_kind = MI_PAGE_SMALL, pages = {{
segment_idx = 224 '\340', segment_in_use = 1 '\001', is_reset = 1 '\001', is_committed = 1 '\001',
is_zero_init = 1 '\001', capacity = 13312, reserved = 65535, flags = {full_aligned = 0 '\000', x = {
in_full = 0 '\000', has_aligned = 0 '\000'}}, is_zero = 0 '\000', retire_expire = 0 '\000', free = 0x0,
used = 872415352, xblock_size = 65535, local_free = 0xffff34000078, xthread_free = 281471554158728,
xheap = 281471554158728, next = 0xffff34000098, prev = 0xffff34000098}}}
(gdb) p (mi_block_t)p
$3 = (mi_block_t *) 0xffff34000940
i dont know why it always trigger segmentfault, who can give me some useful info
Metadata
Metadata
Assignees
Labels
No labels