On 3/22/19 10:08 AM, Scott Marlow wrote:
On 3/22/19 9:24 AM, Scott Marlow wrote:
> On 3/22/19 9:11 AM, Scott Marlow wrote:
>> On 3/22/19 7:49 AM, Guillaume Smet wrote:
>>> Hi Gail,
>>> Do we have any idea of what this class is supposed to be:
>> This is a unit test class that is not an entity class, but instead it
>> happens to be an EJB stateless session bean. In the exception call
>> stack , the class that ByteBuddy complains about is a WildFly
>> class (not even a test class), you can see that in the exception
>> message SerializationProxyHackImplementation .
>>> Scott, any idea?
>> I was not really aware that classes like
>> SerializationProxyHackImplementation  , would also be handled by
>> but I guess that makes sense, as application classloaders versus
>> application module classloaders, are not distinguished internally in WF.
> I meant that class file transformers will be called for both
> application classes and WF classes as well.
I'm going to see if I can hack around this failure in WF code, so that
WF doesn't call into Hibernate to transform the
I tried changing
to filter out any non-application classes but that didn't help as
DelegatingClassFileTransformer.transform() doesn't get called to
transform the SerializationProxyHackImplementation  class.
It might be that the application classes are getting injected with a
classloader that references the SerializationProxyHackImplementation 
IMO, this probably should be fixed in Hibernate ORM or ByteBuddy.
>> I'm also not sure of how Javassist handles ignoring the
>> SerializationProxyHackImplementation  class but Javassist does
>> work fine (as long as you work around the other issue, which is that
>> Javassist can only be selected via system property setting but not
>> persistence.xml setting, also mentioned in WFLY-11891 ).
>>> Because it doesn't ring a bell on my side.
>>> I suspect it's a class we shouldn't access or touch. And we should
>>> add a condition somewhere to avoid doing so.
>>> If you can give me the Hibernate call which initiates the error,
>>> that would
>>> be nice.
>>  shows the exception call stack (look for
>>> And stupid question: we did not have any enhancement test in WildFly
>> No, sadly, this is the first time we updated the WildFly unit tests
>> to try Javassist + ByteBuddy enhancement. Its a very light test with
>> little verification, basically we just modified some existing tests
>> to include:
>> And one test was also modified to specify
>> hibernate.bytecode.provider=javassist, which is ignored (only the
>> system property works, via standalone.sh
>> -Dhibernate.bytecode.provider=javassist). The problem is also
>> mentioned in WFLY-11891 .
>> In WF, we also have a mock persistence provider test that ensures
>> that persistence providers can enhance classes as per the JPA
>> container contract.
>>  java.lang.IllegalStateException: Cannot resolve type description
>> for org.jboss.as.ejb3.SerializationProxyHackImplementation
>>  https://issues.jboss.org/browse/WFLY-11891