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:

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)

Most upvoted comments

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.