Hi,

I just spent some time hunting done a segfault that was cropping up recently
for me, and I have narrowed it down to some python threading that the
clang_complete plugin is doing. I have attached a minimal vimrc that is needed
to make the bug appear, the two stripped-down plugin files (just put them into
~/.vim/plugin), a gdb backtrace log and my version information (it's the newest
one with all patches applied).

The segfault happens in the vim.eval(getline()) call in libclang.py. The
comment above refers to a short sleep being necessary for vim to initialize
itself, and indeed it seems to be timing related: the bug only appears with
larger cpp files, and if I increase the sleep time the bug disappears. Here is
a pretty large cpp file to test it with:

https://hg.mozilla.org/mozilla-central/raw-file/4b24c5ab84cb/js/src/jstracer.cpp

Unfortunately I don't really know enough about the vim internals to fix it
myself, but maybe it's actually not as complicated as it looks.

Cheers,
Jan

-- 
-[ OpenPGP key ID: 00A0FD5F ]-
People disagreeing everywhere you look, makes you wanna stop and read a
book.
                -- Bob Dylan

-- 
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
syntax enable
set foldmethod=syntax
au FileType c,cpp,objc,objcpp call <SID>InitClangCompletePython()

let s:plugin_path = escape(expand('<sfile>:p:h'), '\')

function! s:InitClangCompletePython()
    exe 'pyfile ' . s:plugin_path . '/libclang.py'
    python WarmupCache()
endfunction
import vim
import time
import threading

class CompleteThread(threading.Thread):
  lock = threading.Lock()

  def __init__(self):
    threading.Thread.__init__(self)

  def run(self):
    try:
      CompleteThread.lock.acquire()
      # Warm up the caches. For this it is sufficient to get the current
      # translation unit. No need to retrieve completion results.
      # This short pause is necessary to allow vim to initialize itself.
      # Otherwise we would get: E293: block was not locked
      # The user does not see any delay, as we just pause a background thread.
      time.sleep(0.1)
      file = "\n".join(vim.eval("getline(1, '$')"))
    except Exception:
      pass
    CompleteThread.lock.release()

def WarmupCache():
  t = CompleteThread()
  t.start()
  return
#0  0x0813089a in vim_strsave (string=0x5b960c1b <Address 0x5b960c1b out of 
bounds>) at misc2.c:1248
        p = 0x83c9f58 " *   Tomi Leppikangas <tomi.leppikan...@oulu.fi>"
        len = 3079624484
#1  0x0809e885 in list_append_string (l=0x83e7a28, str=0x5b960c1b <Address 
0x5b960c1b out of bounds>, 
    len=-1) at eval.c:6341
        li = 0x83c9f90
#2  0x080a42a5 in get_buffer_lines (buf=0x8299c30, start=29, end=6873, 
retlist=1, rettv=0x8403c28)
    at eval.c:10854
        p = 0x1ad9 <Address 0x1ad9 out of bounds>
#3  0x080a4cbd in f_getline (argvars=0xb78f55b8, rettv=0x8403c28) at 
eval.c:11365
        lnum = 1
        end = 6873
        retlist = 1
#4  0x080a0cad in call_func (funcname=0xb7917e94 "getline(1, '$')", len=7, 
rettv=0x8403c28, argcount=2, 
    argvars=0xb78f55b8, firstline=1, lastline=1, doesrange=0xb78f5724, 
evaluate=1, selfdict=0x0)
    at eval.c:8386
        ret = 0
        error = 0
        i = 88
        llen = 0
        fp = 0x69
        fname_buf =           
"\000\000\000\000\000\000\001\000\000\fW\217\267xU\217\267\342\264\t\b\264V\217\267\304U\217\267\001\000\000\000\000\000\000\000\000\000\000"
        fname = 0x8430f40 "getline"
        name = 0x8430f40 "getline"
#5  0x080a07e8 in get_func_tv (name=0xb7917e94 "getline(1, '$')", len=7, 
rettv=0x8403c28, arg=
    0xb78f5a48, firstline=1, lastline=1, doesrange=0xb78f5724, evaluate=1, 
selfdict=0x0) at eval.c:8199
        argp = 0xb7917ea3 ""
        ret = 1
        argvars =           {[0] = {
            v_type = 1 '\001', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 1, 
              v_float = 4.9406564584124654e-324, 
              v_string = 0x1 <Address 0x1 out of bounds>, 
              v_list = 0x1, 
              v_dict = 0x1
            }
          },
          [1] = {
            v_type = 2 '\002', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 138427368, 
              v_float = 6.8392206973023905e-316, 
              v_string = 0x8403be8 "$", 
              v_list = 0x8403be8, 
              v_dict = 0x8403be8
            }
          },
          [2] = {
            v_type = 0 '\000', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 0, 
              v_float = 0, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [3] = {
            v_type = 0 '\000', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 0, 
              v_float = 0, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [4] = {
            v_type = 0 '\000', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 0, 
              v_float = 4.2529570768294997e-269, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [5] = {
            v_type = 4 '\004', 
            v_lock = 0 '\000', 
            vval = {
              v_number = 0, 
              v_float = 0, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [6] = {
            v_type = -101 '\233', 
            v_lock = 126 '~', 
            vval = {
              v_number = -445254428, 
              v_float = -4.496576056022351e-41, 
              v_string = 0xe575f4e4 <Address 0xe575f4e4 out of bounds>, 
              v_list = 0xe575f4e4, 
              v_dict = 0xe575f4e4
            }
          },
          [7] = {
            v_type = 110 'n', 
            v_lock = 61 '=', 
            vval = {
              v_number = 137787296, 
              v_float = -5.020659859621984e-41, 
              v_string = 0x83677a0 "\017", 
              v_list = 0x83677a0, 
              v_dict = 0x83677a0
            }
          },
          [8] = {
            v_type = -28 '\344', 
            v_lock = -12 '\364', 
            vval = {
              v_number = 0, 
              v_float = 0, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [9] = {
            v_type = 0 '\000', 
            v_lock = 0 '\000', 
            vval = {
              v_number = -1215343016, 
              v_float = 6.3873254592715862e-270, 
              v_string = 0xb78f5658 
"\210V\217\267\325\375\n\b\240w6\b\224~\221\267", 
              v_list = 0xb78f5658, 
              v_dict = 0xb78f5658
            }
          },
          [10] = {
            v_type = -96 '\240', 
            v_lock = 119 'w', 
            vval = {
              v_number = -1215201644, 
              v_float = -4.496645728434629e-41, 
              v_string = 0xb7917e94 "getline(1, '$')", 
              v_list = 0xb7917e94, 
              v_dict = 0xb7917e94
            }
          },
          [11] = {
            v_type = -25 '\347', 
            v_lock = -17 '\357', 
            vval = {
              v_number = 0, 
              v_float = -5.020690372540882e-41, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [12] = {
            v_type = 120 'x', 
            v_lock = 86 'V', 
            vval = {
              v_number = 137787352, 
              v_float = -5.0206905130259482e-41, 
              v_string = 0x83677d8 "", 
              v_list = 0x83677d8, 
              v_dict = 0x83677d8
            }
          },
          [13] = {
            v_type = 0 '\000', 
            v_lock = 0 '\000', 
            vval = {
              v_number = -1215342968, 
              v_float = 6.3864806283037218e-270, 
              v_string = 0xb78f5688 "\310V\217\267g\006\n\b\224~\221\267", 
              v_list = 0xb78f5688, 
              v_dict = 0xb78f5688
            }
          },
          [14] = {
            v_type = -96 '\240', 
            v_lock = 119 'w', 
            vval = {
              v_number = -1215201644, 
              v_float = 1.5216064058950678e-314, 
              v_string = 0xb7917e94 "getline(1, '$')", 
              v_list = 0xb7917e94, 
              v_dict = 0xb7917e94
            }
          },
          [15] = {
            v_type = -101 '\233', 
            v_lock = 126 '~', 
            vval = {
              v_number = -1215096768, 
              v_float = 1.521658221523741e-314, 
              v_string = 
    0xb7931840 
"X\rJ\266\310\302\221\267l\236\367\267A|\353\345\260Ƒ\267\020њ\267", 
              v_list = 0xb7931840, 
              v_dict = 0xb7931840
            }
          },
          [16] = {
            v_type = -108 '\224', 
            v_lock = 126 '~', 
            vval = {
              v_number = 137787296, 
              v_float = -4.4988863061881338e-41, 
              v_string = 0x83677a0 "\017", 
              v_list = 0x83677a0, 
              v_dict = 0x83677a0
            }
          },
          [17] = {
            v_type = -80 '\260', 
            v_lock = 86 'V', 
            vval = {
              v_number = -1215342904, 
              v_float = 6.1577913839917156e-270, 
              v_string = 0xb78f56c8 "XW\217\267*\315\t\b\224~\221\267\a", 
              v_list = 0xb78f56c8, 
              v_dict = 0xb78f56c8
            }
          },
          [18] = {
            v_type = -108 '\224', 
            v_lock = 126 '~', 
            vval = {
              v_number = 0, 
              v_float = -3.5651173228947894e-47, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          },
          [19] = {
            v_type = -66 '\276', 
            v_lock = 71 'G', 
            vval = {
              v_number = -1215096796, 
              v_float = -5.0971212067674375e-41, 
              v_string = 0xb7931824 "\001", 
              v_list = 0xb7931824, 
              v_dict = 0xb7931824
            }
          },
          [20] = {
            v_type = 88 'X', 
            v_lock = 13 '\r', 
            vval = {
              v_number = 0, 
              v_float = 0, 
              v_string = 0x0, 
              v_list = 0x0, 
              v_dict = 0x0
            }
          }}
        argcount = 2
#6  0x0809cd2a in eval7 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1, 
want_string=0) at eval.c:5134
        n = 0
        len = 0
        s = 0xb7917e94 "getline(1, '$')"
        start_leader = 0xb7917e94 "getline(1, '$')"
        end_leader = 0xb7917e94 "getline(1, '$')"
        ret = 2
        alias = 0x0
#7  0x0809c64a in eval6 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1, 
want_string=0) at eval.c:4786
        var2 = {
          v_type = -52 '\314', 
          v_lock = 14 '\016', 
          vval = {
            v_number = -1208511956, 
            v_float = -6.9980876777226396e-41, 
            v_string = 0xb7f7922c "PM&", 
            v_list = 0xb7f7922c, 
            v_dict = 0xb7f7922c
          }
        }
        op = 127
        n1 = -1210055019
        n2 = -1208511956
        use_float = 0
        f1 = 0
        f2 = 9.9461758994834062e+75
        error = 0
#8  0x0809c2d1 in eval5 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1) at 
eval.c:4602
        var2 = {
          v_type = -128 '\200', 
          v_lock = 39 '\'', 
          vval = {
            v_number = -1215342004, 
            v_float = 1.5215370588410175e-314, 
            v_string = 0xb78f5a4c 
"\033-\342\267\370;@\b,p\005\b\210Z\217\267Vt\t\b\224~\221\267(<@\b", 
            v_list = 0xb78f5a4c, 
            v_dict = 0xb78f5a4c
          }
        }
        var3 = {
          v_type = 76 'L', 
          v_lock = 90 'Z', 
          vval = {
            v_number = 0, 
            v_float = -5.2386667277243083e-41, 
            v_string = 0x0, 
            v_list = 0x0, 
            v_dict = 0x0
          }
        }
        op = -1215342068
        n1 = -1210046738
        n2 = -1215151860
        f1 = 0
        f2 = 0
        s1 = 0x100 <Address 0x100 out of bounds>
        s2 = 0xb78f588c ""
        buf1 =           
"\217\267\335\063\266O\200b\230\267,\222\367\267,\222\367\267\377\377\377\377,˗\267,\222",
 <incomplete sequence \367\267>
        buf2 =           
"\364')\b\031\000\000\000܇ط\300\263\304O\200~\221\267\300\263\304Ohu>\b\254X"
        p = 0xb78f598c ""
#9  0x0809b95e in eval4 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1) at 
eval.c:4295
        var2 = {
          v_type = -120 '\210', 
          v_lock = -110 '\222', 
          vval = {
            v_number = 1336859128, 
            v_float = -4.4983088818457235e-41, 
            v_string = 0x4faed9f8 "symbol=%s;  lookup in file=%s [%lu]\n", 
            v_list = 0x4faed9f8, 
            v_dict = 0x4faed9f8
          }
        }
        p = 0x2c92cc5c <Address 0x2c92cc5c out of bounds>
        i = -1210975512
        type = TYPE_UNKNOWN
        type_is = 0
        len = 2
        n1 = 419
        n2 = -1211053596
        s1 = 0xb7d1acb8 "\332\004"
        s2 = 0x1c <Address 0x1c out of bounds>
        buf1 =           
"\255Ot\235\257O\354\311з\305\343\200\033\021\000\000\000\070\000\000\000\000\000\000\000\000\000\000"
        buf2 =           '\000' <repeats 12 times>"\364, 
\017\257O\374~ѷ\020\000\000\000tY\217\267\245", <incomplete sequence \341>
        regmatch = {
          regprog = 0x4faf9d74, 
          startp =             {[0] = 0xd696910 <Address 0xd696910 out of 
bounds>,
            [1] = 0x0,
            [2] = 0x4faddb73 "\266",
            [3] = 0x1 <Address 0x1 out of bounds>,
            [4] = 0x0,
            [5] = 0x2 <Address 0x2 out of bounds>,
            [6] = 0x823da19 "s",
            [7] = 0xb792410c "\001",
            [8] = 0xb7e9fe24 "too many tuple nesting levels in argument format 
string",
            [9] = 0x823da1a ""}, 
          endp =             {[0] = 0xb7d26680 "libc.so.6",
            [1] = 0xb7d1acb8 "\332\004",
            [2] = 0xb78f5940 "",
            [3] = 0xb78f58f4 
"tY\217\267\245\341\255Ot\235\257O\354\311з\305\343\200\033\021",
            [4] = 
    0x4faddb54 
"\205\300\017\204x\377\377\377\061\366\353͋A\b\205\300u\365\205\377u\361f\203", 
<incomplete sequence \344>,
            [5] = 0xb7d1ffc2 "PyEval_SaveThread",
            [6] = 0x8063e73 "PyEval_SaveThread",
            [7] = 0xb7e02780 "\017\266T$<\017\266ʋ",
            [8] = 0x5 <Address 0x5 out of bounds>,
            [9] = 0x843f224 ""}, 
          rm_ic = 0
        }
        ic = 5
        save_cpo = 0xb7d13000 ""
#10 0x0809b7ef in eval3 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1) at 
eval.c:4207
        var2 = {
          v_type = 0 '\000', 
          v_lock = 0 '\000', 
          vval = {
            v_number = 0, 
            v_float = 1.0609978954826362e-313, 
            v_string = 0x0, 
            v_list = 0x0, 
            v_dict = 0x0
          }
        }
        result = 1
        first = 0
        error = 0
#11 0x0809b691 in eval2 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1) at 
eval.c:4136
        var2 = {
          v_type = 36 '$', 
          v_lock = 90 'Z', 
          vval = {
            v_number = 1338291136, 
            v_float = 7.0329634236112164e+75, 
            v_string = 0x4fc4b3c0 "", 
            v_list = 0x4fc4b3c0, 
            v_dict = 0x4fc4b3c0
          }
        }
        result = 1338286068
        first = 0
        error = 0
#12 0x0809b4e2 in eval1 (arg=0xb78f5a48, rettv=0x8403c28, evaluate=1) at 
eval.c:4061
        result = -1208113064
        var2 = {
          v_type = 12 '\f', 
          v_lock = 0 '\000', 
          vval = {
            v_number = -1214678880, 
            v_float = -8.1158212628771245e-40, 
            v_string = 0xb79978a0 "\006", 
            v_list = 0xb79978a0, 
            v_dict = 0xb79978a0
          }
        }
#13 0x0809b44e in eval0 (arg=0xb7917e94 "getline(1, '$')", rettv=0x8403c28, 
nextcmd=0x0, evaluate=1)
    at eval.c:4018
        ret = -1209914085
        p = 0xb7917e9b "(1, '$')"
#14 0x08097456 in eval_expr (arg=0xb7917e94 "getline(1, '$')", nextcmd=0x0) at 
eval.c:1544
        tv = 0x8403c28
#15 0x08202754 in VimEval (self=0x0, args=("getline(1, '$')",)) at 
if_py_both.h:412
        _save = 0x8404708
        expr = 0xb7917e94 "getline(1, '$')"
        our_tv = 0x0
        result = <type at remote 0x843cb6c>
        lookup_dict = 0x0
#16 0xb7d8840e in PyCFunction_Call (func=<built-in function eval>, 
arg=("getline(1, '$')",), kw=0x0)
    at ../Objects/methodobject.c:116
        f = 0xb791878c
        meth = 0x8202706 <VimEval at if_py_both.h:400>
        self = <optimized out>
        size = <optimized out>
#17 0xb7dedae7 in call_function (oparg=<optimized out>, pp_stack=0xb78f5bc4) at 
../Python/ceval.c:4021
        callargs = ("getline(1, '$')",)
        flags = 1
        tstate = <optimized out>
        func = <built-in function eval>
        w = <optimized out>
        na = 138430216
        nk = <optimized out>
        n = -1215151860
        pfunc = 0x8422198
        x = <optimized out>
#18 PyEval_EvalFrameEx (f=
    Frame 0x8422054, for file /home/jan/.vim/plugin/libclang.py, line 20, in 
run (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _Thread_...(truncated), 
    throwflag=0) at ../Python/ceval.c:2666
        sp = 0x842219c
        stack_pointer = <optimized out>
        next_instr = 0xb7906223 "\203\001"
        opcode = <optimized out>
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = 
    (<unknown at remote 0x5>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, <unknown at remote 0x1>, <unknown at remote 0x1>, 0x0, <unknown 
at remote 0xb78f6b70>, <unknown at remote 0x449>, <unknown at remote 0x1>, 
<type at remote 0xb7f8b340>, <unknown at remote 0x42c>, <unknown at remote 
0xffffffff>, 0x0, <unknown at remote 0x61745320>, <unknown at remote 
0x7261646e>, <unknown at remote 0x65222064>, <unknown at remote 0x646f636e>, 
<unknown at remote 0x73676e69>, <unknown at remote 0x61502022>, <unknown at 
remote 0x67616b63>, <unknown at remote 0x200a0a65>, <unknown at remote 
0x53202020>, <unknown at remote 0x646e6174>, <unknown at remote 0x20647261>, 
<unknown at remote 0x68747950>, <unknown at remote 0x65206e6f>, <unknown at 
remote 0x646f636e>, <unknown at remote 0x20676e69>, <unknown at remote 
0x75646f6d>, <unknown at remote 0x2073656c>, <unknown at remote 0x20657261>, 
<unknown at remote 0x726f7473>, <unknown at remote 0x69206465>, <unknown at 
remote 0x6874206e>, <unknown at remote 0x70207369...(truncated)
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0x842218c
        freevars = 0x8422194
        retval = 0x0
        tstate = 0x8404708
        co = 0xb7975c38
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0xb79061f4 "y6"
        names = 
    ('CompleteThread', 'lock', 'acquire', 'time', 'sleep', 'join', 'vim', 
'eval', 'Exception', 'release')
        consts = (None, <float at remote 0x83b0ecc>, '\n', "getline(1, '$')")
#19 0xb7dee9ed in fast_function (nk=<optimized out>, na=138622516, n=1, 
pp_stack=0xb78f5cb4, func=
    <function at remote 0xb7915a04>) at ../Python/ceval.c:4107
        retval = 0x0
        i = <optimized out>
        fastlocals = 0x842218c
        f = 
    Frame 0x8422054, for file /home/jan/.vim/plugin/libclang.py, line 20, in 
run (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _Thread_...(truncated)
        tstate = <optimized out>
        stack = <optimized out>
        co = <optimized out>
        nd = 0
        globals = 
    (<unknown at remote 0x5>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, <unknown at remote 0x1>, <unknown at remote 0x1>, 0x0, <unknown 
at remote 0xb78f6b70>, <unknown at remote 0x449>, <unknown at remote 0x1>, 
<type at remote 0xb7f8b340>, <unknown at remote 0x42c>, <unknown at remote 
0xffffffff>, 0x0, <unknown at remote 0x61745320>, <unknown at remote 
0x7261646e>, <unknown at remote 0x65222064>, <unknown at remote 0x646f636e>, 
<unknown at remote 0x73676e69>, <unknown at remote 0x61502022>, <unknown at 
remote 0x67616b63>, <unknown at remote 0x200a0a65>, <unknown at remote 
0x53202020>, <unknown at remote 0x646e6174>, <unknown at remote 0x20647261>, 
<unknown at remote 0x68747950>, <unknown at remote 0x65206e6f>, <unknown at 
remote 0x646f636e>, <unknown at remote 0x20676e69>, <unknown at remote 
0x75646f6d>, <unknown at remote 0x2073656c>, <unknown at remote 0x20657261>, 
<unknown at remote 0x726f7473>, <unknown at remote 0x69206465>, <unknown at 
remote 0x6874206e>, <unknown at remote 0x70207369...(truncated)
        argdefs = <optimized out>
        d = 0x0
#20 call_function (oparg=<optimized out>, pp_stack=0xb78f5cb4) at 
../Python/ceval.c:4042
        func = <function at remote 0xb7915a04>
        w = <optimized out>
        na = 138622516
        nk = <optimized out>
        n = 1
        pfunc = 0x8433634
        x = <optimized out>
#21 PyEval_EvalFrameEx (f=
    Frame 0x84334ec, for file /usr/lib/python2.7/threading.py, line 552, in 
__bootstrap_inner (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args...(truncated), 
    throwflag=0) at ../Python/ceval.c:2666
        sp = 0x8433638
        stack_pointer = <optimized out>
        next_instr = 0x8433bb2 "\001Wn\a\001\004t\016"
        opcode = <optimized out>
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = <unknown at remote 0x8433634>
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0x8433624
        freevars = 0x8433634
        retval = 0x0
        tstate = 0x8404708
        co = 0xb791e890
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0x8433b0c "z\322\001|"
        names = 
    ('_set_ident', '_Thread__started', 'set', '_active_limbo_lock', '_active', 
'_Thread__ident', '_limbo', '_note', '_trace_hook', '_sys', 'settrace', 
'_profile_hook', 'setprofile', 'run', 'SystemExit', 'stderr', 'write', 'name', 
'_format_exc', '_Thread__exc_info', '_Thread__stderr', 'tb_frame', 'f_code', 
'co_filename', 'tb_lineno', 'co_name', 'tb_next', '_Thread__exc_clear', 
'_Thread__stop', '_get_ident')
        consts = 
    (None, '%s.__bootstrap(): thread started', '%s.__bootstrap(): registering 
trace hook', '%s.__bootstrap(): registering profile hook', '%s.__bootstrap(): 
raised SystemExit', '%s.__bootstrap(): unhandled exception', 'Exception in 
thread %s:\n%s\n', 'Exception in thread ', ' (most likely raised during 
interpreter shutdown):', 'Traceback (most recent call last):', '  File "%s", 
line %s, in %s', '%s: %s', '%s.__bootstrap(): normal return')
#22 0xb7dee9ed in fast_function (nk=<optimized out>, na=138622152, n=1, 
pp_stack=0xb78f5da4, func=
    <function at remote 0xb792fd4c>) at ../Python/ceval.c:4107
        retval = 0x0
        i = <optimized out>
        fastlocals = 0x8433624
        f = 
    Frame 0x84334ec, for file /usr/lib/python2.7/threading.py, line 552, in 
__bootstrap_inner (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args...(truncated)
        tstate = <optimized out>
        stack = <optimized out>
        co = <optimized out>
        nd = 0
        globals = 
    (<unknown at remote 0x5>, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0, 0x0, 0x0, <unknown at remote 0x1>, <unknown at remote 0x1>, 0x0, <unknown 
at remote 0xb78f6b70>, <unknown at remote 0x449>, <unknown at remote 0x1>, 
<type at remote 0xb7f8b340>, <unknown at remote 0x42c>, <unknown at remote 
0xffffffff>, 0x0, <unknown at remote 0x61745320>, <unknown at remote 
0x7261646e>, <unknown at remote 0x65222064>, <unknown at remote 0x646f636e>, 
<unknown at remote 0x73676e69>, <unknown at remote 0x61502022>, <unknown at 
remote 0x67616b63>, <unknown at remote 0x200a0a65>, <unknown at remote 
0x53202020>, <unknown at remote 0x646e6174>, <unknown at remote 0x20647261>, 
<unknown at remote 0x68747950>, <unknown at remote 0x65206e6f>, <unknown at 
remote 0x646f636e>, <unknown at remote 0x20676e69>, <unknown at remote 
0x75646f6d>, <unknown at remote 0x2073656c>, <unknown at remote 0x20657261>, 
<unknown at remote 0x726f7473>, <unknown at remote 0x69206465>, <unknown at 
remote 0x6874206e>, <unknown at remote 0x70207369...(truncated)
        argdefs = <optimized out>
        d = 0x0
#23 call_function (oparg=<optimized out>, pp_stack=0xb78f5da4) at 
../Python/ceval.c:4042
        func = <function at remote 0xb792fd4c>
        w = <optimized out>
        na = 138622152
        nk = <optimized out>
        n = 1
        pfunc = 0x84334c8
        x = <optimized out>
#24 PyEval_EvalFrameEx (f=
    Frame 0x843338c, for file /usr/lib/python2.7/threading.py, line 525, in 
__bootstrap (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _...(truncated), 
    throwflag=0) at ../Python/ceval.c:2666
        sp = 0x84334cc
        stack_pointer = <optimized out>
        next_instr = 0xb796bd60 "\001Wn#"
        opcode = <optimized out>
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = <unknown at remote 0x84334c8>
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0x84334c4
        freevars = 0x84334c8
        retval = 0x0
        tstate = 0x8404708
        co = 0xb791e7b8
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0xb796bd54 "y\016"
        names = ('_Thread__bootstrap_inner', '_Thread__daemonic', '_sys', 
'None')
        consts = (None,)
#25 0xb7defb54 in PyEval_EvalCodeEx (co=0xb791e7b8, globals=
    {'current_thread': <function at remote 0xb7930224>, '_BoundedSemaphore': 
<type at remote 0x843c994>, 'currentThread': <function at remote 0xb7930224>, 
'_Timer': <type at remote 0x843d304>, '_format_exc': <function at remote 
0xb796a4c4>, 'Semaphore': <function at remote 0xb792f534>, 'activeCount': 
<function at remote 0xb7930304>, '_profile_hook': None, '_sleep': <built-in 
function sleep>, '_trace_hook': None, 'ThreadError': <type at remote 
0x842c59c>, '_enumerate': <function at remote 0xb793033c>, '_start_new_thread': 
<built-in function start_new_thread>, 'BoundedSemaphore': <function at remote 
0xb792f79c>, '_shutdown': <instancemethod at remote 0xb7944e3c>, '__all__': 
['activeCount', 'active_count', 'Condition', 'currentThread', 'current_thread', 
'enumerate', 'Event', 'Lock', 'RLock', 'Semaphore', 'BoundedSemaphore', 
'Thread', 'Timer', 'setprofile', 'settrace', 'local', 'stack_size'], '_Event': 
<type at remote 0x843ce4c>, 'active_count': <function at remote 0xb7930304>, 
'__package__': None, '_Condition': <typ...(truncated), 
    locals=0x0, args=0xb791b4f8, argcount=1, kws=0x0, kwcount=0, defs=0x0, 
defcount=0, closure=0x0)
    at ../Python/ceval.c:3253
        f = 
    Frame 0x843338c, for file /usr/lib/python2.7/threading.py, line 525, in 
__bootstrap (self=<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _...(truncated)
        retval = 0x0
        fastlocals = 0x84334c4
        freevars = 0x84334c8
        tstate = 0x8404708
        x = <optimized out>
        u = <optimized out>
#26 0xb7d7143c in function_call (func=<function at remote 0xb792fcdc>, arg=
    (<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _Thread__stopped=False, _Thread__initialized=True) at remote 
0xb7918bec>,), kw=0x0)
    at ../Objects/funcobject.c:526
        result = <optimized out>
        argdefs = <optimized out>
        kwtuple = 0x0
        d = 0x0
        k = 0x0
        nk = 0
        nd = 0
#27 0xb7d46fd4 in PyObject_Call (func=<function at remote 0xb792fcdc>, arg=
    (<CompleteThread(_Thread__ident=-1215337616, 
_Thread__block=<_Condition(_Verbose__verbose=False, 
_Condition__lock=<thread.lock at remote 0xb79ad120>, acquire=<built-in method 
acquire of thread.lock object at remote 0xb79ad120>, _Condition__waiters=[], 
release=<built-in method release of thread.lock object at remote 0xb79ad120>) 
at remote 0xb7920fcc>, _Thread__name='Thread-1', _Thread__daemonic=False, 
_Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, 
_Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock 
at remote 0xb79ad110>, acquire=<built-in method acquire of thread.lock object 
at remote 0xb79ad110>, _Condition__waiters=[], release=<built-in method release 
of thread.lock object at remote 0xb79ad110>) at remote 0xb7920e8c>) at remote 
0xb7918dac>, _Thread__stderr=<message at remote 0x8285984>, 
_Thread__target=None, _Thread__kwargs={}, _Verbose__verbose=False, 
_Thread__args=(), _Thread__stopped=False, _Thread__initialized=True) at remote 
0xb7918bec>,), kw=0x0)
    at ../Objects/abstract.c:2529
        result = <optimized out>
        call = 0xb7d71390 <function_call at ../Objects/funcobject.c:489>
#28 0xb7d5454c in instancemethod_call (func=<function at remote 0xb792fcdc>, 
arg=<optimized out>, kw=
    0x0) at ../Objects/classobject.c:2578
        self = <optimized out>
        klass = <optimized out>
        result = <optimized out>
#29 0xb7d46fd4 in PyObject_Call (func=<instancemethod at remote 0xb7958c34>, 
arg=(), kw=0x0)
    at ../Objects/abstract.c:2529
        result = <optimized out>
        call = 0xb7d544b0 <instancemethod_call at ../Objects/classobject.c:2526>
#30 0xb7de83eb in PyEval_CallObjectWithKeywords (func=<instancemethod at remote 
0xb7958c34>, arg=(), kw=
    0x0) at ../Python/ceval.c:3890
        result = <optimized out>
#31 0xb7e274b0 in t_bootstrap (boot_raw=0x843c2b0) at 
../Modules/threadmodule.c:614
        boot = 0x843c2b0
        tstate = 0x8404708
        res = <optimized out>
#32 0x4fc83c39 in start_thread (arg=0xb78f6b70) at pthread_create.c:304
        __res = <optimized out>
        __ignore1 = <optimized out>
        __ignore2 = <optimized out>
        pd = 0xb78f6b70
        now = <optimized out>
        unwind_buf = {
          cancel_jmp_buf =             {[0] = {
              jmp_buf =                 {[0] = 1338589172,
                [1] = 0,
                [2] = 4001536,
                [3] = -1215339800,
                [4] = 1845859011,
                [5] = -524713677}, 
              mask_was_saved = 0
            }}, 
          priv = {
            pad =               {[0] = 0x0,
              [1] = 0x0,
              [2] = 0x0,
              [3] = 0x0}, 
            data = {
              prev = 0x0, 
              cleanup = 0x0, 
              canceltype = 0
            }
          }
        }
        not_first_call = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ =           "start_thread"
#33 0x4fbc096e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further


VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Nov 18 2011 14:28:14)
Included patches: 1-353
Compiled by Jan Larres <j...@majutsushi.net>
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard 
+cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope 
+cursorbind +cursorshape 
+dialog_con_gui +diff +digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra 
+extra_search +farsi 
+file_in_path +find_in_path +float +folding -footer +fork() +gettext 
-hangul_input +iconv +insert_expand
 +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
-lua +menu +mksession 
+modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm 
+mouse_netterm -mouse_sysmouse 
+mouse_xterm +mouse_urxvt +multi_byte +multi_lang -mzscheme +netbeans_intg 
+path_extra +perl 
+persistent_undo +postscript +printer +profile +python -python3 +quickfix 
+reltime +rightleft +ruby 
+scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop 
+syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title 
+toolbar +user_commands 
+vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore 
+wildmenu +windows 
+writebackup +X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save 
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/home/jan/src/vim/installed/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread 
-I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include 
-I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 
-I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 
-I/usr/include/cairo -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include   -I/usr/local/include  -g -DDEBUG -Wall -Wshadow 
-Wmissing-prototypes  -D_FORTIFY_SOURCE=1      
Linking: gcc   -L.  -rdynamic -Wl,-export-dynamic  -Wl,-E   -L/usr/local/lib 
-Wl,--as-needed -o vim   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 
-lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 
-lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt 
-lglib-2.0   -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -ltinfo -lnsl   
-ldl    -Wl,-E  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl/5.12/CORE 
-lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config -lpython2.7 
-lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 
-Wl,-Bsymbolic-functions   -lruby1.8 -lpthread -lrt -ldl -lcrypt -lm  
-L/usr/lib   
  DEBUG BUILD

Reply via email to