Get your own customer support community
 

Why is Link Validation Plugin producing error on attachment links?

Links to a page attachment produce an error: Error formatting macro: report-on: java.lang.NullPointerException:
Inappropriate?
1 person has this question

  • Inappropriate?
    Hi Ken,

    Could please provide a little more information for us? Such as:

    * Confluence version
    * Plugin Version
    * Macro markup you are using.

    Thanks.
  • Comment_icon
    Conf v 2.8.2
    LValidator v 1.0.0
    Reporting Plugin v1.2 (we plan on upgrading)
    Here is the markup
    {report-block}
    {content-reporter:types=page,news,comment|spaces=edservices}
    {content-reporter}
    {report-body}
    ||{report-info:content:title|link=true} |{report-on:content:outgoing links}
    |{report-info:link:url|link=true}|{link-validator:timeout=3}{report-info:link:url}{link-validator}|
    {report-on}|
    {report-body}
    {report-block}
  • Comment_icon
    We also upgraded our dev environment to reporting polugin v3.1.0 and using the supplied recipe we still get the error for attachments

    {report-block}
    {content-reporter:types=page,news,comment|spaces=gs}
    {content-reporter}
    {report-body}
    {report-on:content:outgoing links|injected=true}
    || %url% | {link-validator:url=%url%|timeout=50} |
    {report-on}
    {report-body}
    {report-block}

    See pic of error
  • Ken Stafford
  • Inappropriate?
    Hmm. Anything in the server's log file regarding the NullPointerException? That would help narrow down the problem.
  • Comment_icon
    Here is the log file info: hope this is usable

    2009-06-05 08:39:19,425 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 303383-133790 2130 139.99.222.160
    2009-06-05 08:39:39,814 ERROR [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: report-on
    java.lang.NullPointerException:
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getOutgoingLinks(AbstractContentSupplier.java:179)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getValue(AbstractContentSupplier.java:121)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractSpaceContentSupplier.getValue(AbstractSpaceContentSupplier.java:20)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractPageSupplier.getValue(AbstractPageSupplier.java:33)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:57)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:16)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:111)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:48)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:104)
    at org.randombits.confluence.supplier.SupplierAssistant.getValue(SupplierAssistant.java:629)
    at org.randombits.confluence.supplier.SupplierAssistant.getSomething(SupplierAssistant.java:721)
    at org.randombits.confluence.supplier.SupplierAssistant.findSomething(SupplierAssistant.java:686)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:598)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:575)
    at net.customware.confluence.reporting.macro.AbstractValueMacro$1.execute(AbstractValueMacro.java:82)
    at net.customware.confluence.reporting.ReportBuilder.executeRoot(ReportBuilder.java:103)
    at net.customware.confluence.reporting.macro.AbstractValueMacro.report(AbstractValueMacro.java:74)
    at net.customware.confluence.reporting.macro.AbstractReportingMacro.execute(AbstractReportingMacro.java:26)
    at org.randombits.confluence.support.ConfluenceMacro.execute(ConfluenceMacro.java:55)
    at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.executeMacro(MacroRendererComponent.java:297)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:255)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:151)
    at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:126)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:121)
    at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:94)
    at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:47)
    at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
    2009-06-05 08:39:43,654 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 169593-46566 4086 139.99.222.160
    2009-06-05 08:42:39,159 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 173606 2402 139.99.222.160
    2009-06-05 08:42:44,905 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 173606-17630 2481 139.99.222.160
    2009-06-05 08:42:59,856 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 155976 2260 139.99.222.160
    2009-06-05 08:43:02,122 ERROR [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: report-on
    java.lang.NullPointerException:
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getOutgoingLinks(AbstractContentSupplier.java:179)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getValue(AbstractContentSupplier.java:121)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractSpaceContentSupplier.getValue(AbstractSpaceContentSupplier.java:20)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractPageSupplier.getValue(AbstractPageSupplier.java:33)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:57)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:16)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:111)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:48)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:104)
    at org.randombits.confluence.supplier.SupplierAssistant.getValue(SupplierAssistant.java:629)
    at org.randombits.confluence.supplier.SupplierAssistant.getSomething(SupplierAssistant.java:721)
    at org.randombits.confluence.supplier.SupplierAssistant.findSomething(SupplierAssistant.java:686)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:598)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:575)
    at net.customware.confluence.reporting.macro.AbstractValueMacro$1.execute(AbstractValueMacro.java:82)
    at net.customware.confluence.reporting.ReportBuilder.executeRoot(ReportBuilder.java:103)
    at net.customware.confluence.reporting.macro.AbstractValueMacro.report(AbstractValueMacro.java:74)
    at net.customware.confluence.reporting.macro.AbstractReportingMacro.execute(AbstractReportingMacro.java:26)
    at org.randombits.confluence.support.ConfluenceMacro.execute(ConfluenceMacro.java:55)
    at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.executeMacro(MacroRendererComponent.java:297)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:255)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:151)
    at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:126)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:121)
    at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:94)
    at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:47)
    at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
    2009-06-05 08:43:04,683 INFO [atlassian.confluence.util.AccessLogFilter] doFilter kens http://wikipweb2.cadence.com:8080/con... 155976-30133 2648 139.99.222.160
    2009-06-05 10:59:19,437 INFO [atlassian.confluence.util.AccessLogFilter] doFilter carriem http://wikipweb2.cadence.com:8080/con... 225586-161571 102742 139.99.217.50
    2009-06-05 11:01:09,761 INFO [atlassian.confluence.util.AccessLogFilter] doFilter carriem http://wikipweb2.cadence.com:8080/con... 57545-22459 14839 139.99.217.50
    2009-06-05 11:19:06,954 INFO [atlassian.confluence.util.AccessLogFilter] doFilter - http://wikipweb2.cadence.com:8080/con... 277033 170 158.140.58.11
    2009-06-05 11:19:20,237 ERROR [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: report-on
    java.lang.NullPointerException:
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getOutgoingLinks(AbstractContentSupplier.java:179)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractContentSupplier.getValue(AbstractContentSupplier.java:121)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractSpaceContentSupplier.getValue(AbstractSpaceContentSupplier.java:20)
    at net.customware.confluence.plugin.reporting.supplier.content.AbstractPageSupplier.getValue(AbstractPageSupplier.java:33)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:57)
    at net.customware.confluence.plugin.reporting.supplier.content.PageSupplier.getValue(PageSupplier.java:16)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:111)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:48)
    at net.customware.confluence.reporting.supplier.AbstractEntitySupplier.getValue(AbstractEntitySupplier.java:117)
    at net.customware.confluence.plugin.reporting.supplier.content.ContentSupplier.getValue(ContentSupplier.java:104)
    at org.randombits.confluence.supplier.SupplierAssistant.getValue(SupplierAssistant.java:629)
    at org.randombits.confluence.supplier.SupplierAssistant.getSomething(SupplierAssistant.java:721)
    at org.randombits.confluence.supplier.SupplierAssistant.findSomething(SupplierAssistant.java:686)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:598)
    at org.randombits.confluence.supplier.SupplierAssistant.findValue(SupplierAssistant.java:575)
    at net.customware.confluence.reporting.macro.AbstractValueMacro$1.execute(AbstractValueMacro.java:82)
    at net.customware.confluence.reporting.ReportBuilder.executeRoot(ReportBuilder.java:103)
    at net.customware.confluence.reporting.macro.AbstractValueMacro.report(AbstractValueMacro.java:74)
    at net.customware.confluence.reporting.macro.AbstractReportingMacro.execute(AbstractReportingMacro.java:26)
    at org.randombits.confluence.support.ConfluenceMacro.execute(ConfluenceMacro.java:55)
    at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:45)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.executeMacro(MacroRendererComponent.java:297)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:255)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:151)
    at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:126)
    at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:121)
    at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:94)
    at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
    at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:47)
    at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
    2009-06-05 11:19:22,791 INFO [atlassian.confluence.util.AccessLogFilter] doFilter poonamm http://wikipweb2.cadence.com:8080/con... 179213-35003 3019
  • Inappropriate?
    Hmm. Well, it definitely helps in that I have an idea where the error is occurring, but I can't come up with an 'outgoing link' that actually breaks the code.

    Any ideas what kind of outgoing link might be causing it to fail?
  • Comment_icon
    The "bad" links are in the form of [Attachment|^test.xls], or any other extension/file type, which is a standard method of attachment links. Removal of these links allows the link validation to pass and run successfully. If there is any other evironmental informaiton you need to diagnose please let me know. Thanks - Ken
  • Comment_icon
    Ok, thanks Ken, that helps a lot. I'll get back to you after I get a chance to do some testing.
  • Inappropriate?
    Hi Ken,

    Long delay in updates, sorry about that. But I've finally had some time to do some testing. Working in Confluence 3.0 I haven't been able to get it to break with attachment links. That said, attachment links aren't even showing up as external links, so I suspect that Atlassian may have changed how they handle that, which might have been the 'real' resolution to the issue.
    Sprite_screen 1 person says this answers the question
  • Comment_icon
    Thanks, David. I appreciate you getting back to this. I don't forsee us upgrading Confluence for a while, so we will limp along with this as is. I don't know to what extent you've had other feedback, but we've found that this plugin, or something in conjunction with the reporting plugin causes our system to crash. I have not had any iother such ssues with the reporting plugin, but only when using the link validation in conjunction with the reporting plugin. We've therefore stopped using the link validation plugin until we can feel more confortable as to why the system crashes. If you've had other users experience this it would be great to understand how to avoid this.
User_default_medium