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
1 year, 11 months ago
1 year, 2 months ago
No labels applied.

~pmolloy 1 year, 11 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 1 year, 7 months 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.

~normen 1 year, 2 months ago

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).

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