Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

BUG: Crash when exiting gdb with mem.c:1871 "free(): double free detected in tcache 2"



I've put "exit" cmd and maybe ctrl+c

Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/zsh'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt full
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
       tid = <optimized out>
       ret = 0
       pd = <optimized out>
       old_mask = {__val = {94346480068130}}
       ret = <optimized out>
#1  0x00007fbdc189b453 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
No locals.
#2  0x00007fbdc1841cb6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
       ret = <optimized out>
#3  0x00007fbdc182938b in __GI_abort () at abort.c:73
       act = {__sigaction_handler = {sa_handler = 0x7ffd1de83900, sa_sigaction = 0x7ffd1de83900}, sa_mask = {__val = {0, 140725105211648,  
             140452977351288, 140452977351304, 140452972632442, 0, 32784, 140452977351328, 94346605225704, 0, 140452973996736, 1,  
             18446744073709551552, 140725105212352, 55658, 140725105212384}}, sa_flags = 1727743744, sa_restorer = 0x7fbdc1d27000}
#4  0x00007fbdc182a199 in __libc_message_impl (fmt=fmt@entry=0x7fbdc19ba33f "%s\n") at ../sysdeps/posix/libc_fatal.c:134
       ap = {{gp_offset = 16, fp_offset = 21966, overflow_arg_area = 0x7ffd1de83a90, reg_save_area = 0x7ffd1de83a20}}
       fd = 2
       iov = {{iov_base = 0x7fbdc19bd028, iov_len = 40}, {iov_base = 0x7fbdc19ba341, iov_len = 1}, {iov_base = 0x1,  
           iov_len = 140725105216816}, {iov_base = 0x7fbd000280b3, iov_len = 94346479472793}, {iov_base = 0x0, iov_len = 13}, {
           iov_base = 0x55ce00000000, iov_len = 0}, {iov_base = 0x3131383236310000, iov_len = 14681634319080572672}}
       iovcnt = <optimized out>
       total = <optimized out>
       cp = <optimized out>
#5  0x00007fbdc18a5cc7 in malloc_printerr (str=str@entry=0x7fbdc19bd028 "free(): double free detected in tcache 2") at malloc.c:5829
No locals.
#6  0x00007fbdc18a5d66 in tcache_double_free_verify (e=e@entry=0x55cec861a540, tc_idx=tc_idx@entry=0) at malloc.c:3240
       tmp = <optimized out>
       cnt = <optimized out>
#7  0x00007fbdc18ab060 in tcache_free (p=0x55cec861a530, size=32) at malloc.c:3263
       e = 0x55cec861a540
       done = false
       tc_idx = 0
       done = <optimized out>
       tc_idx = <optimized out>
       e = <optimized out>
#8  _int_free (av=0x7fbdc19f6ac0 <main_arena>, p=0x55cec861a530, have_lock=0) at malloc.c:4695
       size = 32
       size = <optimized out>
#9  __GI___libc_free (mem=0x55cec861a540) at malloc.c:3476
       ar_ptr = 0x7fbdc19f6ac0 <main_arena>
       p = 0x55cec861a530
       err = 0
#10 0x000055cec0685653 in zfree (p=<optimized out>, sz=16) at /usr/src/debug/zsh-5.9/Src/mem.c:1871
No locals.
#11 popheap () at /usr/src/debug/zsh-5.9/Src/mem.c:484
       h = 0x7fbdc1d28000
       hn = 0x0
       hl = 0x0
       hs = <optimized out>
#12 0x000055cec067347e in savehistfile (fn=<optimized out>, err=1, writeflags=<optimized out>) at /usr/src/debug/zsh-5.9/Src/hist.c:3102
       history_ignore = <optimized out>
       histpat = 0x0
       t = <optimized out>
       tmpfile = <optimized out>
       start = <optimized out>
       out = 0x55cec7e53e40
       he = <optimized out>
       xcurhist = <optimized out>
       extended_history = <optimized out>
       ret = <optimized out>
#13 0x000055cec0645d4e in zexit (val=<optimized out>, from_where=ZEXIT_SIGNAL) at /usr/src/debug/zsh-5.9/Src/builtin.c:5870
       writeflags = 32800
#14 0x000055cec06b9cd9 in zhandler (sig=1) at /usr/src/debug/zsh-5.9/Src/signals.c:666
       newmask = {__val = {18446744067267100671, 0, 0, 0, 140452977346344, 94346479760563, 140449725546496, 14681634319080572672,  
           140452975067656, 140452975067760, 140452975067656, 94346479458125, 0, 140452975067944, 140452975067656, 840}}
       oldmask = <optimized out>
#15 <signal handler called>
No locals.
#16 __internal_syscall_cancel (a1=a1@entry=140725105216896, a2=a2@entry=8, a3=a3@entry=0, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0,  
   nr=130) at cancellation.c:44
       result = -4
       pd = <optimized out>
       ch = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
#17 0x00007fbdc1895871 in __syscall_cancel (a1=a1@entry=140725105216896, a2=a2@entry=8, a3=a3@entry=0, a4=a4@entry=0, a5=a5@entry=0,  
   a6=a6@entry=0, nr=130) at cancellation.c:75
       r = <optimized out>
#18 0x00007fbdc1842111 in __GI___sigsuspend (set=set@entry=0x7ffd1de84d80) at ../sysdeps/unix/sysv/linux/sigsuspend.c:26
No locals.
#19 0x000055cec06811e5 in signal_suspend (sig=17, wait_cmd=0) at /usr/src/debug/zsh-5.9/Src/signals.c:393
       ret = <optimized out>
       set = {__val = {2, 18, 0, 1, 0, 140725105216976, 140725105218144, 94346479493370, 140452977350456, 3246666004, 140452977350864, 0,  
           140452977350440, 0, 0, 6}}
       ret = <optimized out>
       set = <optimized out>
#20 zwaitjob (job=<optimized out>, wait_cmd=wait_cmd@entry=0) at /usr/src/debug/zsh-5.9/Src/jobs.c:1623
       q = 4
       jn = 0x55cec7dec6d0
#21 0x000055cec0681259 in waitonejob (jn=jn@entry=0x55cec7dec6d0) at /usr/src/debug/zsh-5.9/Src/jobs.c:1673
No locals.
#22 0x000055cec06812b4 in waitjobs () at /usr/src/debug/zsh-5.9/Src/jobs.c:1693
       jn = 0x55cec7dec6d0
#23 0x000055cec0656d7a in execpline (state=state@entry=0x7ffd1de85260, slcode=<optimized out>, how=<optimized out>, how@entry=18,  
   last1=last1@entry=1) at /usr/src/debug/zsh-5.9/Src/exec.c:1785
       jn = 0x55cec7dec6d0
       updated = 1
       q = <optimized out>
       oset = <optimized out>
       ipipe = {0, 0}
       opipe = {0, 0}
       pj = 1
       newjob = 2
       old_simple_pline = 1
       slflags = 0
       code = <optimized out>
       lpforked = 0
       lastwj = 2
#24 0x000055cec06582b4 in execlist (state=state@entry=0x7ffd1de85260, dont_change_job=dont_change_job@entry=0, exiting=exiting@entry=1)
   at /usr/src/debug/zsh-5.9/Src/exec.c:1444
       isend = <optimized out>
       donedebug = <optimized out>
       this_donetrap = 0
       oerrexit_opt = <optimized out>
       next = 0x7fbdc1d29778
       code = <optimized out>
       ret = <optimized out>
       cj = 1
       csp = 2
       ltype = 18
       old_pline_level = <optimized out>
       old_list_pipe = <optimized out>
       old_list_pipe_job = <optimized out>
       old_list_pipe_text = 0x0
       oldlineno = 7
       oldnoerrexit = 0
       donetrap = 0
#25 0x000055cec0658bd4 in execode (p=0x7fbdc1d296e0, dont_change_job=0, exiting=1, context=0x55cec06e1eac "cmdsubst")
   at /usr/src/debug/zsh-5.9/Src/exec.c:1221
       s = {prog = 0x7fbdc1d296e0, pc = 0x7fbdc1d29778, strs = 0x7fbdc1d2977c "printf"}
       alen = <optimized out>
       zsh_eval_context_len = 16
#26 0x000055cec065aee0 in getoutput (cmd=<optimized out>, qt=1) at /usr/src/debug/zsh-5.9/Src/exec.c:4696
       prog = 0x7fbdc1d296e0
       pipes = {12, 13}
       pid = 0
       s = 0x0
       onc = <optimized out>
#27 0x000055cec06c5353 in stringsubst (list=list@entry=0x7ffd1de85740, node=node@entry=0x7ffd1de85720, pf_flags=pf_flags@entry=4,  
   ret_flags=ret_flags@entry=0x7ffd1de8571c, asssub=asssub@entry=0) at /usr/src/debug/zsh-5.9/Src/subst.c:399
       pl = <optimized out>
       s = <optimized out>
       endchar = -118 '\212'
       l2 = <optimized out>
       str2 = <optimized out>
       l1 = <optimized out>
       qt = <optimized out>
       str3 = 0x7fbdc1d28be8 "\236"
       str = 0x7fbdc1d28d5c "\236"
       c = <optimized out>
       comsub = <optimized out>
#28 0x000055cec06c58f4 in prefork (list=0x7ffd1de85740, flags=6, ret_flags=0x7ffd1de8571c) at /usr/src/debug/zsh-5.9/Src/subst.c:142
       node = 0x7ffd1de85720
       insnode = <optimized out>
       stop = 0x0
       keep = 0
       asssub = 0
       ret_flags_local = 0
#29 0x000055cec064fcfe in addvars (state=state@entry=0x7ffd1de87370, pc=<optimized out>, addflags=addflags@entry=0)
   at /usr/src/debug/zsh-5.9/Src/exec.c:2492
       prefork_ret = 0
       myflags = <optimized out>
       vl = 0x7ffd1de85740
       xtr = <optimized out>
       isstr = <optimized out>
       htok = 1
       arr = <optimized out>
       ptr = <optimized out>
       name = <optimized out>
       flags = 6
       opc = 0x55cec7f75cb4
       ac = <optimized out>
       svl = {list = {first = 0x7ffd1de85720, last = 0x7ffd1de85720, flags = 0}, node = {next = 0x7ffd1de85720, prev = 0x7ffd1de85720,  
           dat = 0x7ffd00000000}}
       __n0 = {next = 0x0, prev = 0x7ffd1de85740, dat = 0x7fbdc1d28be8}
#30 0x000055cec0650674 in execsimple (state=state@entry=0x7ffd1de87370) at /usr/src/debug/zsh-5.9/Src/exec.c:1264
       code = 5
       lv = <optimized out>
       otj = 1
#31 0x000055cec0658832 in execlist (state=0x7ffd1de87370, dont_change_job=1, exiting=0) at /usr/src/debug/zsh-5.9/Src/exec.c:1407
       donedebug = <optimized out>
       this_donetrap = 0
       oerrexit_opt = <optimized out>
       next = 0x55cec7f75cc0
       code = <optimized out>
       ret = <optimized out>
       cj = 1
       csp = 1
       ltype = 370
       old_pline_level = <optimized out>
       old_list_pipe = <optimized out>
       old_list_pipe_job = <optimized out>
       old_list_pipe_text = 0x0
       oldlineno = 6
       oldnoerrexit = 0
       donetrap = 0
#32 0x000055cec068b97c in execif (state=0x7ffd1de87370, do_exec=0) at /usr/src/debug/zsh-5.9/Src/loop.c:582
       end = 0x55cec7f75cdc
       next = <optimized out>
       code = <optimized out>
       olderrexit = <optimized out>
       s = 0
       run = <optimized out>
#33 0x000055cec0653d65 in execcmd_exec (state=state@entry=0x7ffd1de87370, eparams=eparams@entry=0x7ffd1de86ee0, input=input@entry=0,  
   output=output@entry=0, how=<optimized out>, how@entry=2, last1=<optimized out>, last1@entry=2, close_if_forked=<optimized out>)
   at /usr/src/debug/zsh-5.9/Src/exec.c:3972
       q = 5
       oset = <optimized out>
       hn = <optimized out>
       filelist = 0x0
       node = <optimized out>
       fn = <optimized out>
       mfds = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}
       text = <optimized out>
       save = {-2, -2, -2, -2, -2, -2, -2, -2, -2, -2}
       fil = <optimized out>
       dfil = <optimized out>
       is_cursh = <optimized out>
       do_exec = 0
       redir_err = <optimized out>
       i = <optimized out>
       nullexec = <optimized out>
       magic_assign = <optimized out>
       forked = 0
       old_lastval = <optimized out>
       is_shfunc = <optimized out>
       is_builtin = <optimized out>
       is_exec = <optimized out>
       use_defpath = <optimized out>
       cflags = <optimized out>
       orig_cflags = <optimized out>
       checked = <optimized out>
       oautocont = <optimized out>
       oxtrerr = <optimized out>
       newxtrerr = <optimized out>
       args = <optimized out>
       redir = <optimized out>
       varspc = <optimized out>
       type = <optimized out>
       preargs = <optimized out>
