Uploaded image for project: 'Jira Server and Data Center'
  1. Jira Server and Data Center
  2. JRASERVER-42086

Mention/Share notification not sent to any users when a certain/specific user with corrupted avatar is triggering the event

    XMLWordPrintable

    Details

      Description

      When a user's avatar is corrupted, notification email will not be sent to recipients when this user shares/mentions other users

      The following traces can be seen in the atlassian-jira.log. However, sometimes there will be no trace of the share/mention in the outgoing-mail logs as well

      2015-02-02 10:08:07,353 Sending mailitem com.atlassian.jira.mail.IssueMailQueueItem@73eb1dad[issue=com.atlassian.jira.issue.IssueImpl@3f1ab1e6[id=46162,summary=TEST,key=ECB-5187,created=2014-12-15 13:29:30.453,updated=2015-02-02 10:05:24.687,assignee=nco:10300,reporter=jbr:10300],remoteUser=jbr:10300,notificationType=Current_Assignee,eventTypeId=6,templateId=6] ERROR ServiceRunner    Mail Queue Service [atlassian.jira.mail.MailingListCompiler] Failed adding mail for notification recipient: [email=nco@scalepoint.com, user=nco:10300]
      com.atlassian.cache.CacheException: java.lang.IndexOutOfBoundsException
      	at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:270)
      	at com.atlassian.jira.avatar.CachingTaggingAvatarStore.getByIdTagged(CachingTaggingAvatarStore.java:112)
      	at com.atlassian.jira.avatar.AvatarManagerImpl.getByIdTagged(AvatarManagerImpl.java:90)
      	at com.atlassian.jira.avatar.AvatarServiceImpl.getAvatarImpl(AvatarServiceImpl.java:107)
      	at com.atlassian.jira.avatar.AvatarServiceImpl.getAvatarTagged(AvatarServiceImpl.java:96)
      	at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl$AvatarAttachment.buildBodyPart(MailAttachmentsManagerImpl.java:341)
      	at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl$1.apply(MailAttachmentsManagerImpl.java:187)
      	at com.atlassian.jira.mail.util.MailAttachmentsManagerImpl$1.apply(MailAttachmentsManagerImpl.java:183)
      	at com.google.common.collect.Iterators$8.next(Iterators.java:812)
      	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:648)
      	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
      	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
      	at com.google.common.collect.Iterators$5.hasNext(Iterators.java:543)
      	at com.atlassian.jira.mail.builder.EmailRenderer.buildMailWithAttachments(EmailRenderer.java:150)
      	at com.atlassian.jira.mail.builder.EmailRenderer.renderEmailBody(EmailRenderer.java:122)
      	at com.atlassian.jira.mail.builder.EmailRenderer.render(EmailRenderer.java:165)
      	at com.atlassian.jira.mail.builder.EmailBuilder.renderNow(EmailBuilder.java:162)
      	at com.atlassian.jira.mail.builder.EmailBuilder.renderNowAsQueueItem(EmailBuilder.java:152)
      	at com.atlassian.jira.mail.MailingListCompiler$1.processRecipient(MailingListCompiler.java:306)
      	at com.atlassian.jira.mail.NotificationRecipientProcessor.process(NotificationRecipientProcessor.java:39)
      	at com.atlassian.jira.mail.MailingListCompiler.addMailsToQueue(MailingListCompiler.java:331)
      	at com.atlassian.jira.mail.MailingListCompiler.access$200(MailingListCompiler.java:46)
      	at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.addEmailsToQueue(MailingListCompiler.java:454)
      	at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendLists(MailingListCompiler.java:424)
      	at com.atlassian.jira.mail.MailingListCompiler$NotificationCompiler.sendForEvent(MailingListCompiler.java:377)
      	at com.atlassian.jira.mail.MailingListCompiler.sendLists(MailingListCompiler.java:139)
      	at com.atlassian.jira.mail.IssueMailQueueItem.send(IssueMailQueueItem.java:149)
      	at com.atlassian.mail.queue.MailQueueImpl.sendBuffer(MailQueueImpl.java:66)
      	at com.atlassian.jira.mail.JiraMailQueue$1.apply(JiraMailQueue.java:57)
      	at com.atlassian.jira.mail.JiraMailQueue$1.apply(JiraMailQueue.java:53)
      	at com.atlassian.jira.util.velocity.DefaultVelocityRequestContextFactory.runWithStaticBaseUrl(DefaultVelocityRequestContextFactory.java:127)
      	at com.atlassian.jira.util.DefaultBaseUrl.runWithStaticBaseUrl(DefaultBaseUrl.java:41)
      	at com.atlassian.jira.mail.JiraMailQueue.sendBuffer(JiraMailQueue.java:52)
      	at com.atlassian.jira.service.services.mail.MailQueueService.run(MailQueueService.java:30)
      	at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:66)
      	at com.atlassian.jira.service.ServiceRunner.runService(ServiceRunner.java:75)
      	at com.atlassian.jira.service.ServiceRunner.runServiceId(ServiceRunner.java:53)
      	at com.atlassian.jira.service.ServiceRunner.runJob(ServiceRunner.java:36)
      	at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:135)
      	at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:101)
      	at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:80)
      	at com.atlassian.scheduler.quartz1.Quartz1Job.execute(Quartz1Job.java:32)
      	at org.quartz.core.JobRunShell.run(JobRunShell.java:223)
      	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
      Caused by: java.lang.IndexOutOfBoundsException
      	at java.io.RandomAccessFile.readBytes(Native Method)
      	at java.io.RandomAccessFile.read(Unknown Source)
      	at javax.imageio.stream.FileImageInputStream.read(Unknown Source)
      	at com.sun.imageio.plugins.common.SubImageInputStream.read(Unknown Source)
      	at com.sun.imageio.plugins.common.InputStreamAdapter.read(Unknown Source)
      	at java.util.zip.InflaterInputStream.fill(Unknown Source)
      	at java.util.zip.InflaterInputStream.read(Unknown Source)
      	at java.io.BufferedInputStream.fill(Unknown Source)
      	at java.io.BufferedInputStream.read(Unknown Source)
      	at java.io.FilterInputStream.read(Unknown Source)
      	at com.sun.imageio.plugins.png.PNGImageReader.decodePass(Unknown Source)
      	at com.sun.imageio.plugins.png.PNGImageReader.decodeImage(Unknown Source)
      	at com.sun.imageio.plugins.png.PNGImageReader.readImage(Unknown Source)
      	at com.sun.imageio.plugins.png.PNGImageReader.read(Unknown Source)
      	at javax.imageio.ImageIO.read(Unknown Source)
      	at javax.imageio.ImageIO.read(Unknown Source)
      	at com.atlassian.jira.avatar.AvatarTaggerImpl.tagAvatarFile(AvatarTaggerImpl.java:97)
      	at com.atlassian.jira.avatar.AvatarTaggerImpl.tagAvatar(AvatarTaggerImpl.java:61)
      	at com.atlassian.jira.avatar.CachingTaggingAvatarStore.tagLegacyAvatar(CachingTaggingAvatarStore.java:229)
      	at com.atlassian.jira.avatar.CachingTaggingAvatarStore$TagAndRetrieve.load(CachingTaggingAvatarStore.java:99)
      	at com.atlassian.jira.avatar.CachingTaggingAvatarStore$TagAndRetrieve.load(CachingTaggingAvatarStore.java:89)
      	at com.atlassian.cache.memory.MemoryCacheManager$3$1.load(MemoryCacheManager.java:132)
      	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3573)
      	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2350)
      	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2313)
      	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2228)
      	at com.google.common.cache.LocalCache.get(LocalCache.java:3970)
      	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974)
      	at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4834)
      	at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:264)
      	... 43 more
      
      

      A corrupted avatar shouldn't be causing the share/mention functionality to fail

      More information can be found in the following article

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ntran Nhat Tran
              Reporter:
              ywoo Yit Wei Woo (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: