org.objectweb.asm.MethodWriter.a - Method code too large!

Description

I have a strange issue which happens in the latest Lucee stable version.
When I execute createObject on component X in folder "_modules.core.forms" I get this error:

So I analyzed the CFC and removed some code/methods until the error disappeared.
I guessed that the message is wrong, and the component itself is too big.
But then I compared it with other components and there are several bigger files.
So I moved the CFC to the folder "_modules.core" and it worked there!?
And I tested also in the folder "_modules" - and it also worked there!?

So I was checking for issues and found
https://luceeserver.atlassian.net/browse/LDEV-2397

and also the java code:
https://github.com/lucee/Lucee/blob/0f25e0954fd3e43c26e051f73151f311aa54dbc2/core/src/main/java/lucee/
runtime/PageSourceImpl.java

So it looks like an issue with the getPhysicalClass method?
I also wanted to note that I am using AdoptOpenJDK (latest version).
And by switching to Oracles JDK it also worked!

Environment

None

Activity

Show:
Harry Klein
October 5, 2020, 8:45 AM

The issue can be reproduced with the attached files.
Please clear the page pool cache AND delete the classes from the cfclasses folder before executing the test_methodtoolarge.cfm file.

Calling the testfile then, will cause the error.
But calling the testfile again will be successful!

Pothys - MitrahSoft
October 5, 2020, 2:18 PM

I've checked this ticket and confirmed the issue happened on lucee latest version 5.3.8.76-SNAPSHOT also. Yes, the same error throws for me.

Harry Klein
October 6, 2020, 7:33 AM

I found out that the issue happens in AdoptOpenJDK (latest version) and also in Oracles JDK.
In my previous Oracle JDK it worked only because I had not deleted the class files and flushed the page pool.

Harry Klein
October 19, 2020, 3:43 PM

I reverted to Lucee 5.3.4.80 - and it works in this version!
So looks like an regression after this version.

Assignee

Michael Offner

Reporter

Harry Klein

Priority

Major

Labels

Fix versions

None

Affects versions

Configure