Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-26036

Error retrieving message: [Ljava.lang.Object; cannot be cast to com.atlassian.confluence.content.CustomContentEntityObject

    XMLWordPrintable

Details

    Description

      After an upgrade to Confluence 4.2.3, Confluence failed to fetch mails if mail-user in Lotus Notes Domino is forbidden from deleting mails from the database. However, customer mentioned that it used to work before with the same setting in Confluence 4.1.7. Has there been any changes in the code?

      Sample stack trace for POP3 of Lotus Notes Domino mail server:

      ERROR [scheduler_Worker-3] [confluence.mail.archive.DefaultMailAccountManager] poll Error retrieving mail from POP3 account [telekom-eas@www.seitenbau.net:110] for space TCOMEAS: [Ljava.lang.Object; cannot be cast to com.atlassian.confluence.content.CustomContentEntityObject
      java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.atlassian.confluence.content.CustomContentEntityObject
      	at com.atlassian.confluence.mail.archive.content.DefaultMailContentManager.getMailItemFromSpace(DefaultMailContentManager.java:217)
      	at com.atlassian.confluence.mail.archive.content.DefaultMailContentManager.storeIncomingMail(DefaultMailContentManager.java:102)
      	at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.retrieveMessages(DefaultMailAccountManager.java:183)
      	at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.poll(DefaultMailAccountManager.java:128)
      	at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.poll(DefaultMailAccountManager.java:84)
      	at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.pollAllSpaces(DefaultMailAccountManager.java:284)
      	at com.atlassian.confluence.mail.archive.jobs.MailPollJob$1.doInTransaction(MailPollJob.java:35)
      	at com.atlassian.confluence.mail.archive.jobs.MailPollJob$1.doInTransaction(MailPollJob.java:31)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25)
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor$1.doInTransaction(SpringHostContextAccessor.java:88)
      	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:82)
      	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at $Proxy249.doInTransaction(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      	at $Proxy249.doInTransaction(Unknown Source)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:21)
      	at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy383.execute(Unknown Source)
      	at com.atlassian.confluence.mail.archive.jobs.MailPollJob.doExecute(MailPollJob.java:31)
      	at com.atlassian.quartz.jobs.AbstractJob.executeInternal(AbstractJob.java:86)
      	at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
      	at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$1.run(ConfluenceQuartzThreadPool.java:20)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
      

      This also affect IMAPS on Dovecot mail server with full permission of the mail-user (able to delete message).

      Sample stack trace from IMAPS of Dovecot mail server - different at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.retrieveMessages:

      2012-08-02 09:12:00,047 DEBUG [scheduler_Worker-1] [confluence.mail.archive.DefaultMailAccountManager] retrieveMessages There are 350 messages in the INBOX for Pop Account: mailplugin
      2012-08-02 09:12:00,059 ERROR [scheduler_Worker-1] [confluence.mail.archive.DefaultMailAccountManager] poll Error retrieving mail from IMAPS account [mailplugin@foo.bar.com:993] for space MA: [Ljava.lang.Object; cannot be cast to com.atlassian.confluence.content.CustomContentEntityObject
      java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.atlassian.confluence.content.CustomContentEntityObject
              at com.atlassian.confluence.mail.archive.content.DefaultMailContentManager.getMailItemFromSpace(DefaultMailContentManager.java:217)
              at com.atlassian.confluence.mail.archive.content.DefaultMailContentManager.storeIncomingMail(DefaultMailContentManager.java:102)
              at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.retrieveMessages(DefaultMailAccountManager.java:172)
              at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.poll(DefaultMailAccountManager.java:117)
              at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.poll(DefaultMailAccountManager.java:81)
              at com.atlassian.confluence.mail.archive.DefaultMailAccountManager.pollAllSpaces(DefaultMailAccountManager.java:273)
              at com.atlassian.confluence.mail.archive.jobs.MailPollJob.doExecute(MailPollJob.java:29)
              at com.atlassian.quartz.jobs.AbstractJob.executeInternal(AbstractJob.java:86)
              at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
              at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
              at com.atlassian.confluence.schedule.quartz.ConfluenceQuartzThreadPool$1.run(ConfluenceQuartzThreadPool.java:20)
              at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              hsuhailah Hanis Suhailah (Inactive)
              Votes:
              16 Vote for this issue
              Watchers:
              24 Start watching this issue

              Dates

                Created:
                Updated: