ejoffe / spr

Stacked Pull Requests on GitHub
MIT License
717 stars 65 forks source link

segmentation fault in `git spr update` #325

Open imbaczek opened 1 year ago

imbaczek commented 1 year ago

Ran git spr update on a 5-long stack to update it. The last commit in the stack is WIP

$ git spr version
> git rev-parse --show-toplevel
0.12.2 : 2023-04-24T18:35:43Z : 85b71efd
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100f19bdc]

goroutine 22 [running]:
github.com/ejoffe/spr/github/githubclient.formatStackMarkdown({{0x14000366db5, 0x8}, {0x14000366cec, 0x28}, {0x14000366d73, 0x2e}, {0x100fa3a30, 0x0}, 0x0}, {0x14000180900, ...})
        /Users/runner/work/spr/spr/github/githubclient/client.go:399 +0x5c
github.com/ejoffe/spr/github/githubclient.formatBody({{0x14000366db5, 0x8}, {0x14000366cec, 0x28}, {0x14000366d73, 0x2e}, {0x100fa3a30, 0x0}, 0x0}, {0x14000180900, ...})
        /Users/runner/work/spr/spr/github/githubclient/client.go:419 +0x64
github.com/ejoffe/spr/github/githubclient.(*client).UpdatePullRequest(0x1400000d110, {0x1010dc2f0, 0x1400011a000}, {0x1010dc478, 0x1400000d0c8}, {0x14000180900, 0x5, 0x8}, 0x140002a0300, {{0x14000366db5, ...}, ...}, ...)
        /Users/runner/work/spr/spr/github/githubclient/client.go:510 +0x3c8
github.com/ejoffe/spr/spr.(*stackediff).UpdatePullRequests.func2(0x1400000c390, 0x140000770e0, {0x1010dc2f0, 0x1400011a000}, {0x14000180900, 0x5, 0x8}, 0x14000262540, 0x1)
        /Users/runner/work/spr/spr/spr/spr.go:229 +0xd8
created by github.com/ejoffe/spr/spr.(*stackediff).UpdatePullRequests
        /Users/runner/work/spr/spr/spr/spr.go:227 +0x6f8
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x100f19bdc]
thorbenprimke commented 1 year ago

I just hit the same seg fault also with a WIP on the top of the stack. I didn't see a change in 0.13 that looks like it would resolve it but going to upgrade and see if that solves it.