MemoryClassLoader Deadlock in 5.3.10.97

Description

A few weeks ago we updated one of our four load balanced lucee servers from 5.3.9.141 to 5.3.10.97. Twice since we upgraded that server has hit a request count of 30 and then has refused to clear out the requests.

FusionReactor shows that the request threads are blocked/deadlocked.

The other three servers that are currently running the same application using Lucee 5.3.9.141 have had no issue.

I have attached the Stack Trace for all the Blocked threads.

 

The common “thread” here is the use of Lucee’s ‘Render’ function.

Environment

Windows 2019

Commandbox 5.4.2

Attachments

3

Activity

Show:

brett deline 6 February 2023 at 20:38

I updated our lucee server to 5.3.9.166 from 5.3.9.141and it’s been running fine for a week. I was going to put a version of 5.3.10 up prior to 5.3.10.97. Would there be a somewhat stable version of 5.3.10 to test out with?

brett deline 20 January 2023 at 13:38

Hi Zac,

I get what you’re saying, but the results/output of the function is more CFML code. This gist might help better explain why I can’t just call the method without using Render:

 

I’ll try and figure out what the last version of Lucee is that didn’t have the regression issue. It’ll take a bit because this issue only happens in production after several days.

Thanks,

Brett

Zac Spitzer 20 January 2023 at 11:11

but there’s no really difference between just calling a function and getting the output, or dynamically evaluating the code,

both just end up outputting some text?

Zac Spitzer 19 January 2023 at 17:14

if you could try out some versions in between, that would be awesome to know exactly when the regression started? then can figure out the problem much easier

brett deline 19 January 2023 at 14:30

Hi Zac.

The function returns CFML code that is evaluated using the Render method. So if I just call the method without the render function I’d get a string that is the CFML code instead of the evaluated CFML code.

The files I included are the tip of the iceberg. If I drop using the Render method I would need to make some significant code changes. If it’s something that would be corrected in a release of Lucee, I’d probably just wait for that and pin our Lucee version to 5.3.9.141 until then.

Thanks,

Brett

Details

Assignee

Reporter

Priority

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

Affects versions

Created 11 January 2023 at 21:44
Updated 6 February 2023 at 20:38