Aurimas Niekis (
https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=557058%...
) *commented* on HHH-16772 (
https://hibernate.atlassian.net/browse/HHH-16772?atlOrigin=eyJpIjoiOWM5NW...
)
Re: Generated bytecode for HibernateAccessOptimizer class is invalid and causes operand
stack overflow issue. (
https://hibernate.atlassian.net/browse/HHH-16772?atlOrigin=eyJpIjoiOWM5NW...
)
I think I found the issue. The operand stack size is wrong on SetFieldOnArgument::apply
method here
https://github.com/hibernate/hibernate-orm/blob/6.2/hibernate-core/src/ma...
I tried to reproduce the bytecode from plain java and noticed that operand stack size 3
and in code it's 2, but I am not sure if it's correct for the case when the setter
is a method and not field like in my case.
// access flags 0x9
public static
set_timestamp(Lcom/example/bytebuddyhibernatebytecodereproduce/entity/EventStorageEntity;J)V
L0
LINENUMBER 8 L0
ALOAD 0
LLOAD 1
PUTFIELD
com/example/bytebuddyhibernatebytecodereproduce/entity/EventStorageEntity.timestamp : J
L1
LINENUMBER 9 L1
RETURN
L2
LOCALVARIABLE var0
Lcom/example/bytebuddyhibernatebytecodereproduce/entity/EventStorageEntity; L0 L2 0
LOCALVARIABLE var1 J L0 L2 1
MAXSTACK = 3
MAXLOCALS = 3
(
https://hibernate.atlassian.net/browse/HHH-16772#add-comment?atlOrigin=ey...
) Add Comment (
https://hibernate.atlassian.net/browse/HHH-16772#add-comment?atlOrigin=ey...
)
Get Jira notifications on your phone! Download the Jira Cloud app for Android (
https://play.google.com/store/apps/details?id=com.atlassian.android.jira....
) or iOS (
https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=Em...
) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100225- sha1:62413c2 )