NullPointerException since upgrade to 8.8.8

Discuss your pilot or production implementation with other Zimbra admins or our engineers.
Post Reply
afrimberger
Posts: 2
Joined: Thu Apr 26, 2018 7:52 pm

NullPointerException since upgrade to 8.8.8

Post by afrimberger »

Hi,

since I've upgraded to 8.8.8, I encounter NPEs in the mailbox.log (Client: Thunderbird/52.7.0):

Code: Select all

java.lang.NullPointerException
        at com.zimbra.cs.imap.ImapFolder.handleItemUpdate(ImapFolder.java:1183)
        at com.zimbra.cs.imap.ImapListener.handleModify(ImapListener.java:508)
        at com.zimbra.cs.imap.ImapListener.notifyPendingChanges(ImapListener.java:665)
        at com.zimbra.cs.imap.ImapListener$PagedFolderData.replay(ImapListener.java:245)
        at com.zimbra.cs.imap.ImapListener$PagedFolderData.access$1200(ImapListener.java:121)
        at com.zimbra.cs.imap.ImapListener.reload(ImapListener.java:730)
        at com.zimbra.cs.imap.ImapListener.getImapFolder(ImapListener.java:399)
        at com.zimbra.cs.imap.ImapSessionManager.duplicateExistingSession(ImapSessionManager.java:482)
        at com.zimbra.cs.imap.ImapSessionManager.duplicateExistingSession(ImapSessionManager.java:471)
        at com.zimbra.cs.imap.ImapSessionManager.openFolder(ImapSessionManager.java:315)
        at com.zimbra.cs.imap.ImapHandler.setSelectedFolder(ImapHandler.java:1196)
        at com.zimbra.cs.imap.ImapHandler.selectFolder(ImapHandler.java:1784)
        at com.zimbra.cs.imap.ImapHandler.doSELECT(ImapHandler.java:1750)
        at com.zimbra.cs.imap.ImapHandler.executeRequest(ImapHandler.java:837)
        at com.zimbra.cs.imap.NioImapHandler.processRequest(NioImapHandler.java:123)
        at com.zimbra.cs.imap.NioImapHandler.messageReceived(NioImapHandler.java:63)
        at com.zimbra.cs.server.NioHandlerDispatcher.messageReceived(NioHandlerDispatcher.java:95)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
        at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:427)
        at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:245)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
        at com.zimbra.cs.server.NioLoggingFilter.messageReceived(NioLoggingFilter.java:68)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
        at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
        at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:75)
        at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)
        at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(OrderedThreadPoolExecutor.java:780)
        at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(OrderedThreadPoolExecutor.java:772)
        at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThreadPoolExecutor.java:714)
        at java.lang.Thread.run(Thread.java:748)
Due to the exception, mails in some folders are not shown in Thunderbird. However, they're visible in the web ui. Strangely,
the bug occurs with a higher probability when new mails arrive on the folder.

Currently, I can't fully reproduce the bug by offering step-by-step instructions. This could indicate a concurrency issue.

The NPE happens in com.zimbra.cs.imap.ImapFolder.handleItemUpdate(ImapFolder.java:1183). Digging into the code and
debugging the mailboxd showed up that folderIdentifier is null:
zimbra_npe_ImapFolder_handleItemUpdate_8.8.8.png
zimbra_npe_ImapFolder_handleItemUpdate_8.8.8.png (179.57 KiB) Viewed 1033 times
The bug could also be related to viewtopic.php?f=15&t=63835&start=10&hil ... rException
afrimberger
Posts: 2
Joined: Thu Apr 26, 2018 7:52 pm

Re: NullPointerException since upgrade to 8.8.8

Post by afrimberger »

The exception is not only related to Thunderbird, but also to the Zimbra web ui (Zimbra/8.8.8_GA_2026)

Code: Select all

[...] Zimbra/8.8.8_GA_2026;cid=14;] imap - unexpected exception
java.lang.NullPointerException
        at com.zimbra.cs.imap.ImapFolder.handleItemUpdate(ImapFolder.java:1183)
        at com.zimbra.cs.imap.ImapListener.handleModify(ImapListener.java:508)
        at com.zimbra.cs.imap.ImapListener.notifyPendingChanges(ImapListener.java:665)
        at com.zimbra.cs.imap.ImapListener$PagedFolderData.replay(ImapListener.java:245)
        at com.zimbra.cs.imap.ImapListener$PagedFolderData.access$1200(ImapListener.java:121)
        at com.zimbra.cs.imap.ImapListener.reload(ImapListener.java:730)
        at com.zimbra.cs.imap.ImapListener.getImapFolder(ImapListener.java:399)
        at com.zimbra.cs.imap.ImapSessionManager.duplicateExistingSession(ImapSessionManager.java:482)
        at com.zimbra.cs.imap.ImapSessionManager.duplicateExistingSession(ImapSessionManager.java:471)
        at com.zimbra.cs.imap.ImapSessionManager.openFolder(ImapSessionManager.java:315)
        at com.zimbra.cs.imap.ImapHandler.setSelectedFolder(ImapHandler.java:1196)
        at com.zimbra.cs.imap.ImapHandler.selectFolder(ImapHandler.java:1784)
        at com.zimbra.cs.imap.ImapHandler.doEXAMINE(ImapHandler.java:1756)
        at com.zimbra.cs.imap.ImapHandler.executeRequest(ImapHandler.java:584)
        at com.zimbra.cs.imap.NioImapHandler.processRequest(NioImapHandler.java:123)
        at com.zimbra.cs.imap.NioImapHandler.messageReceived(NioImapHandler.java:63)
        at com.zimbra.cs.server.NioHandlerDispatcher.messageReceived(NioHandlerDispatcher.java:95)
[...]
Any ideas what could be wrong here?
Post Reply