Fixed
Details
Assignee
Zac SpitzerZac SpitzerReporter
Michael OffnerMichael OffnerPriority
NewFix versions
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Details
Details
Assignee
Zac Spitzer
Zac SpitzerReporter
Michael Offner
Michael OffnerPriority
Fix versions
New Issue warning screen
Before you create a new Issue, please post to the mailing list first https://dev.lucee.org
Once the issue has been verified, one of the Lucee team will ask you to file an issue
Created last month
Updated yesterday
Resolved yesterday
When an error occurs with the S3 ResourceProvider (specifically with invalid AWS credentials), the error handler (
error.cfm
) attempts to serialize the error usingluceeCatchToString
. This causes the JSON converter to enter an infinite loop due to circular references in the error object.The thread hangs in the
JSONConverter._serialize
methods, with multiple recursive calls visible in the stack trace. This causes the Express server to hang and become unresponsive.Stack Trace
"http-nio-8888-exec-10" #92 [39632] daemon prio=1 os_prio=-2 cpu=67218.75ms elapsed=1711.51s tid=0x000001b69d3925d0 nid=39632 runnable [0x0000005891ac5000] java.lang.Thread.State: RUNNABLE at jdk.internal.loader.BootLoader.getSystemPackageNames(java.base@21.0.6/Native Method) at jdk.internal.loader.BootLoader.packages(java.base@21.0.6/BootLoader.java:220) at java.lang.ClassLoader.getPackages(java.base@21.0.6/ClassLoader.java:2373) at java.lang.Package.getPackages(java.base@21.0.6/Package.java:388) at lucee.invoc.wrap.v4.java.lang.Package.getPackages.apply(Unknown Source) at lucee.runtime.reflection.pairs.MethodInstance.invoke(MethodInstance.java:69) at lucee.transformer.dynamic.meta.dynamic.MethodDynamic.invoke(MethodDynamic.java:23) at lucee.runtime.converter.JSONConverter._serializeClass(JSONConverter.java:193) at lucee.runtime.converter.JSONConverter._serialize(JSONConverter.java:848) [... repeated JSONConverter calls showing recursion ...]
Error Message
lucee.runtime.exp.NativeException: The AWS Access Key Id you provided does not exist in our records.;error-code:InvalidAccessKeyId;AWSAccessKeyId:1;Erro
Additional Information
The issue is reproducible across multiple versions (7.0.146, 7.0.148)
Deleting the lucee-server directory before testing does not resolve the issue
Root cause appears to be the
luceeCatchToString
function creating circular references during JSON serializationThe error template is attempting to call another error template, creating a cascade of errors ("error calling the error template")