~dawidjkubis


#229 Issues connecting to certain IRC servers 5 months ago

Ticket created by ~dawidjkubis on ~emersion/soju

When connecting to irc.sageru.org i get the following:

2024/04/25 19:19:33 user "mm": upstream "sageru": connection registered with nick "mm"
2024/04/25 19:19:33 user "mm": upstream "sageru": failed to handle message ":null 004 mm": 461 * 004 :Not enough parameters
2024/04/25 19:20:42 user "mm": upstream "sageru": joined channel "#sex"
2024/04/25 19:20:43 panic serving user "mm": runtime error: slice bounds out of range [3:2]
goroutine 40 [running]:
runtime/debug.Stack()
        runtime/debug/stack.go:24 +0x5e
git.sr.ht/~emersion/soju.(*Server).addUserLocked.func1.1()
        git.sr.ht/~emersion/soju/server.go:435 +0x58
panic({0x55d5b30a3a40?, 0xc00002a528?})
        runtime/panic.go:770 +0x132
git.sr.ht/~emersion/soju.(*upstreamConn).handleMessage(0xc0002603c0, {0x55d5b30e6ff8, 0x55d5b3513120}, 0xc00045ea00)
        git.sr.ht/~emersion/soju/upstream.go:1391 +0x9ed7
git.sr.ht/~emersion/soju.(*user).run(0xc00023c000)
        git.sr.ht/~emersion/soju/user.go:701 +0x10cf
git.sr.ht/~emersion/soju.(*Server).addUserLocked.func1()
        git.sr.ht/~emersion/soju/server.go:446 +0x65
created by git.sr.ht/~emersion/soju.(*Server).addUserLocked in goroutine 1
        git.sr.ht/~emersion/soju/server.go:432 +0x170

This prevents the sageru process from starting and I am unable to remove the network using sojuctl. The only solution is to attack the database manually. They use a modified IRC server, which might be the cause, but soju should probably handle this better.