| Summary: | Weaver throws ClassNotFoundException even though it previously found the class | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | David Bernstein <dbb.posting> |
| Component: | Eclipselink | Assignee: | Tom Ware <tom.ware> |
| Status: | CLOSED DUPLICATE | QA Contact: | |
| Severity: | major | ||
| Priority: | P2 | CC: | abassouk, dbb.posting, eclipselink.orm-inbox, erangaj, tom.ware |
| Version: | unspecified | Flags: | erangaj:
pmc_approved+
|
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
https://bugs.eclipse.org/bugs/show_bug.cgi?id=355016 https://bugs.eclipse.org/bugs/show_bug.cgi?id=363238 |
||
| Whiteboard: | |||
|
Description
David Bernstein
I spent some time trying to transform my application into a test case. I was successful in creating a much smaller and lobotomized application ("eltcWeaverFailsEmail.ear") which exhibits the same behavior. Interestingly, as I was trying to shrink the test case, when I removed a portion of the body of a method (in the class "Email" where the weaving problem occurs) with no apparent relevant references in the deleted code, EclipseLink stopped complaining ("eltcEmailTransformed.ear"). I can send both of these EAR files directly to somebody investigating the bug. This behavior was consistent through multiple runs. (There are other missing classes referenced in the code that do not affect whether weaving fails.)
RUN COMMAND:
c:\eclipse\workspace\eltc>asadmin deploy eltcWeaverFailsEmail.ear
asadmin deploy eltcWeaverFailsEmail.ear
Application deployed with name eltcWeaverFailsEmail.
Command deploy executed successfully.
c:\eclipse\workspace\eltc>
SERVER.LOG:
***here's the ClassNotFoundException that occured trying to weave the Email class ==>
[#|2011-12-02T15:03:44.481-0800|WARNING|glassfish3.1.1|org.eclipse.persistence.session.file:/C:/java/glassfish/v3.1.1/glassfish/domains/domain1/applications/eltcWeaverFailsEmail/orgmobejb_jar/_orgmob.weaver|_ThreadID=23;_ThreadName=Thread-2;|Weaver encountered an exception while trying to weave class com/orgmob/orgmobilist/server/ejb/ent/Email. The exception was: java.lang.RuntimeException: java.lang.ClassNotFoundException: cd.j.store.Fld not found by org.eclipse.persistence.asm [194]|#]
[#|2011-12-02T15:03:44.495-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=23;_ThreadName=Thread-2;|Portable JNDI names for EJB EmailDAOBean : [java:global/eltcWeaverFailsEmail/orgmobejb/EmailDAOBean, java:global/eltcWeaverFailsEmail/orgmobejb/EmailDAOBean!com.orgmob.orgmobilist.server.ejb.sif.EmailDAO]|#]
[#|2011-12-02T15:03:44.598-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=23;_ThreadName=Thread-2;|WEB0671: Loading application [eltcWeaverFailsEmail#om.war] at [om]|#]
[#|2011-12-02T15:03:44.617-0800|INFO|glassfish3.1.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=23;_ThreadName=Thread-2;|eltcWeaverFailsEmail was successfully deployed in 610 milliseconds.|#]
*BUT* RUN COMMAND:
c:\eclipse\workspace\eltc>asadmin undeploy eltcWeaverFailsEmail
asadmin undeploy eltcWeaverFailsEmail
Command undeploy executed successfully.
c:\eclipse\workspace\eltc>asadmin deploy eltcEmailTransformed.ear
asadmin deploy eltcEmailTransformed.ear
Application deployed with name eltcEmailTransformed.
Command deploy executed successfully.
c:\eclipse\workspace\eltc>
AND GET SERVER.LOG:
****** tiny bit of code deleted from Email class and it's processed without apparent problem ==>
[#|2011-12-02T15:06:14.815-0800|INFO|glassfish3.1.1|javax.enterprise.system.core.classloading.com.sun.enterprise.loader|_ThreadID=18;_ThreadName=Thread-2;|com.orgmob.orgmobilist.server.ejb.ent.Email actually got transformed|#]
[#|2011-12-02T15:06:14.832-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=18;_ThreadName=Thread-2;|Portable JNDI names for EJB EmailDAOBean : [java:global/eltcEmailTransformed/orgmobejb/EmailDAOBean!com.orgmob.orgmobilist.server.ejb.sif.EmailDAO, java:global/eltcEmailTransformed/orgmobejb/EmailDAOBean]|#]
[#|2011-12-02T15:06:14.927-0800|INFO|glassfish3.1.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=18;_ThreadName=Thread-2;|WEB0671: Loading application [eltcEmailTransformed#om.war] at [om]|#]
[#|2011-12-02T15:06:14.944-0800|INFO|glassfish3.1.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=18;_ThreadName=Thread-2;|eltcEmailTransformed was successfully deployed in 640 milliseconds.|#]
If you cannot post your classes that recreate this problem here, I'd be keep them until someone looks at this issue. At the moment, I am leaning towards targetting this bug for our next patch (2.3.3) and we would do some more investigation as we started to work on that release. If you want to send the recreation, you can use the email address associated with this posting. Else, someone will post a request for more information to this bug when we start looking at it. I've sent the EAR files referenced in comment 1 to Tom Ware. To the person who ultimately looks into addressing this bug: Please contact me for the recreation at the email address I posted this comment with. Setting target and priority. See the following page for the meanings of these fields: http://wiki.eclipse.org/EclipseLink/Development/Bugs/Guidelines Community: Please vote for this bug if it is important to you. Votes are one of the main criteria we use to determine which bugs to fix next. *** Bug 363238 has been marked as a duplicate of this bug. *** I believe this is fixed by the fix for 370975. *** This bug has been marked as a duplicate of bug 370975 *** The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |