Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault on login #535

Open
cdown opened this issue May 19, 2023 · 7 comments
Open

Segmentation fault on login #535

cdown opened this issue May 19, 2023 · 7 comments

Comments

@cdown
Copy link

cdown commented May 19, 2023

Hi! Thanks for building this. I tried to log in to a Mattermost instance, and shortly afterwards matterircd 0.26.1 crashed with this traceback:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x8b3ee1]

goroutine 15 [running]:
github.com/matterbridge/matterclient.(*Client).UpdateChannels(0xc0000262d0)
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/vendor/github.com/matterbridge/matterclient/channels.go:279 +0x21
github.com/matterbridge/matterclient.(*Client).initUserChannels(0xc0000262d0)
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/vendor/github.com/matterbridge/matterclient/matterclient.go:363 +0x33
github.com/matterbridge/matterclient.(*Client).Login(0xc0000262d0)
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/vendor/github.com/matterbridge/matterclient/matterclient.go:147 +0xdc
github.com/42wim/matterircd/bridge/mattermost6.(*Mattermost).loginToMattermost(0xc000378000, 0xc0001fc0e0)
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/bridge/mattermost6/mattermost.go:92 +0x32f
github.com/42wim/matterircd/bridge/mattermost6.New(0xc0005824e0, {{0xc0005124e4, 0x5}, {0xc0005124c0, 0x4}, {0xc0001161c0, 0x20}, {0xc00060c048, 0x13}, {0x0, ...}, ...}, ...)
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/bridge/mattermost6/mattermost.go:47 +0x1d5
github.com/42wim/matterircd/mm-go-irckit.(*User).loginTo(0xc0004a49a0, {0xa4bdd3?, 0x13?})
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/mm-go-irckit/userbridge.go:1019 +0x2e6
github.com/42wim/matterircd/mm-go-irckit.login(0xc0004a49a0, 0xc0004d55f0?, {0xc0004d8ed0, 0x3, 0xa4607c?}, {0xc0000ee008, 0xa})
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/mm-go-irckit/service.go:191 +0xc4f
github.com/42wim/matterircd/mm-go-irckit.(*User).handleServiceBot(0xc0004a49a0, {0xc0000ee008, 0xa}, 0xc00015dfd0?, {0xc000032c00, 0x31})
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/mm-go-irckit/service.go:625 +0x283
created by github.com/42wim/matterircd/mm-go-irckit.CmdPrivMsg
        /home/makepkg/.cache/yay/matterircd/src/src/github.com/42wim/matterircd/mm-go-irckit/server_commands.go:414 +0xb4f

Obviously since it's the login, not much more I can share, but I'm not aware of doing anything too weird.

@cdown
Copy link
Author

cdown commented May 19, 2023

Login is also extraordinarily slow, taking over two minutes prior to the segfault:

DEBU[2023-05-19T14:31:05+01:00] B: "<- PRIVMSG mattermost :login [redacted]"  module=matterircd
[...]
[2023-05-19T14:33:58+01:00] DEBUG matterclient: found 59032 users in team xxx
[then the crash happens immediately afterwards]

Maybe this is something to do with having so many users?

@in0rdr
Copy link

in0rdr commented May 21, 2023

Hi @cdown did you check if this is related to #527? I also had similar issues which I could fix simply by providing the correct arguments for login

@hloeung
Copy link
Collaborator

hloeung commented May 22, 2023

Can you try with the latest version first? 0.27.0 or better yet, build from trunk/master?

@hloeung
Copy link
Collaborator

hloeung commented May 23, 2023

Maybe this is something to do with having so many users?

It's possible. I'm trying to reproduce it, but sadly don't have access to a Mattermost server with close to 60k users. The community Mattermost server (community.mattermost.com) is the largest I have access to and that only has 17k.

@divansantana
Copy link

I also have the crash / segfault. Just before the segfault occurs I could see something like this before it crashed

INFO[2023-06-01T20:44:58+02:00] login as bob@somewhere.com (team: mattermost.somewhere.com) on mattermost.somewhere.com

That occurred when I ran this command:

/msg mattermost LOGIN mattermost.somewhere.com technology bob@somewhere.com MMAUTHTOKEN=pwnp6jknm3ykjkknmk4oorjcme

I noticed the team is wrong. To rectify I did this:

/msg mattermost LOGIN technology technology bob@somewhere.com MMAUTHTOKEN=pwnp6jknm3ykjkknmk4oorjcme

Where technology is the team name. The software then didn't crash and
logged in.

@42wim
Copy link
Owner

42wim commented Aug 5, 2023

@divansantana please paste the segfault and version of matterircd used

@hloeung
Copy link
Collaborator

hloeung commented Feb 13, 2024

Revisiting this.

Login is also extraordinarily slow, taking over two minutes prior to the segfault:

So this is fallout from #491 where it's doing more calls to get the correct no. of users in the team. The Mattermost API limits each to 200 so it takes quite a lot of calls to get to 59032 users.

I wonder if it's actually the no. of channels instead? With 59k users, I'm sure there's a boat load more channels. Though from looking at the matterclient code, it should have printed initUser(): found our team ... per https://github.com/matterbridge/matterclient/blob/master/matterclient.go#L353

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants