Panic while navigating folders

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
    /tmp/tmp.Oyw7xHdOuH/aerc.go:173 +0x552
Assigned to
5 months ago
a month ago
No labels applied.

~pmolloy 5 months ago

It looks like there is an assumption that MessageStore.Update() is first called with an argument of type DirectoryContents (see worker/types/message.go). Otherwise the Messages attribute of the MessageStore struct won't get initialized since it is only initialized in that case.

~labrat a month ago

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.

Register here or Log in to comment, or comment via email.