#34 0x000055cec0655fdd in execpline2 (state=state@entry=0x7ffd1de87370, pcode=pcode@entry=451, how=how@entry=2, input=0, output=0,  
   last1=last1@entry=0) at /usr/src/debug/zsh-5.9/Src/exec.c:1964
       eparams = {args = 0x0, redir = 0x0, beg = 0x55cec7f75c64, varspc = 0x0, assignspc = 0x0, type = 17, postassigns = 0, htok = 0}
#35 0x000055cec0656435 in execpline (state=state@entry=0x7ffd1de87370, slcode=<optimized out>, how=how@entry=2, last1=last1@entry=0)
   at /usr/src/debug/zsh-5.9/Src/exec.c:1689
       ipipe = {0, 0}
       opipe = {0, 0}
       pj = 0
       newjob = 1
       old_simple_pline = 0
       slflags = 0
       code = 451
       lpforked = 0
       lastwj = 2
#36 0x000055cec06582b4 in execlist (state=state@entry=0x7ffd1de87370, dont_change_job=dont_change_job@entry=1, exiting=exiting@entry=0)
   at /usr/src/debug/zsh-5.9/Src/exec.c:1444
       isend = <optimized out>
       donedebug = <optimized out>
       this_donetrap = 0
       oerrexit_opt = <optimized out>
       next = 0x55cec7f75cdc
       code = <optimized out>
       ret = <optimized out>
       cj = 0
       csp = 0
       ltype = 2
       old_pline_level = <optimized out>
       old_list_pipe = <optimized out>
       old_list_pipe_job = <optimized out>
       old_list_pipe_text = 0x0
       oldlineno = 2
       oldnoerrexit = 0
       donetrap = 0
#37 0x000055cec0658bd4 in execode (p=0x55cec7f63a90, dont_change_job=1, exiting=0, context=0x55cec06e1ee3 "shfunc")
   at /usr/src/debug/zsh-5.9/Src/exec.c:1221
       s = {prog = 0x55cec7f63a90, pc = 0x55cec7f75cbc, strs = 0x55cec7f75dcc "local"}
       alen = <optimized out>
       zsh_eval_context_len = 16
#38 0x000055cec065c99d in runshfunc (prog=0x55cec7f63a90, wrap=0x0, name=0x7fbdc1d28188 "fzf-history-widget")
   at /usr/src/debug/zsh-5.9/Src/exec.c:6073
       cont = <optimized out>
       ouu = <optimized out>
       ou = 0x55cec88c0e50 "set debuginfod enabled on"
#39 0x000055cec065d0b0 in doshfunc (shfunc=shfunc@entry=0x55cec7e05860, doshargs=doshargs@entry=0x0, noreturnval=noreturnval@entry=1)
   at /usr/src/debug/zsh-5.9/Src/exec.c:5923
       funcsave = 0x7fbdc1d28020
       bytes = <optimized out>
       onptr = <optimized out>
       offptr = <optimized out>
       _switch_oldheaps = 0x7fbdc1d2f000
       pptab = 0x55cec7ded710
       x = <optimized out>
       ret = <optimized out>
       name = <optimized out>
       flags = <optimized out>
       fname = 0x7fbdc1d30558 "fzf-history-widget"
       prog = <optimized out>
       funcheap = 0x7fbdc1d2f000
       oflags = 0
       funcdepth = 1
