On 05/20/2010 07:07 AM, James Vega wrote:
> On Mon, May 10, 2010 at 10:40:06AM +0200, Bernd Zeimetz wrote:
>> Although this does not happen when I run vim with -u NONE -U NONE,
>> I think it is still worth to report this segfault as the vim code should
>> be robust enough to handle even broken configs without segfaulting while
>> receiving a sigterm.
>
> This seems to be working with the latest upload. Could you verify?
I gave 2:7.2.436+hg~e12b9d992389-1 a try, but it still segfaults. Backtrace is
attached.
--
Bernd Zeimetz Debian GNU/Linux Developer
http://bzed.de http://www.debian.org
GPG Fingerprints: 06C8 C9A2 EAAD E37E 5B2C BE93 067A AD04 C93B FF79
ECA1 E3F2 8E11 2432 D485 DD95 EB36 171A 6FF9 435F
Program received signal SIGTERM, Terminated.
0x00007ffff705ede3 in select () from /lib/libc.so.6
~
Thread 1 (process 701):
#0 0x00007ffff705ede3 in select () from /lib/libc.so.6
No symbol table info available.
#1 0x00000000004e0d7c in RealWaitForChar (fd=0, msec=<value optimized out>,
check_for_gpm=0x7fffffffde3c) at os_unix.c:5019
tv = {tv_sec = 8827944, tv_usec = 8056816}
efds = {__fds_bits = {1, 0 <repeats 15 times>}}
tvp = 0x0
rfds = {__fds_bits = {1, 0 <repeats 15 times>}}
maxfd = <value optimized out>
ret = <value optimized out>
#2 0x00000000004e3856 in WaitForChar (msec=-1) at os_unix.c:4722
gpm_process_wanted = 0
avail = 0
#3 0x00000000004e494e in mch_inchar (buf=0x7a578b "", maxlen=84, wtime=-1,
tb_change_cnt=5) at os_unix.c:413
len = <value optimized out>
#4 0x000000000053daa2 in ui_inchar (buf=0x7a578b "", maxlen=<value optimized
out>, wtime=<value optimized out>, tb_change_cnt=<value optimized out>) at
ui.c:193
retval = <value optimized out> VIM - Vi IMproved
#5 0x000000000047d99e in inchar (buf=0x7a578b "", maxlen=<value optimized
out>, wait_time=-1, tb_change_cnt=5) at getchar.c:3004
version 7.2.436
len = <value optimized out> by Bram Moolenaar et al.
retesc = 0 Modified by [email protected]
script_char = -1 Vim is open source and freely distributable
#6 0x000000000047f8c6 in vgetorpeek (advance=<value optimized out>) at
getchar.c:2780
c = <value optimized out> Help poor children in Uganda!
c1 = <value optimized out> :help iccf<Enter> for information
keylen = 0
s = <value optimized out> :q<Enter> to exit
mp = <value optimized out> :help<Enter> or <F1> for on-line help
mp2 = <value optimized out>:help version7<Enter> for version info
mp_match = 0x0
mp_match_len = 0
timedout = 0
mapdepth = <value optimized out>
mode_deleted = 0
local_State = 257
mlen = <value optimized out>
max_mlen = <value optimized out>
i = 0
new_wcol = 0
new_wrow = 0
n = <value optimized out>
nolmaplen = 2
old_wcol = 0
old_wrow = <value optimized out>
wait_tb_len = -514
#7 0x0000000000480596 in vgetc () at getchar.c:1559
c = -1
c2 = 0
n = <value optimized out>
buf = '\000' <repeats 20 times>
i = <value optimized out>
#8 0x00000000004809c9 in safe_vgetc () at getchar.c:1764
c = <value optimized out>
0,0-1 All
#9 0x00000000004c992d in normal_cmd (oap=0x7fffffffe1e0, toplevel=1) at
normal.c:652
ca = {oap = 0x7fffffffe1e0, prechar = 0, cmdchar = 0, nchar = 0,
ncharC1 = 0, ncharC2 = 0, extra_char = 0, opcount = 0, count0 = 0, count1 = 0,
arg = 0, retval = 0, searchbuf = 0x0}
c = <value optimized out>
ctrl_w = <value optimized out>
old_col = 0
need_flushbuf = <value optimized out>
mapped_len = 0
old_mapped_len = 0
idx = <value optimized out>
set_prevcount = 1
#10 0x000000000048e2dd in main_loop (cmdwin=0, noexmode=0) at main.c:1214
oa = {op_type = 0, regname = 0, motion_type = 0, motion_force = 0,
use_reg_one = 0, inclusive = 0, end_adjusted = 0, start = {lnum = 0, col = 0,
coladd = 0}, end = {lnum = 0, col = 0, coladd = 0}, cursor_start = {lnum = 0,
col = 0, coladd = 0}, line_count = 0, empty = 0, is_VIsual = 0, block_mode = 0,
start_vcol = 0, end_vcol = 0, prev_opcount = 0, prev_count0 = 0}
previous_got_int = 0
#11 0x0000000000490a1d in main (argc=<value optimized out>, argv=<value
optimized out>) at main.c:958
fname = <value optimized out>
params = {argc = 1, argv = 0x7fffffffe508, evim_mode = 0, use_vimrc =
0x0, n_commands = 0, commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, cmds_tofree = "\000\000\000\000\000\000\000\000\000", n_pre_commands = 0,
pre_commands = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, edit_type =
0, tagname = 0x0, use_ef = 0x0, want_full_screen = 1, stdout_isatty = 1, term =
0x0, ask_for_key = 0, no_swap_file = 0, use_debug_break_level = -1,
window_count = 1, window_layout = 0, diff_mode = 0, vi_mode = 0}
i = <value optimized out>