Closed jamiejackson closed 1 year ago
Hm, we should be (gracefully) handling that AbsentInformationException
. We're filtering for classfiles that are subtypes of Lucee Page
objects, with the assumption that they will always have source information, but maybe that assumption is wrong. Curious if you have any precompiled CF classfiles that are part of your project?
Thanks for the report! It's on the docket.
Might be worth trying with the same version as it's built with? https://github.com/softwareCobbler/luceedebug/blob/master/luceedebug/extern/5.3.9.158-SNAPSHOT.lco
It's not "fixed" but pushed a change so that it doesn't crash in this location on AbsentInformationException
s anymore. Instead, it should print the name of the problematic source file, and carry on.
I'd be interested to know which files are missing line info; the new trace output might help shed light on that. Assuming they are Lucee generated class files, I thought source line info was always emitted into the generated class files (and rely on that to be the case to instrument stepping).
@zspitzer I won't rule out a version conflict; but, the error seems correlated with asking for line information against a ReferenceType
that apparently doesn't have any, which seems unrelated to some kind of mismatch between compiletime and runtime type signatures.
@softwareCobbler , thanks for the semi-fix.
Here's where I am now:
### Startup Catalina ###
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/openjdk-11
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Listening for transport dt_socket at address: 9999
[luceedebug] agent premain complete
10-Dec-2022 14:49:16.819 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/9.0.39
10-Dec-2022 14:49:16.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Oct 6 2020 14:11:46 UTC
10-Dec-2022 14:49:16.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.39.0
10-Dec-2022 14:49:16.856 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
10-Dec-2022 14:49:16.856 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.15.0-200-generic
10-Dec-2022 14:49:16.865 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
10-Dec-2022 14:49:16.868 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/local/openjdk-11
10-Dec-2022 14:49:16.869 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 11.0.9+11
10-Dec-2022 14:49:16.870 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
10-Dec-2022 14:49:16.870 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat
10-Dec-2022 14:49:16.871 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat
10-Dec-2022 14:49:16.888 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
10-Dec-2022 14:49:16.891 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
10-Dec-2022 14:49:16.892 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
10-Dec-2022 14:49:16.893 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
10-Dec-2022 14:49:16.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
10-Dec-2022 14:49:16.894 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms512m
10-Dec-2022 14:49:16.895 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx4096m
10-Dec-2022 14:49:16.897 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.security.egd=file:/dev/./urandom
10-Dec-2022 14:49:16.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=localhost:9999
10-Dec-2022 14:49:16.898 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/app/lib/luceedebug/luceedebug.jar=jdwpHost=localhost,jdwpPort=9999,cfHost=localhost,cfPort=10000,jarPath=/app/lib/luceedebug/luceedebug.jar
10-Dec-2022 14:49:16.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
10-Dec-2022 14:49:16.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
10-Dec-2022 14:49:16.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
10-Dec-2022 14:49:16.906 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
10-Dec-2022 14:49:16.907 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
10-Dec-2022 14:49:16.909 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
10-Dec-2022 14:49:16.909 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
10-Dec-2022 14:49:16.920 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.25] using APR version [1.6.5].
10-Dec-2022 14:49:16.920 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
10-Dec-2022 14:49:16.921 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
10-Dec-2022 14:49:16.929 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1d 10 Sep 2019]
10-Dec-2022 14:49:17.787 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8888"]
10-Dec-2022 14:49:17.827 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1427] milliseconds
10-Dec-2022 14:49:17.920 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
10-Dec-2022 14:49:17.921 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.39]
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (file:/usr/local/tomcat/lucee/lucee.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
log4j:WARN No appenders could be found for logger (org.jets3t.service.Jets3tProperties).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
10-Dec-2022 14:49:21.383 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8888"]
10-Dec-2022 14:49:21.432 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [3603] milliseconds
## Access App ##
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[luceedebug] exception during attempted classfile rewrite
Method too large: info/mysite/askaquestion/aaqquestionpool_cfc$cf.__luceedebug__udfCall (Llucee/runtime/PageContext;Llucee/runtime/type/UDF;I)Ljava/lang/Object;
luceedebug_shadow.org.objectweb.asm.MethodTooLargeException: Method too large: info/mysite/askaquestion/aaqquestionpool_cfc$cf.__luceedebug__udfCall (Llucee/runtime/PageContext;Llucee/runtime/type/UDF;I)Ljava/lang/Object;
at luceedebug_shadow.org.objectweb.asm.MethodWriter.computeMethodInfoSize(MethodWriter.java:2088)
at luceedebug_shadow.org.objectweb.asm.ClassWriter.toByteArray(ClassWriter.java:511)
at luceedebug.LuceeTransformer.instrumentCfmOrCfc(LuceeTransformer.java:170)
at luceedebug.LuceeTransformer.transform(LuceeTransformer.java:98)
at java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:246)
at java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:563)
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:878)
at lucee.commons.lang.PhysicalClassLoader._loadClass(PhysicalClassLoader.java:198)
at lucee.commons.lang.PhysicalClassLoader.loadClass(PhysicalClassLoader.java:179)
at lucee.runtime.MappingImpl.getPhysicalClass(MappingImpl.java:263)
at lucee.runtime.PageSourceImpl._compile(PageSourceImpl.java:443)
at lucee.runtime.PageSourceImpl.compile(PageSourceImpl.java:407)
at lucee.runtime.PageSourceImpl.loadPhysical(PageSourceImpl.java:348)
at lucee.runtime.PageSourceImpl.loadPageThrowTemplateException(PageSourceImpl.java:237)
at lucee.runtime.PageSourceImpl.loadPage(PageSourceImpl.java:1007)
at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:292)
at lucee.runtime.component.ComponentLoader._search(ComponentLoader.java:117)
at lucee.runtime.component.ComponentLoader.searchComponent(ComponentLoader.java:84)
at lucee.runtime.functions.other.GetComponentMetaData.call(GetComponentMetaData.java:51)
at org.framework.ioc_cfc$cf.__luceedebug__udfCall2(/var/www/lib/org/framework/ioc.cfc:218)
at org.framework.ioc_cfc$cf.udfCall2(/var/www/lib/org/framework/ioc.cfc)
at org.framework.ioc_cfc$cf.__luceedebug__udfCall(/var/www/lib/org/framework/ioc.cfc)
at org.framework.ioc_cfc$cf.udfCall(/var/www/lib/org/framework/ioc.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:779)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at org.framework.ioc_cfc$cf.__luceedebug__udfCall1(/var/www/lib/org/framework/ioc.cfc:71)
at org.framework.ioc_cfc$cf.udfCall1(/var/www/lib/org/framework/ioc.cfc)
at org.framework.ioc_cfc$cf.__luceedebug__udfCall(/var/www/lib/org/framework/ioc.cfc)
at org.framework.ioc_cfc$cf.udfCall(/var/www/lib/org/framework/ioc.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:680)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1898)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at application_cfc$cf.__luceedebug__udfCall3(/var/www/wwwroot/plugins/askaquestion/Application.cfc:418)
at application_cfc$cf.udfCall3(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:779)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at application_cfc$cf.__luceedebug__udfCall1(/var/www/wwwroot/plugins/askaquestion/Application.cfc:127)
at application_cfc$cf.udfCall1(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.type.scope.UndefinedImpl.call(UndefinedImpl.java:779)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at includes.fw1_cfc$cf.__luceedebug__udfCallb(/var/www/wwwroot/plugins/askaquestion/includes/fw1.cfc:2056)
at includes.fw1_cfc$cf.udfCallb(/var/www/wwwroot/plugins/askaquestion/includes/fw1.cfc)
at includes.fw1_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/plugins/askaquestion/includes/fw1.cfc)
at includes.fw1_cfc$cf.udfCall(/var/www/wwwroot/plugins/askaquestion/includes/fw1.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:680)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:576)
at lucee.runtime.SuperComponent.call(SuperComponent.java:83)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at application_cfc$cf.__luceedebug__udfCall1(/var/www/wwwroot/plugins/askaquestion/Application.cfc:90)
at application_cfc$cf.udfCall1(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at application_cfc$cf.udfCall(/var/www/wwwroot/plugins/askaquestion/Application.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:680)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1898)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithoutNamedValues(VariableUtilImpl.java:785)
at lucee.runtime.PageContextImpl.getFunction(PageContextImpl.java:1710)
at askaquestion.includes.eventhandler_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/plugins/askaquestion/includes/eventHandler.cfc:21)
at askaquestion.includes.eventhandler_cfc$cf.udfCall(/var/www/wwwroot/plugins/askaquestion/includes/eventHandler.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:207)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:681)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1912)
at lucee.runtime.tag.Invoke.doComponent(Invoke.java:209)
at lucee.runtime.tag.Invoke.doEndTag(Invoke.java:186)
at plugin.pluginmanager_cfc$cf.__luceedebug__udfCall4_000065(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc:1814)
at plugin.pluginmanager_cfc$cf.udfCall4_000065(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc)
at plugin.pluginmanager_cfc$cf.__luceedebug__udfCall4(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc:1741)
at plugin.pluginmanager_cfc$cf.udfCall4(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc)
at plugin.pluginmanager_cfc$cf.__luceedebug__udfCall(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc)
at plugin.pluginmanager_cfc$cf.udfCall(/var/www/wwwroot/core/mura/plugin/pluginManager.cfc)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.callWithNamedValues(UDFImpl.java:207)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:681)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.callWithNamedValues(ComponentImpl.java:1917)
at lucee.runtime.util.VariableUtilImpl.callFunctionWithNamedValues(VariableUtilImpl.java:864)
at lucee.runtime.PageContextImpl.getFunctionWithNamedValues(PageContextImpl.java:1729)
at core.appcfc.onapplicationstart_include_cfm$cf.__luceedebug__call(/var/www/wwwroot/core/appcfc/onApplicationStart_include.cfm:826)
at core.appcfc.onapplicationstart_include_cfm$cf.call(/var/www/wwwroot/core/appcfc/onApplicationStart_include.cfm)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:945)
at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:837)
at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:818)
at core.appcfc.onapplicationstart_method_cfm$cf.__luceedebug__udfCall(/var/www/wwwroot/core/appcfc/onApplicationStart_method.cfm:7)
at core.appcfc.onapplicationstart_method_cfm$cf.udfCall(/var/www/wwwroot/core/appcfc/onApplicationStart_method.cfm)
at lucee.runtime.type.UDFImpl.implementation(UDFImpl.java:106)
at lucee.runtime.type.UDFImpl._call(UDFImpl.java:344)
at lucee.runtime.type.UDFImpl.call(UDFImpl.java:217)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:680)
at lucee.runtime.ComponentImpl._call(ComponentImpl.java:568)
at lucee.runtime.ComponentImpl.call(ComponentImpl.java:1898)
at lucee.runtime.listener.ModernAppListener.call(ModernAppListener.java:436)
at lucee.runtime.listener.ModernAppListener.onApplicationStart(ModernAppListener.java:303)
at lucee.runtime.PageContextImpl.initApplicationContext(PageContextImpl.java:3077)
at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:119)
at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:42)
at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2416)
at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2406)
at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2381)
at lucee.runtime.engine.Request.exe(Request.java:43)
at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1170)
at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1116)
at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97)
at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at pl.hordyjewiczmichal.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.filters.RemoteIpFilter.doFilter(RemoteIpFilter.java:910)
at org.apache.catalina.filters.RemoteIpFilter.doFilter(RemoteIpFilter.java:961)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:39.704 INFO [Thread-6] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8888"]
10-Dec-2022 14:50:39.730 INFO [Thread-6] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
10-Dec-2022 14:50:39.737 INFO [Thread-6] org.apache.catalina.core.StandardWrapper.unload Waiting for [1] instance(s) to be deallocated for Servlet [CFMLServlet]
10-Dec-2022 14:50:40.770 INFO [Thread-6] org.apache.catalina.core.StandardWrapper.unload Waiting for [1] instance(s) to be deallocated for Servlet [CFMLServlet]
10-Dec-2022 14:50:41.794 INFO [Thread-6] org.apache.catalina.core.StandardWrapper.unload Waiting for [1] instance(s) to be deallocated for Servlet [CFMLServlet]
10-Dec-2022 14:50:47.134 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [FelixResolver-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.9/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
java.base@11.0.9/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
java.base@11.0.9/java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:458)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.139 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [FelixResolver-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.9/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:234)
java.base@11.0.9/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2123)
java.base@11.0.9/java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:458)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1053)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1114)
java.base@11.0.9/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.149 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [luceedebug-worker] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/java.net.PlainSocketImpl.socketAccept(Native Method)
java.base@11.0.9/java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:458)
java.base@11.0.9/java.net.ServerSocket.implAccept(ServerSocket.java:565)
java.base@11.0.9/java.net.ServerSocket.accept(ServerSocket.java:533)
app//luceedebug.DapServer.createForSocket(DapServer.java:84)
luceedebug.coreinject.DebugManager$1.run(DebugManager.java:40)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.151 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Thread-15] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.9/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
java.base@11.0.9/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081)
java.base@11.0.9/java.util.concurrent.LinkedBlockingDeque.takeLast(LinkedBlockingDeque.java:496)
luceedebug.coreinject.AsyncWorker$1.run(AsyncWorker.java:28)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.152 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Thread-16] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/java.lang.Object.wait(Native Method)
java.base@11.0.9/java.lang.Object.wait(Object.java:328)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(EventQueueImpl.java:190)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.EventQueueImpl.remove(EventQueueImpl.java:97)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.EventQueueImpl.remove(EventQueueImpl.java:83)
luceedebug.coreinject.CfVm$1.run(CfVm.java:405)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.153 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Thread-17] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
luceedebug.coreinject.CfVm$JdwpWorker.jdwp_stays_suspended_in_this_method_as_a_worker(CfVm.java:173)
luceedebug.coreinject.CfVm$JdwpWorker$1.run(CfVm.java:180)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.154 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [JDI Internal Event Handler] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/java.lang.Object.wait(Native Method)
java.base@11.0.9/java.lang.Object.wait(Object.java:328)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.EventQueueImpl.removeUnfiltered(EventQueueImpl.java:190)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.EventQueueImpl.removeInternal(EventQueueImpl.java:125)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.InternalEventHandler.run(InternalEventHandler.java:61)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.155 WARNING [Thread-6] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [JDI Target VM Interface] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.base@11.0.9/java.net.SocketInputStream.socketRead0(Native Method)
java.base@11.0.9/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
java.base@11.0.9/java.net.SocketInputStream.read(SocketInputStream.java:168)
java.base@11.0.9/java.net.SocketInputStream.read(SocketInputStream.java:140)
java.base@11.0.9/java.net.SocketInputStream.read(SocketInputStream.java:200)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.SocketConnection.readPacket(SocketConnection.java:82)
app/jdk.jdi@11.0.9/com.sun.tools.jdi.TargetVM.run(TargetVM.java:124)
java.base@11.0.9/java.lang.Thread.run(Thread.java:834)
10-Dec-2022 14:50:47.170 INFO [Thread-6] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8888"]
10-Dec-2022 14:50:52.222 WARNING [Thread-6] org.apache.tomcat.util.net.AbstractEndpoint.shutdownExecutor The executor associated with thread pool [http-nio-8888] has not fully shutdown. Some application threads may still be running.
10-Dec-2022 14:50:52.226 INFO [Thread-6] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8888"]
Ah, that's rough. After instrumentation, the method is too large (per classfile docs it's a u4 (4 bytes <==> 32 bit)). A little googling seems to indicate that instrumentation is a common cause of this error.
Pushed a workaround to disable instrumentation for the affected file, which unfortunately means breakpoints and frame info simply won't work for methods in that file. It will print a message indicating the name of the affected classfile when this happens.
We could probably do better and either:
Thanks, I'll give it a shot later.
Also, could you elaborate on the u32 comment?
well, they say u4, which they're using to mean 4 bytes; I was using u32 meaning 32 bits ... same same. But now I've gone and confused myself, since a 32bit number is what, 4GB? There's no way a method is getting to that size.
Oh ... it's a 32 bit number, but then they go and say
The value of code_length must be greater than zero (as the code array must not be empty) and less than 65536.
So in effect a 16 bit number.
Server starts!
[luceedebug] Method 'udfCall' in class 'info/mysite/askaquestion/aaqquestionpool_cfc$cf' became too large after instrumentation (size=70702). luceedebug won't be able to hit breakpoints in, or expose frame information for, this file.
[luceedebug] Method 'udfCall2' in class 'taportal/workplan/services/mixins/workplanscopeservice_cfm$cf' became too large after instrumentation (size=71842). luceedebug won't be able to hit breakpoints in, or expose frame information for, this file.
Ready to close, unless you've got any questions for me.
@softwareCobbler Lucee has support for splitting large class files when they are too large
https://github.com/lucee/Lucee/commit/6f02492f4461a0614d19cff974b4cee824ca666c
I'm using the lucee docker image (
lucee/lucee:5.3.7.47
). I'm new to luceedebug so I have no idea what I'm doing wrong, but the server won't start.You can see the
agentlib
andjavaagent
configs I'm trying to use in the logs, below.Any ideas?