Package: elvish
Version: 0.12+ds1-1
Severity: normal

We have a 100% chance to reproduce this crash.

1. $ elvish
2. type Ctrl + n twice
3. elvish crashed.


~ ❯❯❯ elvish
~>

runtime error: invalid memory address or nil pointer dereference
goroutine 1 [running]:
github.com/elves/elvish/sys.DumpStack(0xc42033c8d8, 0x1)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/sys/dumpstack.go:10
 +0xa2
github.com/elves/elvish/program/shell.rescue()
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/shell.go:60
 +0xc5
panic(0x87e080, 0xbbc240)
        /usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/elves/elvish/eval.catch(0xc42033d748, 0xc42022c420)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/eval/frame.go:190
 +0x266
panic(0x87e080, 0xbbc240)
        /usr/lib/go-1.10/src/runtime/panic.go:502 +0x229
github.com/elves/elvish/edit/edcore.(*navigation).List(0xc42017fe00, 0x2b, 
0xc42017fe00, 0x7f6e37627258)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/navigation.go:346
 +0x80
github.com/elves/elvish/edit/edcore.(*editorRenderer).Render(0xc42028ade0, 
0xc4200a25f0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/render.go:242
 +0x10b4
github.com/elves/elvish/edit/ui.Render(0x970700, 0xc42028ade0, 0x55, 0x971660)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/ui/render.go:16
 +0x10b
github.com/elves/elvish/edit/edcore.(*editor).refresh(0xc420204000, 0x970101, 
0xc42017fef0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/edit.go:268
 +0x2db
github.com/elves/elvish/edit/edcore.(*editor).CallFn(0xc420204000, 0x970780, 
0xc42017fef0, 0x0, 0x0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/api.go:121
 +0x27e
github.com/elves/elvish/edit/edcore.(*navigation).defaultFn(0xc42017fe00, 
0xc420204000)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/navigation.go:165
 +0xbf
github.com/elves/elvish/edit/edcore.initNavigation.func4()
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/navigation.go:65
 +0x33
reflect.Value.call(0x84a480, 0xc420180560, 0x13, 0x90d4f8, 0x4, 0x0, 0x0, 0x0, 
0x60, 0x84a480, ...)
        /usr/lib/go-1.10/src/reflect/value.go:447 +0x969
reflect.Value.Call(0x84a480, 0xc420180560, 0x13, 0x0, 0x0, 0x0, 0x7f6e46213000, 
0x0, 0xc4201cc000)
        /usr/lib/go-1.10/src/reflect/value.go:308 +0xa4
github.com/elves/elvish/eval.(*BuiltinFn).Call(0xc42017ff40, 0xc42022c420, 0x0, 
0x0, 0x0, 0xc420196210, 0x8ecf00, 0xc420597700)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/eval/builtin_fn.go:184
 +0x55c
github.com/elves/elvish/eval.(*Frame).Call(0xc42022c420, 0x970780, 
0xc42017ff40, 0x0, 0x0, 0x0, 0xc420196210, 0x0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/eval/frame.go:143
 +0xbb
github.com/elves/elvish/edit/edcore.(*editor).CallFn(0xc420204000, 0x970780, 
0xc42017ff40, 0x0, 0x0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/api.go:115
 +0x257
github.com/elves/elvish/edit/edcore.(*editor).ReadLine(0xc420204000, 0x0, 0x0, 
0x0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/edcore/edit.go:500
 +0x9af
github.com/elves/elvish/program/shell.interact.func1(0x895fc0, 0xc4202a0a60, 
0x13, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/interact.go:41
 +0x2f
github.com/elves/elvish/program/shell.interact(0xc4201a4320, 0xc420024340, 
0x13, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/interact.go:51
 +0x219
github.com/elves/elvish/program/shell.(*Shell).Main(0xc42006ce40, 0xc420092170, 
0x0, 0x0, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/shell.go:48
 +0x1a7
github.com/elves/elvish/program.Main(0xc420092170, 0x1, 0x1, 0x0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/program.go:119
 +0x180
main.main()
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/main.go:14
 +0x45

goroutine 19 [syscall]:
os/signal.signal_recv(0x0)
        /usr/lib/go-1.10/src/runtime/sigqueue.go:139 +0xa6
os/signal.loop()
        /usr/lib/go-1.10/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.0
        /usr/lib/go-1.10/src/os/signal/signal_unix.go:28 +0x41

goroutine 4 [chan receive]:
github.com/elves/elvish/eval.init.13.func1()
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/eval/port.go:49
 +0x53
created by github.com/elves/elvish/eval.init.13
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/eval/port.go:48
 +0x49

goroutine 7 [select, locked to thread]:
runtime.gopark(0x936b28, 0x0, 0x90f4b4, 0x6, 0x18, 0x1)
        /usr/lib/go-1.10/src/runtime/proc.go:291 +0x11a
runtime.selectgo(0xc420040750, 0xc4201a8180)
        /usr/lib/go-1.10/src/runtime/select.go:392 +0xe50
runtime.ensureSigM.func1()
        /usr/lib/go-1.10/src/runtime/signal_unix.go:549 +0x1f4
runtime.goexit()
        /usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1

goroutine 35 [chan receive]:
github.com/elves/elvish/program/shell.handleSignals.func1(0xc4201a80c0)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/shell.go:70
 +0xb8
created by github.com/elves/elvish/program/shell.handleSignals
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/program/shell/shell.go:69
 +0x7c

goroutine 38 [chan receive]:
github.com/elves/elvish/edit/prompt.(*prompt).loop(0xc42018e180)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/prompt/prompt.go:76
 +0xd1
created by github.com/elves/elvish/edit/prompt.makePrompt
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/prompt/prompt.go:69
 +0x1b4

goroutine 39 [chan receive]:
github.com/elves/elvish/edit/prompt.(*prompt).loop(0xc42018e200)
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/prompt/prompt.go:76
 +0xd1
created by github.com/elves/elvish/edit/prompt.makePrompt
        
/build/elvish-AbOowp/elvish-0.12+ds1/obj-x86_64-linux-gnu/src/github.com/elves/elvish/edit/prompt/prompt.go:69
 +0x1b4

execing recovery shell /bin/sh
$

Reply via email to