-
Bug
-
Resolution: Fixed
-
Normal
-
8.6.2.1, 9.6.1
-
None
-
Security Level: Jimmy
-
None
Steps to Reproduce
the zul
<zk> <include src="${'empty.zul'}"/> </zk>
This is a way to simulate multi-threading
set 2 breakpoints
breakpoint A
org.zkoss.zk.xel.ExValue: 93
breakpoint B
ExValue: 110
Suspend by thread
Steps
1. visit zul with chrome and stop at breakpoint A. This is thread A.
2. visit zul with another browser (firefox) and stop at breakpoint B, step to line 111. This is thread B.
3. let thread A step one line to set _expr = null
4. let thread B run eval.evaluate()
Current Result
9.6.1
java.lang.NullPointerException
org.zkoss.zk.xel.impl.SimpleEvaluator.evaluate(SimpleEvaluator.java:70)
org.zkoss.zk.ui.metainfo.AbstractEvalRef.evaluate(AbstractEvalRef.java:46)
org.zkoss.zk.xel.ExValue.getValue(ExValue.java:111)
org.zkoss.zk.ui.metainfo.Property.getValue(Property.java:138)
org.zkoss.zk.ui.metainfo.Property.assign0(Property.java:272)
org.zkoss.zk.ui.metainfo.Property.assign(Property.java:174)
org.zkoss.zk.ui.metainfo.ComponentInfo.applyProperties(ComponentInfo.java:742)
org.zkoss.zk.ui.impl.AbstractUiFactory.newComponent(AbstractUiFactory.java:150)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:921)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:891)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:778)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:838)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:796)
org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:742)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:463)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:371)
org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:220)
org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:146)
8.6.2.1
java.lang.NullPointerException
at org.zkoss.zk.xel.impl.SimpleEvaluator.evaluate(SimpleEvaluator.java:68)
at org.zkoss.zk.ui.metainfo.AbstractEvalRef.evaluate(AbstractEvalRef.java:46)
at org.zkoss.zk.xel.ExValue.getValue(ExValue.java:111)
at org.zkoss.zk.ui.metainfo.Property.getValue(Property.java:138)
at org.zkoss.zk.ui.metainfo.Property.assign0(Property.java:272)
at org.zkoss.zk.ui.metainfo.Property.assign(Property.java:174)
at org.zkoss.zk.ui.metainfo.ComponentInfo.applyProperties(ComponentInfo.java:742)
at org.zkoss.zk.ui.impl.AbstractUiFactory.newComponent(AbstractUiFactory.java:146)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:918)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:888)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:775)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:739)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:933)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:888)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:775)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:835)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:793)
at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:739)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:460)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:368)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:215)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:140
Expected Result
no exception
Debug Information
- the real case is web testing with many parallel requests, randomly happen