quarkus: wrong proxy bytecode generated for FacesContext#getNamingContainerSeparatorChar()
I currently create a extension for JSF/MyFaces and it seems that the proxy generation creates wrong bytecode for this single case:
Steps to reproduce:
-
clone https://github.com/apache/myfaces.git, a mvn install -DskipTests This may be required as changes may not be in maven repo yet.
-
cd quarkus-myfaces, mvn clean install
-
cd quarkus-myfaces-showcase, mvn clean package
-
run via: java -jar target/quarkus-myfaces-showcase-1.0-SNAPSHOT-runner.jar
-
click the button
NOTE: it works fine when using mvn compile quarkus:dev
Following exception happens:
java.lang.VerifyError: Bad type on operand stack
Exception Details:
Location:
org/apache/myfaces/cdi/JsfArtifactProducer_ProducerMethod_getFacesContext_6432ec49e096ea975e673cec96a0eaae1039fc21_ClientProxy.getNamingContainerSeparatorChar()C @7: areturn
Reason:
Type integer (current frame, stack[0]) is not assignable to reference type
Current Frame:
bci: @7
flags: { }
locals: { 'org/apache/myfaces/cdi/JsfArtifactProducer_ProducerMethod_getFacesContext_6432ec49e096ea975e673cec96a0eaae1039fc21_ClientProxy' }
stack: { integer }
Bytecode:
0x0000000: 2ab6 000e b600 28b0
at org.apache.myfaces.cdi.JsfArtifactProducer_ProducerMethod_getFacesContext_6432ec49e096ea975e673cec96a0eaae1039fc21_Bean$$function$$30.get(Unknown Source)
at io.quarkus.arc.LazyValue.get(LazyValue.java:42)
at org.apache.myfaces.cdi.JsfArtifactProducer_ProducerMethod_getFacesContext_6432ec49e096ea975e673cec96a0eaae1039fc21_Bean.get(Unknown Source)
at org.apache.myfaces.cdi.JsfArtifactProducer_ProducerMethod_getFacesContext_6432ec49e096ea975e673cec96a0eaae1039fc21_Bean.get(Unknown Source)
at io.quarkus.arc.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:310)
at io.quarkus.arc.ArcContainerImpl.beanInstanceHandle(ArcContainerImpl.java:322)
at io.quarkus.arc.BeanManagerImpl.getReference(BeanManagerImpl.java:74)
If you can’t resolve MyFace 3.0.0-SNAPSHOT, please clone https://github.com/apache/myfaces.git and do a mvn install -DskipTests
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 22 (13 by maintainers)
Just tested with quarkus 0.20.0 and it is working great, thank you guys!
Yup, it didn’t make it, we need a new Gizmo release.
Yea also in 0.16.1. In fact It doesn’t happens anymore on the reproducer but still happens (same stack by the way) on my app.
I will isolate the issue and contribute back to the reproducer project.