Immediately after starting up aerc I started navigating down the list of folders. This was slow / blocking as it appeared to be loading headers. It might be relevant that I was being impatient and hitting
J a bunch of times.
panic: assignment to entry in nil map goroutine 1 [running]: git.sr.ht/~sircmpwn/aerc/lib.(*MessageStore).Update(0xc0003576c0, 0x951480, 0xc00067fb80) /tmp/tmp.Oyw7xHdOuH/lib/msgstore.go:176 +0x423 git.sr.ht/~sircmpwn/aerc/widgets.(*AccountView).onMessage(0xc0000ae500, 0x951480, 0xc00067fb80) /tmp/tmp.Oyw7xHdOuH/widgets/account.go:234 +0x277 git.sr.ht/~sircmpwn/aerc/widgets.(*AccountView).Tick(0xc0000ae500, 0xc0001755f0) /tmp/tmp.Oyw7xHdOuH/widgets/account.go:86 +0xa1 git.sr.ht/~sircmpwn/aerc/widgets.(*Aerc).Tick(0xc0000b5ae0, 0xc0004e4000) /tmp/tmp.Oyw7xHdOuH/widgets/aerc.go:108 +0x91 main.main() /tmp/tmp.Oyw7xHdOuH/aerc.go:173 +0x552
It looks like there is an assumption that
MessageStore.Update()is first called with an argument of type
worker/types/message.go). Otherwise the
Messagesattribute of the
MessageStorestruct won't get initialized since it is only initialized in that case.
So, looks like the panic is gone in master. However, if you spam one of the mailbox change commands very quickly, aerc hangs, not respecting any input at all in a limbo state between switching folders.
I see the same behavior, when quickly going through the folders there seems to be some async issue, sometimes it doesn't react at all anymore, sometimes it simply doesn't seem to load data from the server anymore (I can select messages but the viewer stays empty).