...
Rebuild Vim. Then you can run Vim with gdb with a breakpoint

> when Vim gives E341:
>
> $ cd vim/src
>
> $ grep -n E341 *c
> misc2.c:902:    EMSGN(_("E341: Internal error: lalloc(%ld, )"), size);
>
> $ gdb --args ./vim -f -g
>
> (gdb) br misc2.c:902
> Breakpoint 1 at 0x4eb006: file misc2.c, line 902.
> (gdb) run
>
> Then when Vim hits the breakpoint, you can type gdb command "bt"
> to get a backtrace.
>
>

For some background.
This crash only happens on Ubuntu in my case.

Clipboard must have unnamedplus in it.
I am copying Unicode characters (Chinese in this case) and flipping between
GUI Vim and Chrome.
set clipboard=unnamedplus,autoselect,exclude:cons|linux

The YankRing plugin has a Focus autocmd which checks it and if it is
different adds it to the ring.

Here is :set

:set
--- Options ---
noarabicshape         hlsearch            scrolloff=2       nottybuiltin
  autoindent          ignorecase          shiftwidth=4        ttyscroll=0
  background=dark     incsearch           shortmess=at        visualbell
  cmdheight=2         laststatus=2        showbreak=>>
 whichwrap=<,>,h,l
  cursorcolumn      noloadplugins         showcmd             wildmenu
  cursorline          modelines=10        showmatch           window=32
  expandtab           mouse=a             smartcase         nowritebackup
  helplang=en         nrformats=hex     nostartofline
  hidden              ruler               timeoutlen=3000
  history=500         scroll=15           ttimeoutlen=100
  backspace=indent,eol,start
  clipboard=unnamedplus,autoselect,exclude:cons|linux
  comments=b:#,:%,n:>
  cpoptions=aABceFs$
  fileencodings=iso-8859-15,iso-8859-3,ucs-bom,utf-8,utf-16
  fileformats=unix,dos,mac
  foldopen=block,hor,mark,percent,quickfix,search,tag,undo,jump
  formatoptions=cqtro
  grepprg=grep -nH $*
  guifont=DejaVu Sans Mono 11
  scrollopt=ver,jump,hor
  statusline= %-.50f%r%y%m B:%n%=%l,%c%V %p%%
  termencoding=utf-8
  viminfo="50,'1000,h,f1,rA:,r/tmp:,:500,/500,!,n$HOME/.viminfo




Here is the back trace.

#0  lalloc (size=0, message=1) at misc2.c:902
#1  0x0000000000508b64 in lalloc_clear (size=0, message=1) at misc2.c:875
#2  0x0000000000535a00 in str_to_reg (y_ptr=0x899170, yank_type=228,
    str=0xc8db09 "", len=-1, blocklen=0) at ops.c:6372
#3  0x000000000053510a in clip_yank_selection (type=228, str=0xc8db09
"",  len=-1, cbd=0x89fbe0) at ops.c:5960
#4  0x00000000005eb467 in selection_received_cb (widget=0xa46550,
    data=0x7fffffffa2a0, time_=0, user_data=0x0) at gui_gtk_x11.c:1264
#5  0x00007ffff6e45ca2 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#6  0x00007ffff6e56d71 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007ffff6e5f099 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#8  0x00007ffff6e5f754 in g_signal_emit_by_name ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff793b513 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#10 0x00007ffff793ef0a in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#11 0x00007ffff78d6dd8 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff6e45ca2 in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff6e57339 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x00007ffff6e5ed7e in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x00007ffff6e5f242 in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x00007ffff79f1191 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#17 0x00007ffff78d54fb in gtk_main_do_event ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#18 0x00007ffff7549cac in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#19 0x00007ffff6b88d53 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff6b890a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x00007ffff6b89164 in g_main_context_iteration ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#22 0x00000000005f2b43 in clip_mch_request_selection (cbd=0x89fbe0)
    at gui_gtk_x11.c:5654
