Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-31997

Exception thrown from listener [com.atlassian.jira.event.listeners.mail.MailListener] : null

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 5.1
    • 4.4.5
    • None

    Description

      The following error is presented in the logs:

      2013-03-03 16:31:57,258 TP-Processor6 ERROR aronc 991x50650x1 nlj2wu 67.180.130.146 /secure/AddComment.jspa [jira.event.issue.IssueEventListenerHandler] Exception thrown from listener [com.atlassian.jira.event.listeners.mail.MailListener] : null
      java.lang.NullPointerException
      	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:180)
      	at com.atlassian.jira.notification.NotificationRecipient.<init>(NotificationRecipient.java:36)
      	at com.atlassian.jira.notification.type.UserToRecipient.apply(UserToRecipient.java:21)
      	at com.atlassian.jira.notification.type.UserToRecipient.apply(UserToRecipient.java:14)
      	at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:431)
      	at java.util.AbstractList$Itr.next(AbstractList.java:345)
      	at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
      	at com.atlassian.jira.notification.DefaultNotificationSchemeManager.getRecipients(DefaultNotificationSchemeManager.java:279)
      	at com.atlassian.jira.event.listeners.mail.MailListener.createMailItems(MailListener.java:122)
      	at com.atlassian.jira.event.listeners.mail.MailListener.sendNotification(MailListener.java:87)
      	at com.atlassian.jira.event.listeners.mail.MailListener.issueCommented(MailListener.java:188)
      	at com.atlassian.jira.event.issue.AbstractIssueEventListener.workflowEvent(AbstractIssueEventListener.java:106)
      	at com.atlassian.jira.event.issue.IssueEventListenerHandler$IssueEventInvoker.invoke(IssueEventListenerHandler.java:49)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$2.run(AsynchronousAbleEventDispatcher.java:60)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1.execute(AsynchronousAbleEventDispatcher.java:28)
      	at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:56)
      	at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:151)
      	at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:70)
      	at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
      	at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareInvocationHandler.invoke(MultiTenantComponentFactoryImpl.java:211)
      	at $Proxy5.publish(Unknown Source)
      	at com.atlassian.multitenant.event.DefaultPeeringEventPublisherManager.publish(DefaultPeeringEventPublisherManager.java:17)
      	at com.atlassian.multitenant.event.PeeringEventPublisher.publish(PeeringEventPublisher.java:23)
      	at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:254)
      	at com.atlassian.jira.event.issue.IssueEventDispatcher.dispatchEvent(IssueEventDispatcher.java:176)
      	at com.atlassian.jira.web.action.issue.AddComment.alertSystemOfComment(AddComment.java:144)
      	at com.atlassian.jira.web.action.issue.AddComment.doExecute(AddComment.java:109)
      	at webwork.action.ActionSupport.execute(ActionSupport.java:165)
      	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:76)
      	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
      	at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
      	at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
      	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35)
      	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:205)
      	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:143)
      	at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      
      

      This guy is caused by notifications - specifically an object is created for a user, then the checkNotNull() method is run on it. It generates a NPE as a check if it's null or not, rather than an NPE being generated later without any reason why. When the the deactivate users functionality was written this bug was addressed. This issue is a placeholder to publicly track that it has been fixed.

      It can be caused by the following:

      • Using an email address in notifications instead of a user. They have default notifications, so unfortunately this isn't the case.
      • A user may have been deleted from their Active Directory and no longer exists within the database, yet is still a reporter, watcher or assignee of an issue.

      Attachments

        Activity

          People

            Unassigned Unassigned
            dcurrie@atlassian.com Dave C
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: