Details
-
Bug
-
Resolution: Timed out
-
Low
-
20
-
Severity 3 - Minor
-
Description
NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.
Summary
Administrators can set custom Priorities, along with custom icons. However if the URL to the custom icon is set to / outgoing mail will break as JIRA tries to turn it into an inline attachment.
Steps to Reproduce
- Go to 'priorities' page and add a new priority using a broken icon URL (one that when accessed, won't give you a vaild file, for example '/') or in Issue Types page and create a broken an Issue Type with a broken avatar URL
- In a project, make sure to be notified of an operation that adds that icon or avatar (for example, create issue adds the 'priority' icon). If you're both doing and the operation and receiving the notification, make sure to be notified of your own actions
- Trigger the notification
Expected Results
- Notification is triggered
Actual Results
Notifications are not triggered.
Invalid priority icons are showing this error in logs:
java.lang.NullPointerException at com.atlassian.jira.mail.util.MailAttachments$ImageAttachment.buildBodyPart(MailAttachments.java:227) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.buildMimeBodyPartFromMailAttachment(MailAttachmentsManagerImpl.java:233) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.lambda$buildAttachmentsBodyParts$0(MailAttachmentsManagerImpl.java:227) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.buildAttachmentsBodyParts(MailAttachmentsManagerImpl.java:229) at com.atlassian.jira.mail.builder.EmailRenderer.buildMailWithAttachments(EmailRenderer.java:137) at com.atlassian.jira.mail.builder.EmailRenderer.renderEmailBody(EmailRenderer.java:113) at com.atlassian.jira.mail.builder.EmailRenderer.render(EmailRenderer.java:152) at com.atlassian.jira.mail.builder.EmailBuilder.renderNow(EmailBuilder.java:155) at com.atlassian.jira.mail.builder.EmailBuilder.renderNowAsQueueItem(EmailBuilder.java:145) at com.atlassian.jira.mail.DefaultMailQueueItemFactoryImpl.getMailQueueItem(DefaultMailQueueItemFactoryImpl.java:48) at com.atlassian.jira.mail.MailingListCompiler$1.processRecipient(MailingListCompiler.java:298) at com.atlassian.jira.mail.NotificationRecipientProcessor.process(NotificationRecipientProcessor.java:34) at com.atlassian.jira.mail.MailingListCompiler.addMailsToQueue(MailingListCompiler.java:322) at com.atlassian.jira.mail.MailingListCompiler.access$600(MailingListCompiler.java:50) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.addEmailsToQueue(MailingListCompiler.java:443) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendLists(MailingListCompiler.java:415) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendNoLevelsIgnoreGroup(MailingListCompiler.java:396) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendToAll(MailingListCompiler.java:392) at com.atlassian.jira.mail.MailingListCompiler.sendLists(MailingListCompiler.java:147) at com.atlassian.jira.mail.IssueMailQueueItem.send(IssueMailQueueItem.java:118) at com.atlassian.jira.mail.taskrunners.issuenotification.IssueNotificationTaskRunner.runTask(IssueNotificationTaskRunner.java:175) at com.atlassian.jira.task.progress.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:87) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:151) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:95) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) {noformat}
Invalid Issue Type avatars, a throwing this:
msg: Can't find read strategy to read: 10517, size: medium stack: java.lang.RuntimeException: Can't find read strategy to read: 10517, size: medium at com.atlassian.jira.avatar.AvatarManagerImpl.lambda$getAvatarInputStream$5(AvatarManagerImpl.java:362) at java.util.Optional.orElseThrow(Optional.java:290) at com.atlassian.jira.avatar.AvatarManagerImpl.getAvatarInputStream(AvatarManagerImpl.java:362) at com.atlassian.jira.avatar.AvatarManagerImpl.lambda$processAvatarData$3(AvatarManagerImpl.java:336) at com.atlassian.jira.avatar.PngAvatarFormatPolicy.getData(PngAvatarFormatPolicy.java:34) at com.atlassian.jira.avatar.AvatarManagerImpl.processAvatarData(AvatarManagerImpl.java:334) at com.atlassian.jira.avatar.AvatarManagerImpl.readAvatarData(AvatarManagerImpl.java:394) at com.atlassian.jira.mail.util.MailAttachments$DefaultAvatarAttachment.prepareBodyPart(MailAttachments.java:399) at com.atlassian.jira.mail.util.MailAttachments$AbstractAvatarAttachment.buildBodyPart(MailAttachments.java:328) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.buildMimeBodyPartFromMailAttachment(MailAttachmentsManagerImpl.java:233) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.lambda$buildAttachmentsBodyParts$0(MailAttachmentsManagerImpl.java:227) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl.buildAttachmentsBodyParts(MailAttachmentsManagerImpl.java:229) at com.atlassian.jira.mail.builder.EmailRenderer.buildMailWithAttachments(EmailRenderer.java:137) at com.atlassian.jira.mail.builder.EmailRenderer.renderEmailBody(EmailRenderer.java:113) at com.atlassian.jira.mail.builder.EmailRenderer.render(EmailRenderer.java:152) at com.atlassian.jira.mail.builder.EmailBuilder.renderNow(EmailBuilder.java:155) at com.atlassian.jira.mail.builder.EmailBuilder.renderNowAsQueueItem(EmailBuilder.java:145) at com.atlassian.jira.mail.DefaultMailQueueItemFactoryImpl.getMailQueueItem(DefaultMailQueueItemFactoryImpl.java:48) at com.atlassian.jira.mail.MailingListCompiler$1.processRecipient(MailingListCompiler.java:298) at com.atlassian.jira.mail.NotificationRecipientProcessor.process(NotificationRecipientProcessor.java:34) at com.atlassian.jira.mail.MailingListCompiler.addMailsToQueue(MailingListCompiler.java:322) at com.atlassian.jira.mail.MailingListCompiler.access$600(MailingListCompiler.java:50) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.addEmailsToQueue(MailingListCompiler.java:443) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendLists(MailingListCompiler.java:415) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendNoLevelsIgnoreGroup(MailingListCompiler.java:396) at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendToAll(MailingListCompiler.java:392) at com.atlassian.jira.mail.MailingListCompiler.sendLists(MailingListCompiler.java:147) at com.atlassian.jira.mail.IssueMailQueueItem.send(IssueMailQueueItem.java:118) at com.atlassian.jira.mail.taskrunners.issuenotification.IssueNotificationTaskRunner.runTask(IssueNotificationTaskRunner.java:175) at com.atlassian.jira.task.progress.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:87) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:151) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:95) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)
Workaround
Select a default icon for the custom priority or avatar for the Issue Type, or enter a valid icon/avatar URL.
Attachments
Issue Links
- is related to
-
JRASERVER-37830 A custom Priority Icon URL of just / breaks outgoing mail notifications
- Gathering Impact