[MGNLDIFF-19] Broken diff view - NullPointerException Created: 24/May/12  Updated: 28/Feb/13  Resolved: 28/Feb/13

Status: Closed
Project: Magnolia Diff Module
Component/s: None
Affects Version/s: 1.0.3
Fix Version/s: None

Type: Bug Priority: Neutral
Reporter: Tomas Brimor Assignee: Unassigned
Resolution: Obsolete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

Tried to show a version-diff for a page (webite repository) - in an author instance we have.

URL:
http://<host>/.magnolia/versionDiff?diffViewContentHandle=<path>&fromVersionNr=1.0&toVersionNr=

Result:
HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.RuntimeException: java.lang.NullPointerException
info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:159)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:75)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:94)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:64)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:88)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:85)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:51)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:86)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:120)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:66)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:105)
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:216)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
root cause

java.lang.NullPointerException
java.io.StringReader.<init>(StringReader.java:33)
info.magnolia.module.diff.VersionDiffHtmlGenerator.diff(VersionDiffHtmlGenerator.java:60)
info.magnolia.module.diff.VersionDiffHtmlServlet.getVersionDiffHtml(VersionDiffHtmlServlet.java:171)
info.magnolia.module.diff.VersionDiffHtmlServlet.doGet(VersionDiffHtmlServlet.java:96)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:119)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:66)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.VirtualUriFilter.doFilter(VirtualUriFilter.java:69)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.module.cache.executor.Bypass.processCacheRequest(Bypass.java:57)
info.magnolia.module.cache.executor.CompositeExecutor.processCacheRequest(CompositeExecutor.java:65)
info.magnolia.module.cache.filter.CacheFilter.doFilter(CacheFilter.java:147)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.i18n.I18nContentSupportFilter.doFilter(I18nContentSupportFilter.java:75)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.module.extendedtemplatingkit.filters.MultiSiteFilter.doFilter(MultiSiteFilter.java:94)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:64)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:88)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:85)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:51)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:84)
info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:86)
info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:60)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:102)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:120)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:82)
info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:66)
info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:88)
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:105)
info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:216)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

Don't know why toVersionNr is empty (will the last version be picked by default?)

To test, I also tried:
http://<host>/.magnolia/versionDiff?diffViewContentHandle=<path>&fromVersionNr=1.0&toVersionNr=1.2
but got the same error

I see that I get different versions of the page using following URL's:
http://<host><path>.html?mgnlVersion=1.0
http://<host><path>.html?mgnlVersion=1.2
http://<host><path>.html?mgnlVersion= (preview mode - admin buttons visible in this case)

Can you tell me what's going on here?



 Comments   
Comment by Ondrej Chytil [ 04/Jun/12 ]

Hi Tomas,

can you also reproduce this issue using GUI? If not try to compare URL generated by the GUI with the one you are passing in.
Empty toVersionNr parameter means that the version will be compared with page's current state.

Comment by Roman Kovařík [ 28/Feb/13 ]

Cannot reproduce with 1.0.6 or 1.1.4.

Generated at Mon Feb 12 05:20:35 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.