After quite a bit exploring, bringing a recompiled version into mine and debugging.
It appears that: - DefaultExcution.getContext is very commonly called with an empty stack field... hence returns null - the one that interests us, and where it breaks, happens in yet a more difficult place than what you've been telling, I feel: the ConversionFilter. From what I could see inside there, it calls to XhtmlParser.parse that creates the exception. At this point calls to CurrentEntityReferenceValueProvider seem to be without context. Is this conversion done on the fly in a filter too in modern XWikis? As this is called on the velocity page CreateResources/AssetDone, how would the xhtml conversion filter perform any entity-resolution of images if it does not know the page that the context would carry? A parameter, pageName, would be available here. But is this the standard that would be applied there? I seem to understand that this is causing our bug, which only appears if we have attached images whereas external images work fine. If this is right, either there's a clean adjustment here, to inject the page context properly for the conversion, or I'll use workaround with code within my velocity page, after javascript has made these images become "external" ones. thanks paul On 29/03/15 11:28, Marius Dumitru Florea wrote: > From the stack trace, the cause of the failure seems to be that there > is no ExecutionContext set on the Execution component [1]. On which > request is this stack trace logged? Is it a GWT-RPC request? In this > case the Execution is initialized by XWikiContextInitializationFilter > [2] which calls ServletContainerInitializer#initializeRequest() where > a new ExecutionContext is put on the Execution [3]. Otherwise, for an > action request (save, preview, etc.) the ExecutionContext is > initialized in XWikiAction [4]. > > If the ExecutionContext is properly initialized then it means some > code removes it from the Execution afterwards. Putting some > breakpoints in DefaultExecution [5] should catch this code. > > Hope this helps, > Marius > > [1] > https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.5.1/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/doc/DefaultDocumentAccessBridge.java#L85 > [2] > https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.5.1/xwiki-platform-core/xwiki-platform-wysiwyg/xwiki-platform-wysiwyg-server/src/main/java/org/xwiki/wysiwyg/server/filter/XWikiContextInitializationFilter.java#L158 > [3] > https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.5.1/xwiki-platform-core/xwiki-platform-containers/xwiki-platform-container-servlet/src/main/java/org/xwiki/container/servlet/internal/DefaultServletContainerInitializer.java#L103 > [4] > https://github.com/xwiki/xwiki-platform/blob/xwiki-platform-3.5.1/xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/web/XWikiAction.java#L399 > [5] > https://github.com/xwiki/xwiki-commons/blob/xwiki-commons-3.5.1/xwiki-commons-core/xwiki-commons-context/src/main/java/org/xwiki/context/internal/DefaultExecution.java > > On Sat, Mar 28, 2015 at 2:37 AM, Paul Libbrecht <[email protected]> wrote: >> Hello XWiki experts, >> >> in Curriki, we met a bug that seems related to the wysiwyg editor's >> ability to accept html. >> >> When it does so, and is input with an image, it fails the html >> conversion because of the exception below for the simple (cleaned) content: >> <?xml version="1.0" encoding="UTF-8"?> >> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" >> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> >> <html><head></head><body><p>Image</p><p><!--startimage:false|-|attach|-|sunset-dark2.PNG--><img >> alt="sunset-dark2.PNG" >> src="http://node1.hoplahup.net/xwiki/bin/download/AssetTemp/dgW1kVv9l2mE9xqA/sunset-dark2.PNG?width=556"></img><!--stopimage--></p></body></html> >> >> Yielding the exception: >> Caused by: java.lang.NullPointerException: null >> at >> com.xpn.xwiki.doc.DefaultDocumentAccessBridge.getContext(DefaultDocumentAccessBridge.java:85) >> ~[xwiki-platform-legacy-oldcore-3.5.1.jar:na] >> at >> com.xpn.xwiki.doc.DefaultDocumentAccessBridge.getAttachmentURL(DefaultDocumentAccessBridge.java:847) >> ~[xwiki-platform-legacy-oldcore-3.5.1.jar:na] >> at >> org.xwiki.rendering.internal.wiki.XWikiWikiModel.getLinkURL(XWikiWikiModel.java:137) >> ~[xwiki-platform-rendering-xwiki-3.5.1.jar:na] >> at >> org.xwiki.rendering.internal.wiki.XWikiWikiModel.getImageURL(XWikiWikiModel.java:153) >> ~[xwiki-platform-rendering-xwiki-3.5.1.jar:na] >> at >> org.xwiki.rendering.internal.renderer.xhtml.image.DefaultXHTMLImageRenderer.onImage(DefaultXHTMLImageRenderer.java:120) >> ~[xwiki-rendering-syntax-xhtml-3.5.1.jar:na] >> at >> org.xwiki.rendering.internal.renderer.xhtml.XHTMLChainingRenderer.onImage(XHTMLChainingRenderer.java:545) >> ~[xwiki-rendering-syntax-xhtml-3.5.1.jar:na] >> at >> org.xwiki.rendering.listener.chaining.AbstractChainingListener.onImage(AbstractChainingListener.java:454) >> ~[xwiki-rendering-api-3.5.1.jar:na] >> at >> org.xwiki.rendering.listener.chaining.AbstractChainingListener.onImage(AbstractChainingListener.java:454) >> ~[xwiki-rendering-api-3.5.1.jar:na] >> at >> org.xwiki.rendering.listener.chaining.EmptyBlockChainingListener.onImage(EmptyBlockChainingListener.java:600) >> ~[xwiki-rendering-api-3.5.1.jar:na] >> at >> org.xwiki.rendering.listener.chaining.AbstractChainingListener.onImage(AbstractChainingListener.java:454) >> ~[xwiki-rendering-api-3.5.1.jar:na] >> at >> org.xwiki.rendering.listener.chaining.BlockStateChainingListener.onImage(BlockStateChainingListener.java:796) >> ~[xwiki-rendering-api-3.5.1.jar:na] >> >> I am not too sure how to debug that. >> Clues would be welcome. >> >> thanks in advance. >> >> Paul >> >> >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs >> > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs
signature.asc
Description: OpenPGP digital signature
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

