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 $