Uploaded image for project: 'Notifyr for Bitbucket Server'
  1. NOTIFYR-67

HTTP 500 error when trying to watch a personal repository

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.5
    • Fix Version/s: 2.3.6
    • Component/s: None
    • Labels:
      None
    • Environment:

      Stash 3.5.1

      Description

      When I visit a user's personal fork of a repository and try to click the "watch" icon on the left hand side, I get a big old HTTP 500 error from Stash.

      More specifically, clicking the "Watch" icon takes me to this URL:

      https://MYSTASH/plugins/servlet/notifyr/watch?project=~USERNAME&repos=MYREPONAME

      which results in the HTTP 500 error page with the following in the system log:

      2015-03-06 00:56:22,908 ERROR [http-nio-7990-exec-4] @1NHP2PKx56x449x0 d3xfba 107.179.244.36,0:0:0:0:0:0:0:1 "GET /mvc/error500 HTTP/1.1" c.a.s.i.web.ErrorPageController There was an unhandled exception loading [/plugins/servlet/notifyr/watch]
      com.google.template.soy.tofu.SoyTofuException: Failed in applying directive '|escapeHtml' in tag "{$repository |escapeHtml}" due to exception: Failed to invoke accessor getClasses on instance of class java.lang.Class
              at notifyr.page.repository.repository(repositoryWatch.soy:68) ~[na:na]
              at notifyr.page.repository.watches(repositoryWatch.soy:38) ~[na:na]
              at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:369) ~[na:na]
              at com.google.template.soy.tofu.internal.BaseTofu.renderMain(BaseTofu.java:322) ~[na:na]
              at com.google.template.soy.tofu.internal.BaseTofu.access$100(BaseTofu.java:66) ~[na:na]
              at com.google.template.soy.tofu.internal.BaseTofu$RendererImpl.render(BaseTofu.java:476) ~[na:na]
              at com.atlassian.soy.impl.DefaultSoyManager.render(DefaultSoyManager.java:120) ~[na:na]
              at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:52) ~[na:na]
              at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:45) ~[na:na]
              at com.atlassian.soy.impl.DefaultSoyTemplateRenderer.render(DefaultSoyTemplateRenderer.java:38) ~[na:na]
              at nl.stefankohler.stash.TemplateRenderer.render(TemplateRenderer.java:23) ~[na:na]
              at nl.stefankohler.stash.notifyr.web.RepositoryWatchServlet.doGet(RepositoryWatchServlet.java:53) ~[na:na]
              at nl.stefankohler.stash.notifyr.web.BaseHttpServlet.service(BaseHttpServlet.java:35) ~[na:na]
              at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) ~[na:na]
              at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:181) ~[SiteMeshFilter.class:na]
              at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:85) ~[SiteMeshFilter.class:na]
              at com.atlassian.stash.internal.spring.security.StashAuthenticationFilter.doFilter(StashAuthenticationFilter.java:86) ~[StashAuthenticationFilter.class:na]
              at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doInsideSpringSecurityChain(BeforeLoginPluginAuthenticationFilter.java:111) ~[BeforeLoginPluginAuthenticationFilter.class:na]
              at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:77) ~[BeforeLoginPluginAuthenticationFilter.class:na]
              at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:100) ~[TrustedApplicationsFilter.class:na]
              at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:79) ~[na:na]
              at com.atlassian.analytics.client.filter.DefaultAnalyticsFilter.doFilter(DefaultAnalyticsFilter.java:32) ~[na:na]
              at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) ~[na:na]
              at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doBeforeBeforeLoginFilters(BeforeLoginPluginAuthenticationFilter.java:89) ~[BeforeLoginPluginAuthenticationFilter.class:na]
              at com.atlassian.stash.internal.web.auth.BeforeLoginPluginAuthenticationFilter.doFilter(BeforeLoginPluginAuthenticationFilter.java:75) ~[BeforeLoginPluginAuthenticationFilter.class:na]
              at com.atlassian.stash.internal.request.DefaultRequestManager.doAsRequest(DefaultRequestManager.java:85) ~[DefaultRequestManager.class:na]
              at com.atlassian.stash.internal.hazelcast.ConfigurableWebFilter.doFilter(ConfigurableWebFilter.java:38) ~[ConfigurableWebFilter.class:na]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_60]
              at java.lang.Thread.run(Thread.java:745) [na:1.7.0_60]
              ... 201 frames trimmed
      Caused by: com.google.template.soy.sharedpasses.render.RenderException: Failed in applying directive '|escapeHtml' in tag "{$repository |escapeHtml}" due to exception: Failed to invoke accessor getClasses on instance of class java.lang.Class
              at notifyr.page.repository.repository(repositoryWatch.soy:68) ~[na:na]
              at notifyr.page.repository.watches(repositoryWatch.soy:38) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.applyDirective(RenderVisitor.java:801) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitPrintNode(RenderVisitor.java:266) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:87) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56) ~[na:na]
              at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:59) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:129) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitBlockHelper(RenderVisitor.java:702) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitTemplateNode(RenderVisitor.java:220) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateBasicNode(AbstractSoyNodeVisitor.java:160) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:66) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56) ~[na:na]
              at com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:40) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitCallNodeHelper(RenderVisitor.java:590) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitCallBasicNode(RenderVisitor.java:457) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:110) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56) ~[na:na]
              at com.google.template.soy.basetree.AbstractNodeVisitor.visitChildren(AbstractNodeVisitor.java:59) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitChildren(AbstractSoyNodeVisitor.java:129) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitBlockHelper(RenderVisitor.java:702) ~[na:na]
              at com.google.template.soy.sharedpasses.render.RenderVisitor.visitTemplateNode(RenderVisitor.java:220) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visitTemplateBasicNode(AbstractSoyNodeVisitor.java:160) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:66) ~[na:na]
              at com.google.template.soy.soytree.AbstractSoyNodeVisitor.visit(AbstractSoyNodeVisitor.java:56) ~[na:na]
              at com.google.template.soy.basetree.AbstractNodeVisitor.exec(AbstractNodeVisitor.java:40) ~[na:na]
              at com.google.template.soy.tofu.internal.BaseTofu.renderMainHelper(BaseTofu.java:366) ~[na:na]
              ... 27 common frames omitted
      com.atlassian.soy.renderer.SoyException: Failed to invoke accessor getClasses on instance of class java.lang.Class
              at com.atlassian.soy.impl.data.AccessorSoyValueProvider.doResolve(AccessorSoyValueProvider.java:56) ~[na:na]
              at com.atlassian.soy.impl.data.AccessorSoyValueProvider.resolve(AccessorSoyValueProvider.java:39) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.getItem(SoyAbstractMap.java:35) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:50) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
      ... repeated a whole bunch of times ...
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
              at com.google.template.soy.data.SoyAbstractList.coerceToString(SoyAbstractList.java:115) ~[na:na]
              at com.google.template.soy.data.SoyAbstractMap.coerceToString(SoyAbstractMap.java:56) ~[na:na]
      

        Attachments

          Activity

            People

            • Assignee:
              stefan Stefan Kohler
              Reporter:
              scott@arsenalesystems.com Scott Dudley [Inactive]
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: