42wim / matterircd

Connect to your mattermost or slack using your IRC-client of choice.
MIT License
294 stars 60 forks source link

Matterircd crashes when requesting scrollback from a channel you've not joined #586

Open kot0dama opened 1 week ago

kot0dama commented 1 week ago

Simply try to ask for scrollback of a thread ID from a channel you've not joined:

/msg mattermost scrollback https://server/team/pl/THREADID`

This is from running @hloeung all_prs commit ID aa842dea2ba0f4642f23070fc8656be22af654e0. Also to be noted, the thread belongs to a private channel I have not joined.

Here's the stacktrace:

Oct 09 09:03:29 bip matterircd[606263]: time="2024-10-09T09:03:29Z" level=error msg="ChannelView update for yryoj7ka6pr4ukbtojimq8ck8c failed: Got a nil model response from ViewChannel" prefix=matterclient
Oct 09 09:03:29 bip matterircd[606263]: time="2024-10-09T09:03:29Z" level=error msg="ChannelView update for 7y4uqt3skjyw3gqqancbsdhdbw failed: Got a nil model response from ViewChannel" prefix=matterclient
Oct 09 09:04:21 bip matterircd[606263]: panic: runtime error: invalid memory address or nil pointer dereference
Oct 09 09:04:21 bip matterircd[606263]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x648232]
Oct 09 09:04:21 bip matterircd[606263]: goroutine 11807264 [running]:
Oct 09 09:04:21 bip matterircd[606263]: github.com/42wim/matterircd/mm-go-irckit.(*User).MsgSpoofUser(0xc000143080, 0x0, {0xc008afd324, 0xb}, {0xc009bcdf40, 0x32}, {0x0, 0x0, 0x0})
Oct 09 09:04:21 bip matterircd[606263]:         /home/ubuntu/go/src/github.com/hloeung/matterircd/mm-go-irckit/userbridge.go:822 +0x212
Oct 09 09:04:21 bip matterircd[606263]: github.com/42wim/matterircd/mm-go-irckit.formatScrollbackMsg(0xc000143080, {0xc00b725c00, 0x1a}, {0x0, 0x0}, 0x0, {0xc008afd324, 0xb}, 0xc006c346e0, {0x0, ...})
Oct 09 09:04:21 bip matterircd[606263]:         /home/ubuntu/go/src/github.com/hloeung/matterircd/mm-go-irckit/service.go:536 +0xc72
Oct 09 09:04:21 bip matterircd[606263]: github.com/42wim/matterircd/mm-go-irckit.scrollback(0xc000143080, 0xc000143200, {0xc0002b0d50, 0x1, 0x1}, {0xc00a93e778, 0xa})
Oct 09 09:04:21 bip matterircd[606263]:         /home/ubuntu/go/src/github.com/hloeung/matterircd/mm-go-irckit/service.go:494 +0x11a4
Oct 09 09:04:21 bip matterircd[606263]: github.com/42wim/matterircd/mm-go-irckit.(*User).handleServiceBot(0xc000143080, {0xc00a93e778, 0xa}, 0xc000143200, {0xc004ef00f0, 0x4d})
Oct 09 09:04:21 bip matterircd[606263]:         /home/ubuntu/go/src/github.com/hloeung/matterircd/mm-go-irckit/service.go:628 +0x276
Oct 09 09:04:21 bip matterircd[606263]: created by github.com/42wim/matterircd/mm-go-irckit.CmdPrivMsg
Oct 09 09:04:21 bip matterircd[606263]:         /home/ubuntu/go/src/github.com/hloeung/matterircd/mm-go-irckit/server_commands.go:415 +0xdd0
Oct 09 09:04:21 bip systemd[1]: matterircd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT

Thank you!