#40 0x00007fbdc1b51431 in execzlefunc (func=0x55cec7f664e0, args=args@entry=0x7fbdc1b84ca8 <zlenoargs>, set_bindk=set_bindk@entry=0,  
   set_lbindk=set_lbindk@entry=0) at /usr/src/debug/zsh-5.9/Src/Zle/zle_main.c:1528
       osc = 0
       osi = 11
       oxt = 0
       largs = 0x0
       inuse = 0
       shf = 0x55cec7e05860
       r = 0
       ret = 0
       remetafy = 0
       nestedvichg = 0
       isrepeat = 0
       w = 0x55cec7f709e0
       save_bindk = 0x55cec7f664e0
       save_lbindk = 0x55cec7ec32a0
#41 0x00007fbdc1b53850 in zlecore () at /usr/src/debug/zsh-5.9/Src/Zle/zle_main.c:1149
       km = <optimized out>
#42 0x00007fbdc1b54584 in zleread (lp=<optimized out>, rp=<optimized out>, flags=<optimized out>, context=0,  
   init=0x7fbdc1b7339a "zle-line-init", finish=0x7fbdc1b7338a "zle-line-finish") at /usr/src/debug/zsh-5.9/Src/Zle/zle_main.c:1356
       s = <optimized out>
       bracket = 0x55cec7e15880
       old_errno = 3
       tmout = <optimized out>
#43 0x000055cec067c7b8 in zleentry (cmd=cmd@entry=1) at /usr/src/debug/zsh-5.9/Src/init.c:1631
       ret = 0x0
       ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffd1de87bb0, reg_save_area = 0x7ffd1de87af0}}
#44 0x000055cec067cfb5 in inputline () at /usr/src/debug/zsh-5.9/Src/input.c:424
       flags = <optimized out>
       ingetcline = <optimized out>
       ingetcpmptl = <optimized out>
       ingetcpmptr = <optimized out>
       context = <optimized out>
       ingetcline = <optimized out>
       ingetcpmptl = <optimized out>
       ingetcpmptr = <optimized out>
       context = <optimized out>
       pptbuf = <optimized out>
       pptlen = <optimized out>
       flags = <optimized out>
       stripptr = <optimized out>
       ct = <optimized out>
       ptr = <optimized out>
       oinbuf = <optimized out>
       newlen = <optimized out>
       oldlen = <optimized out>
#45 ingetc () at /usr/src/debug/zsh-5.9/Src/input.c:357
       lastc = <optimized out>
       lastc = <optimized out>
#46 ingetc () at /usr/src/debug/zsh-5.9/Src/input.c:321
       lastc = <optimized out>
#47 0x000055cec0670ad6 in ihgetc () at /usr/src/debug/zsh-5.9/Src/hist.c:415
       c = <optimized out>
#48 0x000055cec068a4c6 in gettok () at /usr/src/debug/zsh-5.9/Src/lex.c:622
       c = <optimized out>
       beginning = <optimized out>
       d = <optimized out>
       peekfd = <optimized out>
       peek = <optimized out>
       c = <optimized out>
       d = <optimized out>
       peekfd = <optimized out>
       peek = <optimized out>
       beginning = <optimized out>
       unpeekfd = <optimized out>
       e = <optimized out>
#49 zshlex () at /usr/src/debug/zsh-5.9/Src/lex.c:275
No locals.
#50 0x000055cec06a9576 in zshlex () at /usr/src/debug/zsh-5.9/Src/lex.c:268
       next = <optimized out>
       doc = <optimized out>
       munged_term = <optimized out>
#51 parse_event (endtok=37) at /usr/src/debug/zsh-5.9/Src/parse.c:615
No locals.
#52 0x000055cec067675a in loop (toplevel=toplevel@entry=1, justonce=justonce@entry=0) at /usr/src/debug/zsh-5.9/Src/init.c:150
       prog = <optimized out>
       err = <optimized out>
       non_empty = <optimized out>
#53 0x000055cec067e636 in zsh_main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/zsh-5.9/Src/init.c:1794
       errexit = 0
       t = <optimized out>
       runscript = 0x0
       zsh_name = <optimized out>
       cmd = 0x0
       t0 = <optimized out>
       needkeymap = 0
#54 0x000055cec062dd8b in main (argc=<optimized out>, argv=<optimized out>) at ./main.c:93
No locals.


-- 
Ondrej Malek


Messages sorted by: Reverse Date, Date, Thread, Author