Skip to content

IllegalStateException: Mailbox already exists #598

@ynoir

Description

@ynoir

Version: 2.0.0.

We are sometimes getting this error on a somewhat slow Jenkins server:

Caused by: java.lang.IllegalStateException: Unexpected error handling connection
	at com.icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:55)
	at com.icegreen.greenmail.server.AbstractServer.lambda$handleClientSocket$0(AbstractServer.java:174)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalStateException: Mailbox -371627052 already exists in [HierarchicalFolder{name='-371627052', parent=HierarchicalFolder{name='#mail', parent=null, isSelectable=false}, isSelectable=false}]
	at com.icegreen.greenmail.store.HierarchicalFolder.createChild(HierarchicalFolder.java:100)
	at com.icegreen.greenmail.store.InMemoryStore.createMailbox(InMemoryStore.java:63)
	at com.icegreen.greenmail.imap.ImapHostManagerImpl.createPrivateMailAccount(ImapHostManagerImpl.java:93)
	at com.icegreen.greenmail.user.UserImpl.create(UserImpl.java:35)
	at com.icegreen.greenmail.user.UserManager.createUser(UserManager.java:61)
	at com.icegreen.greenmail.user.UserManager.test(UserManager.java:87)
	at com.icegreen.greenmail.smtp.commands.AuthCommand.authLogin(AuthCommand.java:115)
	at com.icegreen.greenmail.smtp.commands.AuthCommand.execute(AuthCommand.java:68)
	at com.icegreen.greenmail.smtp.SmtpHandler.handleCommand(SmtpHandler.java:92)
	at com.icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:46)
	... 2 more

Could it be that the checking for an existing user in UserManager#test and the mailbox creation in HierarchicalFolder#createChild need to be synchonized?

Metadata

Metadata

Assignees

No one assigned

    Labels

    backport_1_6_xBackport to old bugfixing branch 1.6.xbackport_2_0_xBackport to branch 2.0.xbug

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions