Exception occurred during email notification (diff report)

Ryan Grimard January 16, 2012

On certain workflow transitions, my users receive the following email notification containing an exception. This happens because I am purposefully nulling/clearing the "Release Version" from the issue on this transition. JIRA attempts to do a diff for display in the email and throws this exception. I have a ticket open with Atlassian but they are not aware of any workaround. This is after about a month of back and forth. I asked if it was possible to workaround this in the velocity template. They said yes, but that I should post here (Answers) for help. Any help would be appreciated.

An error occurred whilst rendering this message. Please contact the administrators, and inform them of this bug. Details: ------- 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.sendNoLevelsIgnoreGroup(MailingListCompiler.java:413) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendToAll(MailingListCompiler.java:408) at com.atlassian.jira.mail.MailingListCompiler.sendLists(MailingListCompiler.java:140) 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)

2 answers

1 vote
JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 16, 2012

I think it's a bug in JIRA not in JSU. Here is the bug: https://jira.atlassian.com/browse/JRA-26377

It happens when you null a value, but the previous value was also null (or perhaps an empty string or something).

Anyway I have seen it in cases unrelated to JSU... even if JSU can be a cause of it, jira should handle it better.

Ryan Grimard January 16, 2012

I've been trying to get this across to Atlassian but they insist there is nothing they can do about it. I'm adding my vote to the ticket you sited above. Thanks!

JamieA
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 16, 2012

Yeah. I've noticed a definite downturn in the quality of their support recently... guess they had a big expansion or something.

Suggest an answer

Log in or Sign up to answer