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
$