#23 0x00000000005ca562 in clip_gen_request_selection (cbd=0x89fbe0)
    at ui.c:1450
#24 0x00000000005350a9 in clip_get_selection (cbd=0x89fbe0) at ops.c:5937
#25 0x000000000052b2df in may_get_selection (regname=43) at ops.c:941
#26 0x00000000005354f4 in get_reg_contents (regname=43, allowexpr=1,
    expr_src=1) at ops.c:6159
#27 0x000000000045ccfd in eval7 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1, want_string=0) at eval.c:5111
#28 0x000000000045c71b in eval6 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1, want_string=0) at eval.c:4810
#29 0x000000000045c28a in eval5 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1) at eval.c:4626
#30 0x000000000045b689 in eval4 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1) at eval.c:4319
#31 0x000000000045b4d6 in eval3 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1) at eval.c:4231
#32 0x000000000045b355 in eval2 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1) at eval.c:4160
#33 0x000000000045b194 in eval1 (arg=0x7fffffffb240, rettv=0x7fffffffb0f0,
    evaluate=1) at eval.c:4085
#34 0x0000000000461535 in get_func_tv (
    name=0xc8de0f "len(@+) > 0 && @+ != s:yr_prev_clipboard_plus", len=3,
    rettv=0x7fffffffb750, arg=0x7fffffffb710, firstline=5, lastline=5,
    doesrange=0x7fffffffb2e0, evaluate=1, selfdict=0x0) at eval.c:8307
#35 0x000000000045ce82 in eval7 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1, want_string=0) at eval.c:5158
#36 0x000000000045c71b in eval6 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1, want_string=0) at eval.c:4810
#37 0x000000000045c28a in eval5 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1) at eval.c:4626
#38 0x000000000045b689 in eval4 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1) at eval.c:4319
#39 0x000000000045b4d6 in eval3 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1) at eval.c:4231
#40 0x000000000045b355 in eval2 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1) at eval.c:4160
#41 0x000000000045b194 in eval1 (arg=0x7fffffffb710, rettv=0x7fffffffb750,
    evaluate=1) at eval.c:4085
#42 0x000000000045b0f3 in eval0 (
    arg=0xc8de0f "len(@+) > 0 && @+ != s:yr_prev_clipboard_plus",
    rettv=0x7fffffffb750, nextcmd=0x7fffffffb7f8, evaluate=1) at eval.c:4042
#43 0x0000000000455fd4 in eval_to_bool (
    arg=0xc8de0f "len(@+) > 0 && @+ != s:yr_prev_clipboard_plus",
    error=0x7fffffffb7a4, nextcmd=0x7fffffffb7f8, skip=0) at eval.c:1274
#44 0x00000000004a3d75 in ex_if (eap=0x7fffffffb7f0) at ex_eval.c:886
#45 0x0000000000493cb6 in do_one_cmd (cmdlinep=0x7fffffffb9d8, sourcing=1,
    cstack=0x7fffffffba70, fgetline=0x47a6d4 <get_func_line>,
cookie=0xca40d0)
    at ex_docmd.c:2679
#46 0x0000000000491259 in do_cmdline (cmdline=0x0,
    fgetline=0x47a6d4 <get_func_line>, cookie=0xca40d0, flags=7)
    at ex_docmd.c:1122
#47 0x0000000000479b9a in call_user_func (fp=0xc68cd0, argcount=0,
    argvars=0x7fffffffc380, rettv=0x7fffffffc540, firstline=5, lastline=5,
    selfdict=0x0) at eval.c:22540
#48 0x0000000000461a46 in call_func (
    funcname=0x949f30 "\200\375R12_YRCheckClipboard", len=22,
    rettv=0x7fffffffc540, argcount=0, argvars=0x7fffffffc380, firstline=5,
    lastline=5, doesrange=0x7fffffffc588, evaluate=1, selfdict=0x0)
    at eval.c:8480
#49 0x00000000004615d1 in get_func_tv (
    name=0x949f30 "\200\375R12_YRCheckClipboard", len=22,
    rettv=0x7fffffffc540, arg=0x7fffffffc558, firstline=5, lastline=5,
    doesrange=0x7fffffffc588, evaluate=1, selfdict=0x0) at eval.c:8322
#50 0x000000000045a0ad in ex_call (eap=0x7fffffffc5e0) at eval.c:3465
#51 0x0000000000493cb6 in do_one_cmd (cmdlinep=0x7fffffffc7c8, sourcing=1,
    cstack=0x7fffffffc860, fgetline=0x47a6d4 <get_func_line>,
cookie=0xcb0e20)
    at ex_docmd.c:2679
#52 0x0000000000491259 in do_cmdline (cmdline=0x0,
    fgetline=0x47a6d4 <get_func_line>, cookie=0xcb0e20, flags=7)
    at ex_docmd.c:1122
#53 0x0000000000479b9a in call_user_func (fp=0xc67980, argcount=0,
    argvars=0x7fffffffd170, rettv=0x7fffffffd330, firstline=5, lastline=5,
    selfdict=0x0) at eval.c:22540
#54 0x0000000000461a46 in call_func (
    funcname=0xc7a070 "\200\375R12_YRFocusGained", len=19,
    rettv=0x7fffffffd330, argcount=0, argvars=0x7fffffffd170, firstline=5,
    lastline=5, doesrange=0x7fffffffd378, evaluate=1, selfdict=0x0)
    at eval.c:8480
#55 0x00000000004615d1 in get_func_tv (
    name=0xc7a070 "\200\375R12_YRFocusGained", len=19,
rettv=0x7fffffffd330,
    arg=0x7fffffffd348, firstline=5, lastline=5, doesrange=0x7fffffffd378,
    evaluate=1, selfdict=0x0) at eval.c:8322
#56 0x000000000045a0ad in ex_call (eap=0x7fffffffd3d0) at eval.c:3465
#57 0x0000000000493cb6 in do_one_cmd (cmdlinep=0x7fffffffd5b8, sourcing=1,
    cstack=0x7fffffffd650, fgetline=0x4c0331 <getnextac>,
    cookie=0x7fffffffdb50) at ex_docmd.c:2679
#58 0x0000000000491259 in do_cmdline (cmdline=0x0,
    fgetline=0x4c0331 <getnextac>, cookie=0x7fffffffdb50, flags=7)
    at ex_docmd.c:1122
#59 0x00000000004bfe3b in apply_autocmds_group (event=EVENT_FOCUSGAINED,
    fname=0xc98100 "/opt/download/vim/yankring/unicode/foo", fname_io=0x0,
    force=0, group=-3, buf=0x8a9a20, eap=0x0) at fileio.c:9435
#60 0x00000000004bf671 in apply_autocmds (event=EVENT_FOCUSGAINED,
fname=0x0,
    fname_io=0x0, force=0, buf=0x8a9a20) at fileio.c:9032
#61 0x00000000005ccd49 in ui_focus_change (in_focus=1) at ui.c:3177
#62 0x00000000004c93ca in vgetc () at getchar.c:1647
#63 0x00000000004c97cd in safe_vgetc () at getchar.c:1787
#64 0x000000000051a50d in normal_cmd (oap=0x7fffffffde10, toplevel=1)
    at normal.c:665
#65 0x0000000000605959 in main_loop (cmdwin=0, noexmode=0) at main.c:1306
#66 0x0000000000605323 in main (argc=11, argv=0x7fffffffe138) at main.c:1010


I still can't reliably recreate the problem.  If the backtrace provides
some idea of what action I followed recreated it, I will try it again.  My
couple times tonight, only dumped once.

Thanks,
David

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui