Bugs item #521058, was opened at 2002-02-21 08:53
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=521058&group_id=22866

Category: JBossServer
Group: v3.0 Rabbit Hole
Status: Open
Resolution: None
Priority: 5
Submitted By: Georg Schmid (giorgio42)
Assigned to: Scott M Stark (starksm)
Summary: Argument type mismatch after redeploy

Initial Comment:

Bug:

Deploy hello.jar, then undeploy, then redeploy it
again.

After the redeployment calling the hello method
with a string parameter still works, but passing
a HelloData instance as parameter in the howdy()
method results in an IllegalArgumentException:

2002-02-21 17:36:19,188 INFO  
[org.jboss.ejb.EJBDeployer] 
Undeploying:file:/D:/apps/jboss/jboss-
3.0.0beta/deploy/hello.jar
2002-02-21 17:36:19,188 INFO  
[org.jboss.deployment.MainDeployer] could not delete 
directory file:/D:/apps/jboss/jboss-
3.0.0beta/tmp/deploy/70.hello.jar restart will delete 
it
2002-02-21 17:36:19,188 INFO  
[org.jboss.deployment.MainDeployer] Undeployed 
file:/D:/apps/jboss/jboss-3.0.0beta/deploy/hello.jar
2002-02-21 17:36:39,392 INFO  
[org.jboss.deployment.MainDeployer] Deploying: 
file:/D:/apps/jboss/jboss-3.0.0beta/deploy/hello.jar
2002-02-21 17:36:39,517 INFO  
[org.jboss.ejb.EJBDeployer] Deploying HelloWorld
2002-02-21 17:36:44,236 ERROR 
[org.jboss.invocation.jrmp.server.JRMPInvoker] 
operation failed
java.rmi.ServerException: argument type mismatch; 
nested exception is: 
        java.lang.IllegalArgumentException: argument 
type mismatch
java.lang.IllegalArgumentException: argument type 
mismatch
        at java.lang.reflect.Method.invoke(Native 
Method)
        at 
org.jboss.ejb.StatelessSessionContainer$ContainerInterc
eptor.invoke(StatelessSessionContainer.java:642)
        at 
org.jboss.ejb.plugins.StatelessSessionInstanceIntercept
or.invoke(StatelessSessionInstanceInterceptor.java:77)
        at 
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext
(AbstractTxInterceptor.java:96)
        at 
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti
ons(TxInterceptorCMT.java:167)
        at 
org.jboss.ejb.plugins.TxInterceptorCMT.invoke
(TxInterceptorCMT.java:61)
        at 
org.jboss.ejb.plugins.SecurityInterceptor.invoke
(SecurityInterceptor.java:127)
        at org.jboss.ejb.plugins.LogInterceptor.invoke
(LogInterceptor.java:166)
        at 
org.jboss.ejb.StatelessSessionContainer.invoke
(StatelessSessionContainer.java:308)
        at org.jboss.ejb.Container.invoke
(Container.java:630)
        at 
com.sun.management.jmx.MBeanServerImpl.invoke
(MBeanServerImpl.java:1555)
        at 
com.sun.management.jmx.MBeanServerImpl.invoke
(MBeanServerImpl.java:1523)
        at 
org.jboss.invocation.jrmp.server.JRMPInvoker.invoke
(JRMPInvoker.java:364)
        at java.lang.reflect.Method.invoke(Native 
Method)
        at sun.rmi.server.UnicastServerRef.dispatch
(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown 
Source)
        at java.security.AccessController.doPrivileged
(Native Method)
        at sun.rmi.transport.Transport.serviceCall
(Unknown Source)
        at 
sun.rmi.transport.tcp.TCPTransport.handleMessages
(Unknown Source)
        at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.ru
n(Unknown Source)
        at java.lang.Thread.run(Unknown Source)


Context: RH from CVS (less than one hour old)
jdk1.3.1_02 from Sun
JBoss-3.0.0beta CVSTag=Rel_3_0_0_3
Default config

OS-System: Windows NT 4.0,x86

This happens on Windows NT as well as on Solaris.

(On Solaris removing the jar during undeployment works,
on WindowsNT never).

The only way I have found to get around this
is to restart the server.

Georg


----------------------------------------------------------------------

>Comment By: Scott M Stark (starksm)
Date: 2002-02-26 09:27

Message:
Logged In: YES 
user_id=175228

With the latest changes to unique the tmp/deploy file 
copied in from the original, the class loaders dumped out 
at the time of exception now show a difference:

2002-02-26 09:28:58,500 ERROR 
[org.jboss.ejb.StatelessSessionContainer] Method 
DeclaringClassCL: 
org.jboss.system.UnifiedClassLoader@66e10648{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar/65.hello.jar }
2002-02-26 09:28:58,515 ERROR 
[org.jboss.ejb.StatelessSessionContainer] MethodArgType[0]: 
class org.jboss.test.hello.interfaces.HelloData
2002-02-26 09:28:58,515 ERROR 
[org.jboss.ejb.StatelessSessionContainer] MethodArgType[0] 
ClassLoader: org.jboss.system.UnifiedClassLoader@66e10648{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar/65.hello.jar }
2002-02-26 09:28:58,515 ERROR 
[org.jboss.ejb.StatelessSessionContainer] BeanCL: 
org.jboss.system.UnifiedClassLoader@66e10648{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar/65.hello.jar }
2002-02-26 09:28:58,531 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0]: 
org.jboss.test.hello.interfaces.HelloData@104e0d
2002-02-26 09:28:58,531 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0] 
ClassLoader: org.jboss.system.UnifiedClassLoader@d1fc5387{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar/64.hello.jar }
2002-02-26 09:28:58,531 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0] 
instanceof: MethodArgType[0] false

The HelloData class is being loaded from the previous 
deployment class loader.


----------------------------------------------------------------------

Comment By: Scott M Stark (starksm)
Date: 2002-02-26 08:22

Message:
Logged In: YES 
user_id=175228

The HelloData class is not seen to be an instance of the 
bean method's argument signature type even though they have 
the same class loader instance. If I catch the 
IllegalArgumentException and dump out the ejb method sig 
classes and classloaders they match the incoming argument 
data, and yet, the arg data is not seen to be an instance 
of the signature class.

2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] Failed to invoke 
method: public java.lang.String 
org.jboss.test.hello.ejb.HelloBean.howdy
(org.jboss.test.hello.interfaces.HelloData)
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] Method 
DeclaringClassCL: 
org.jboss.system.UnifiedClassLoader@bd89e22d{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar }
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] MethodArgType[0]: 
class org.jboss.test.hello.interfaces.HelloData
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] MethodArgType[0] 
ClassLoader: org.jboss.system.UnifiedClassLoader@bd89e22d{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar }
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] BeanCL: 
org.jboss.system.UnifiedClassLoader@bd89e22d{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar }
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0]: 
org.jboss.test.hello.interfaces.HelloData@538974
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0] 
ClassLoader: org.jboss.system.UnifiedClassLoader@bd89e22d{ 
url=file:/D:/usr/local/src/cvsroot/Main/jboss-
all/build/output/jboss-
3.0.0beta2/tmp/deploy/D/usr/local/src/cvsroot/Main/jboss-
all/testsuite/output/lib/hello.jar }
2002-02-26 08:27:17,312 ERROR 
[org.jboss.ejb.StatelessSessionContainer] arg[0] 
instanceof: MethodArgType[0] false


----------------------------------------------------------------------

Comment By: David Jencks (d_jencks)
Date: 2002-02-26 05:15

Message:
Logged In: YES 
user_id=60525

I think this is the "remote" version of the problem with
classloaders seen in 516684 and 519699.  If so it should be
fixed only when we run on jbossmx.  Any other opinions?

david jencks

----------------------------------------------------------------------

Comment By: Georg Schmid (giorgio42)
Date: 2002-02-23 06:09

Message:
Logged In: YES 
user_id=437570


The easiest way to reproduce this error is to
run the test suite a second time without restarting
the server. After the second run has completed:

testsuite\output\log>grep -n IllegalArgumentException 
*.log|wc -l
     10

Some BeanUnitTestCase suffers from the same problem.

This really gives me the breaks with JBoss, because
I have to restart the server each time I need to 
redeploy an EJB.

Any ideas? Any help? 

If someone is willing to point me in the right direction
I'll attack this myself (have to), but currently
I have no clue what could cause these exceptions.

(I've been working all day with JBoss
for the last two and a half month, making transitions
from 2.4.4 to 3.0alpha to 3.0beta. Now that my project 
is approaching production mode, JBoss seems kind of messed 
up.

And the 3.0alpha from the first half of January looked 
so good... but with all the changes in jbosscmp-jdbc.xml
I could not go back even if I had a backup
of that version.

Sigh.

Georg


----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=521058&group_id=22866

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to