Details
-
Bug
-
Resolution: Deployed
-
Low
-
4.4.3, 4.4.4
-
4.04
-
Description
In some cases sending a mail message from JIRA triggers the following exception:
2011-11-07 15:22:41,010 Sending mailitem com.atlassian.jira.mail.IssueMailQueueItem@177d7db[issue=com.atlassian.jira.issue.IssueImpl@567282[id=43789,summary=[lsc] (sxswt-4101) info: mailarchivierung / user erstellen,key=SXSWT-4101,created=2011-10-17 07:40:53.94,updated=2011-11-07 15:21:41.844,assignee=voehrijn,reporter=dak@sowitec.com],remoteUser=dak@sowitec.com,notificationType=Current_Assignee,eventTypeId=2,templateId=2] ERROR ServiceRunner Mail Queue Service [com.atlassian.velocity.DefaultVelocityManager] Exception getting message body from Velocity: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'diff' in class com.atlassian.jira.mail.DiffUtils threw exception class com.atlassian.jira.util.dbc.Assertions$NullArgumentException : copy should not be null!
org.apache.velocity.exception.MethodInvocationException: Invocation of method 'diff' in class com.atlassian.jira.mail.DiffUtils threw exception class com.atlassian.jira.util.dbc.Assertions$NullArgumentException : copy should not be null!
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:251)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:175)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:220)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:70)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55)
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:166)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:70)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230)
at org.apache.velocity.runtime.directive.Parse.render(Parse.java:181)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:114)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:55)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:70)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:230)
at org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:300)
at org.apache.velocity.app.VelocityEngine.evaluate(VelocityEngine.java:202)
at com.atlassian.velocity.DefaultVelocityManager.getEncodedBodyForContent(DefaultVelocityManager.java:143)
at com.atlassian.jira.mail.MailingListCompiler$1.processRecipient(MailingListCompiler.java:296)
at com.atlassian.jira.mail.NotificationRecipientProcessor.process(NotificationRecipientProcessor.java:39)
at com.atlassian.jira.mail.MailingListCompiler.addMailsToQueue(MailingListCompiler.java:318)
at com.atlassian.jira.mail.MailingListCompiler.access$400(MailingListCompiler.java:42)
at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.addEmailsToQueue(MailingListCompiler.java:463)
at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendLists(MailingListCompiler.java:433)
at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendForEvent(MailingListCompiler.java:386)
at com.atlassian.jira.mail.MailingListCompiler.sendLists(MailingListCompiler.java:135)
at com.atlassian.jira.mail.IssueMailQueueItem.send(IssueMailQueueItem.java:152)
at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:66)
at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:23)
at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:60)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:47)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at com.atlassian.multitenant.quartz.MultiTenantThreadPool$MultiTenantRunnable.run(MultiTenantThreadPool.java:72)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
This issue is relatively rare (about once per week) but annoying because our customers get an e-mail message containing the error stack trace.
Unfortunately I haven't found a way to reliably reproduce the issue.