Hi,

I have a jag file containing ~1900 LOC [1]. To that, I added few more
stringify() calls. At one point, the jag app throws the below exception. If
I remove any of the stringify() methods, it works fine. (This error is
thrown for other functions such as well, like array looping or accessing
array elements and etc).

Wonder whether there is a limit of instructions/logics per single jag file?


Appreciate any help/workaround on this.


*Stack trace:*

[2016-03-23 16:32:13,498] ERROR
{org.jaggeryjs.jaggery.core.manager.WebAppManager} -
 org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
(/portal/routers/apis.jag#22) (/portal/routers/tenant.jag#67)
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
(/portal/routers/apis.jag#22) (/portal/routers/tenant.jag#67)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571)
at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:587)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:507)
at org.jaggeryjs.jaggery.core.JaggeryServlet.doGet(JaggeryServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
at
org.wso2.carbon.event.receiver.core.internal.tenantmgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:48)
at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
(/portal/routers/apis.jag#22) (/portal/routers/tenant.jag#67)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
at
org.jaggeryjs.rhino.portal.routers.c0._c_anonymous_1(/portal/routers/tenant.jag:67)
at org.jaggeryjs.rhino.portal.routers.c0.call(/portal/routers/tenant.jag)
at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
at
org.jaggeryjs.rhino.portal.routers.c0._c_script_0(/portal/routers/tenant.jag:11)
at org.jaggeryjs.rhino.portal.routers.c0.call(/portal/routers/tenant.jag)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.jaggeryjs.rhino.portal.routers.c0.call(/portal/routers/tenant.jag)
at org.jaggeryjs.rhino.portal.routers.c0.exec(/portal/routers/tenant.jag)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
... 42 more
Caused by: org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
(/portal/routers/apis.jag#22)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571)
at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.executeScript(WebAppManager.java:308)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:148)
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
... 54 more
Caused by: org.mozilla.javascript.WrappedException: Wrapped
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
(/portal/routers/apis.jag#22)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63)
at
org.jaggeryjs.rhino.portal.routers.c2._c_anonymous_1(/portal/routers/apis.jag:22)
at org.jaggeryjs.rhino.portal.routers.c2.call(/portal/routers/apis.jag)
at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
at
org.jaggeryjs.rhino.portal.routers.c2._c_script_0(/portal/routers/apis.jag:4)
at org.jaggeryjs.rhino.portal.routers.c2.call(/portal/routers/apis.jag)
at org.jaggeryjs.rhino.portal.routers.c2.exec(/portal/routers/apis.jag)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
... 61 more
Caused by: org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:571)
at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.executeScript(WebAppManager.java:308)
at
org.jaggeryjs.jaggery.core.manager.WebAppManager.include(WebAppManager.java:148)
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
... 70 more
Caused by: org.jaggeryjs.scriptengine.exceptions.ScriptException:
org.mozilla.javascript.EvaluatorException: Encountered code generation
error while compiling function "null": Program too complex: too big jump
offset (/portal/controllers/apis/esbanalytics.jag#2)
at
org.jaggeryjs.scriptengine.cache.CacheManager.cacheScript(CacheManager.java:91)
at
org.jaggeryjs.scriptengine.cache.CacheManager.getScriptObject(CacheManager.java:102)
at
org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:562)
... 77 more
Caused by: org.mozilla.javascript.EvaluatorException: Encountered code
generation error while compiling function "null": Program too complex: too
big jump offset (/portal/controllers/apis/esbanalytics.jag#2)
at
org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultErrorReporter.java:77)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:913)
at
org.mozilla.javascript.optimizer.Codegen.reportClassFileFormatException(Codegen.java:180)
at org.mozilla.javascript.optimizer.Codegen.generateCode(Codegen.java:308)
at
org.mozilla.javascript.optimizer.Codegen.compileToClassFile(Codegen.java:166)
at
org.mozilla.javascript.optimizer.ClassCompiler.compileToClassFiles(ClassCompiler.java:155)
at
org.jaggeryjs.scriptengine.cache.CacheManager.cacheScript(CacheManager.java:84)
... 79 more



[1]
https://github.com/wso2/analytics-esb/blob/master/features/org.wso2.carbon.analytics.esb.feature/src/main/jaggeryapi/esbanalytics.jag

Thanks,
Supun
-- 
*Supun Sethunga*
Software Engineer
WSO2, Inc.
http://wso2.com/
lean | enterprise | middleware
Mobile : +94 716546324
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to