esell (esell) opened
First off, this is super cool, thanks for sharing it!
I'll try and track what might be causing this down if I have some time, but for now I thought I'd submit it ahead of a PR.
Info on my setup:
- MacOS
- iTerm
- Vim as my default editor
The git bug termui seems to have an issue when you go to create a new bug but then leave it empty as if you were cancelling it. Here is my workflow that should reproduce it:
git bug termuinto create a new bug- when the new bug window opens for you to edit it (I use Vim), do a
:qto exit without typing anything into the bug entry
After that I get the crash. Below is the output
[signal SIGSEGV: segmentation violation code=0x1 addr=0x60 pc=0x1224feb]
goroutine 1 [running]:
github.com/MichaelMure/git-bug/termui.(*showBug).renderMain(0xc42026e000, 0xc42037e000, 0xc420386000, 0x0, 0x1)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/show_bug.go:207 +0x11b
github.com/MichaelMure/git-bug/termui.(*showBug).layout(0xc42026e000, 0xc42037e000, 0x3b, 0xc4203375f8)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/show_bug.go:61 +0x1e8
github.com/MichaelMure/git-bug/termui.layout(0xc42037e000, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/termui.go:116 +0x4b
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.ManagerFunc.Layout(0x152d0f0, 0xc42037e000, 0x0, 0xc420337660)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:329 +0x30
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).flush(0xc42037e000, 0x2, 0xc42037e000)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:435 +0xd6
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).MainLoop(0xc42037e000, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:367 +0xb3
github.com/MichaelMure/git-bug/termui.initGui(0xc4203378d0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/termui.go:101 +0xcc
github.com/MichaelMure/git-bug/termui.newBugWithEditor(0x156dfa0, 0xc420258060, 0xc420337b10, 0xc420337b74)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/termui.go:189 +0x1e7
github.com/MichaelMure/git-bug/termui.(*bugTable).newBug(0xc42025c140, 0xc42026e120, 0xc4202d60f0, 0xc42026c180, 0xc42026c120)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/bug_table.go:394 +0x37
github.com/MichaelMure/git-bug/termui.(*bugTable).(github.com/MichaelMure/git-bug/termui.newBug)-fm(0xc42026e120, 0xc4202d60f0, 0xc, 0xc420337b01)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/bug_table.go:173 +0x3e
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).execKeybindings(0xc42026e120, 0xc4202d60f0, 0xc420337a78, 0x121bce9, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:629 +0xce
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).onKey(0xc42026e120, 0xc420337a78, 0xc4201e1020, 0xc420268050)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:593 +0x1b3
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).handleEvent(0xc42026e120, 0xc420337a78, 0xc420337a70, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:413 +0x40
github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui.(*Gui).MainLoop(0xc42026e120, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/jroimartin/gocui/gui.go:373 +0x2cf
github.com/MichaelMure/git-bug/termui.initGui(0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/termui.go:101 +0xcc
github.com/MichaelMure/git-bug/termui.Run(0x156f8e0, 0xc42000c0c0, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/termui/termui.go:59 +0x221
github.com/MichaelMure/git-bug/commands.runTermUI(0x17b8ca0, 0x17df968, 0x0, 0x0, 0x0, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/commands/termui.go:9 +0x39
github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra.(*Command).execute(0x17b8ca0, 0x17df968, 0x0, 0x0, 0x17b8ca0, 0x17df968)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra/command.go:762 +0x468
github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x17b87e0, 0x1403b14, 0xc420234400, 0x17df828)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra/command.go:852 +0x30a
github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra.(*Command).Execute(0x17b87e0, 0xc42009e058, 0x0)
/Users/esell/go/src/github.com/MichaelMure/git-bug/vendor/github.com/spf13/cobra/command.go:800 +0x2b
github.com/MichaelMure/git-bug/commands.Execute()
/Users/esell/go/src/github.com/MichaelMure/git-bug/commands/root.go:50 +0x2d
main.main()
/Users/esell/go/src/github.com/MichaelMure/git-bug/git-bug.go:11 +0x20```