Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-6449

No email address in LDAP causes page editing/movement to fail if user is watching

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 2.2.4
    • 2.2
    • None

    Description

      I attempt to move a page to another space. The page owner does not have an email address in their AD profile. Notification fails so page cannot be moved.

      Should catch error instead of killing process, please. Error is below.

      System Error
      A system error has occurred - our apologies!

      Please create a support issue on our support system at http://support.atlassian.com with the following information:

      1. a description of your problem and what you were doing at the time it occurred
      2. cut & paste the error and system information found below
      3. attach the application server log file (if possible).

      We will respond as promptly as possible.
      Thank you!

      Cause:
      java.lang.IllegalArgumentException: user rlknuev has null email address for mail notification item with subject Tech Services: Application Services (page edited)
      at com.atlassian.confluence.mail.template.MailNotificationQueueItem.checkUser(MailNotificationQueueItem.java:82)

      Stack Trace: [hide]

      java.lang.IllegalArgumentException: user rlknuev has null email address for mail notification item with subject Tech Services: Application Services (page edited)
      at com.atlassian.confluence.mail.template.MailNotificationQueueItem.checkUser(MailNotificationQueueItem.java:82)
      at com.atlassian.confluence.mail.template.MailNotificationQueueItem.(MailNotificationQueueItem.java:56)
      at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.(PreRenderedMailNotificationQueueItem.java:21)
      at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.createFromTemplateFileAndLocation(PreRenderedMailNotificationQueueItem.java:46)
      at com.atlassian.confluence.mail.template.PreRenderedMailNotificationQueueItem.createFromTemplateFileAndContext(PreRenderedMailNotificationQueueItem.java:99)
      at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotification(AbstractNotificationsListener.java:44)
      at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendNotifications(AbstractNotificationsListener.java:66)
      at com.atlassian.confluence.mail.notification.listeners.AbstractNotificationsListener.sendPageNotifications(AbstractNotificationsListener.java:51)
      at com.atlassian.confluence.mail.notification.listeners.PageNotificationsListener.handleEvent(PageNotificationsListener.java:48)
      at com.atlassian.confluence.event.DefaultEventManager.sendEventTo(DefaultEventManager.java:132)
      at com.atlassian.confluence.event.DefaultEventManager.onApplicationEvent(DefaultEventManager.java:54)
      at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:68)
      at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:201)
      at com.atlassian.confluence.event.DefaultEventManager.publishEvent(DefaultEventManager.java:45)
      at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
      at $Proxy0.publishEvent(Unknown Source)
      at com.atlassian.confluence.core.DefaultContentEntityManager.saveContentEntity(DefaultContentEntityManager.java:133)
      at com.atlassian.confluence.core.DefaultContentEntityManager.updateOutgoingLinksInContent(DefaultContentEntityManager.java:283)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
      at $Proxy8.updateOutgoingLinksInContent(Unknown Source)
      at com.atlassian.confluence.spaces.DefaultSpaceManager.moveHierarchy(DefaultSpaceManager.java:308)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.springframework.aop.framework.AopProxyUtils.invokeJoinpointUsingReflection(AopProxyUtils.java:61)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:149)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:116)
      at com.atlassian.confluence.util.profiling.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:18)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:138)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:152)
      at $Proxy18.moveHierarchy(Unknown Source)
      at com.atlassian.confluence.pages.actions.EditPageAction.doSaveEditPageBean(EditPageAction.java:188)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:302)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:170)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:39)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:94)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:82)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:39)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.atlassian.confluence.util.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:133)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
      at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
      at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
      at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
      at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:143)
      at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.confluence.util.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:30)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:45)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:177)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:170)
      at bucket.custom.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:31)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:73)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:122)
      at com.atlassian.confluence.util.error.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
      at java.lang.Thread.run(Thread.java:595)

      Referer URL: http://anf-wiki/pages/editpage.action?pageId=1736

      Build Information:
      Confluence Home: /export/home/confluence-data
      Uptime: 16 days, 1 hour, 23 minutes, 9 seconds
      Version: 2.2
      Build Number: 512

      Server Information:
      Application Server: Apache Tomcat/5.5.15
      Servlet Version: 2.4
      Database Dialect: net.sf.hibernate.dialect.PostgreSQLDialect
      Database Driver Name: org.postgresql.Driver
      Database Driver Version: 8.0

      Memory Information:
      Total Memory: 255 MB
      Free Memory: 122 MB
      Used Memory: 133 MB

      System Information:
      System Date: Friday, 23 Jun 2006
      System Time: 11:11:20
      System Favourite Colour: Taupe
      Java Version: 1.5.0_04
      Java Vendor: Sun Microsystems Inc.
      JVM Version: 1.0
      JVM Vendor: Sun Microsystems Inc.
      JVM Implementation Version: 1.5.0_04-b05
      Java Runtime: Java(TM) 2 Runtime Environment, Standard Edition
      Java VM: Java HotSpot(TM) Client VM
      User Name: root
      User Timezone: US/Eastern
      Operating System: SunOS 5.9
      OS Architecture: sparc
      Filesystem Encoding: ISO646-US

      Enabled Plugins:
      Page Tabs (confluence.sections.page, Version: 1.0)
      Basic Macros (confluence.macros.basic, Version: 1.3)
      Core Listeners (confluence.listeners.core, Version: 1.3)
      Dashboard Macros (confluence.macros.dashboard, Version: 1.3)
      User Listener (confluence.extra.userlister, Version: 1.2)
      Chart Plugin (confluence.extra.chart, Version: 1.5)
      Live Search Macros (confluence.extra.livesearch, Version: 1.3)
      Information Macros (confluence.extra.information, Version: 0.1)
      Global Labels Sections (confluence.sections.labels, Version: 1.0)
      JIRA Macros (confluence.extra.jira, Version: 1.4)
      Layout Macros (confluence.extra.layout, Version: 0.1)
      Profile Tabs (confluence.sections.profile, Version: 1.0)
      Confluence Remote API (confluence.extra.confluencerpc, Version: 1.4)
      Admin Sections (confluence.sections.admin, Version: 1.0)
      Tabular Metadata (confluence.extra.masterdetail, Version: 1.0)
      Space Admin Sections (confluence.sections.space.admin, Version: 1.0)
      Space Pages Sections (confluence.sections.space.pages, Version: 1.0)
      Calendar Plugin (confluence.extra.calendar, Version: 2.1.7)
      Confluence Repository Client (confluence.repository.client, Version: 1.2)
      Advanced Macros (confluence.macros.advanced, Version: 1.3)
      Space Advanced Sections (confluence.sections.space.advanced, Version: 1.0)
      News Tabs (confluence.sections.news, Version: 1.0)
      IM Presence Macros (confluence.extra.impresence, Version: 0.1)
      Attachments Macros (confluence.extra.attachments, Version: 1.3)
      Edit Profile Sections (confluence.sections.profile.edit, Version: 1.0)
      Space Actions Sections (confluence.sections.space.actions, Version: 1.0)
      Task List Macros (confluence.extra.tasklist, Version: 1.3)
      Space Labels Sections (confluence.sections.space.labels, Version: 1.0)
      Attachment Extractors (confluence.extractors.attachments, Version: 1.4)
      Left Navigation Theme (com.atlassian.confluence.themes.leftnavigation, Version: 1.0)
      Dynamic Task List Macros (confluence.extra.dynamictasklist, Version: 1.3)
      Core Extractors (confluence.extractors.core, Version: 1.4)
      Compatibility Macros (confluence.macros.compatibility, Version: 1.3)
      Code Macro (confluence.macros.code, Version: 1.4)
      Space Item Tabs (confluence.sections.space, Version: 1.0)
      Request

      Information:
      URL: http://localhost:8081/500page.jsp

      • Scheme: http
      • Server: localhost
      • Port: 8081
      • URI: /500page.jsp
      • - Context Path:
      • - Servlet Path: /500page.jsp
      • - Path Info: null
      • - Query String: pageId=1736

      Attributes:

      • javax.servlet.forward.request_uri : /pages/saveeditpagebean.action
      • javax.servlet.forward.context_path :
      • javax.servlet.forward.servlet_path : /pages/saveeditpagebean.action
      • javax.servlet.forward.path_info : /500page.jsp
      • javax.servlet.forward.query_string : pageId=1736
      • javax.servlet.error.message :
      • javax.servlet.error.exception : java.lang.IllegalArgumentException: user rlknuev has null email address for mail notification item with subject Tech Services: Application Services (page edited)
      • os_securityfilter_already_filtered : true
      • _sitemesh_using_stream : false
      • com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
      • javax.servlet.error.request_uri : /pages/saveeditpagebean.action
      • javax.servlet.error.status_code : 500
      • _sitemesh_filterapplied : true
      • javax.servlet.error.servlet_name : action
      • webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@195c710
      • atlassian.core.seraph.original.url : /pages/saveeditpagebean.action?pageId=1736
      • loginfilter.already.filtered : true
      • javax.servlet.jsp.jspException : java.lang.IllegalArgumentException: user rlknuev has null email address for mail notification item with subject Tech Services: Application Services (page edited)
      • sessioninview.FILTERED : true
      • com.atlassian.core.filters.gzip.GzipFilter_already_filtered : true

      Parameters:

      • pageId = 1736
        Confluence User:
      • anonymous

      Logging:
      0 log statements generated by this request.


      From Logs:

      2006-06-23 10:55:00,929 ERROR [opensymphony.webwork.dispatcher.ServletDispatcher] serviceAction Could not execute action
      java.lang.IllegalArgumentException: user rlknuev has null email address for mail notification item with subject Tech Services: Application Services (page edi
      ted)
      at com.atlassian.confluence.mail.template.MailNotificationQueueItem.checkUser(MailNotificationQueueItem.java:82)

      Attachments

        Activity

          People

            Unassigned Unassigned
            8caf58b91112 Greg Bobak
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: