[ mx4j-Bugs-919599 ] JMXServerErrorException thrown during setAttribute invoc.

"SourceForge.net" <[email protected]>
Newsgroups gmane.comp.java.mx4j.devel
Message-ID <[email protected]>
Bugs item #919599, was opened at 2004-03-19 17:00
Message generated for change (Comment added) made by biorn_steedom
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=450647&aid=919599&group_id=47745

Category: JSR 160 Implementation
Group: Release 2.0.0
>Status: Closed
>Resolution: Fixed
Priority: 9
Submitted By: Jason Brome (jasonbrome)
Assigned to: Simone Bordet (biorn_steedom)
Summary: JMXServerErrorException thrown during setAttribute invoc.

Initial Comment:
As discussed in the mx4j users mailing list.  I have 
created a simple test case, based upon the simple 
remoting example that ships with mx4j v2.0.

Start the Server, then start the Client.  The client 
contains a for loop that will repeated invoke setAttribute 
to set a value within the HelloWorld mbean.  After a 
certain number of iterations (and the number of 
iterations varies - possibly indicating some form of race 
condition / threading issue), the JMX Server throws an 
Exception, the root cause of which is:

java.lang.NoClassDefFoundError: 
sun/reflect/MethodAccessorImpl

I have attached the test case to this email.  The full 
stack trace is included below.  The same test case 
completes successfully with mx4j v2.0 beta 1.

I have run the test case on both Windows 2000 
(j2sdk1.4.2_04) and Windows XP (j2sdk1.4.1_02).

javax.management.remote.JMXServerErrorException: 
Error thrown during invocation
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain
(RMIConnectionSubjectInvoker.java:103)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$00
0(RMIConnectionSubjectInvoker.java:32)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run
(RMIConnectionSubjectInvoker.java:89)
	at java.security.AccessController.doPrivileged
(Native Method)
	at mx4j.remote.MX4JRemoteUtils.subjectInvoke
(MX4JRemoteUtils.java:135)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInv
oke(RMIConnectionSubjectInvoker.java:85)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke
(RMIConnectionSubjectInvoker.java:79)
	at $Proxy0.setAttribute(Unknown Source)
	at 
javax.management.remote.rmi.RMIConnectionImpl.setAttri
bute(RMIConnectionImpl.java:207)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at sun.rmi.server.UnicastServerRef.dispatch
(UnicastServerRef.java:261)
	at sun.rmi.transport.Transport$1.run
(Transport.java:148)
	at java.security.AccessController.doPrivileged
(Native Method)
	at sun.rmi.transport.Transport.serviceCall
(Transport.java:144)
	at 
sun.rmi.transport.tcp.TCPTransport.handleMessages
(TCPTransport.java:460)
	at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.ru
n(TCPTransport.java:701)
	at java.lang.Thread.run(Thread.java:534)
	at 
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFr
omServer(StreamRemoteCall.java:247)
	at 
sun.rmi.transport.StreamRemoteCall.executeCall
(StreamRemoteCall.java:223)
	at sun.rmi.server.UnicastRef.invoke
(UnicastRef.java:133)
	at 
javax.management.remote.rmi.RMIConnectionImpl_Stub.s
etAttribute(Unknown Source)
	at mx4j.remote.rmi.ClientInvoker.setAttribute
(ClientInvoker.java:190)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at mx4j.remote.ClientProxy.invoke
(ClientProxy.java:34)
	at mx4j.remote.rmi.ClientUnmarshaller.chain
(ClientUnmarshaller.java:67)
	at mx4j.remote.rmi.ClientUnmarshaller.invoke
(ClientUnmarshaller.java:56)
	at $Proxy0.setAttribute(Unknown Source)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at mx4j.remote.ClientProxy.invoke
(ClientProxy.java:34)
	at 
mx4j.remote.rmi.ClientExceptionCatcher.invoke
(ClientExceptionCatcher.java:42)
	at $Proxy0.setAttribute(Unknown Source)
	at mx4jtest.Client.main(Client.java:64)
Caused by: java.lang.NoClassDefFoundError: 
sun/reflect/MethodAccessorImpl
	at sun.misc.Unsafe.defineClass(Native Method)
	at sun.reflect.ClassDefiner.defineClass
(ClassDefiner.java:45)
	at sun.reflect.MethodAccessorGenerator$1.run
(MethodAccessorGenerator.java:381)
	at java.security.AccessController.doPrivileged
(Native Method)
	at 
sun.reflect.MethodAccessorGenerator.generate
(MethodAccessorGenerator.java:377)
	at 
sun.reflect.MethodAccessorGenerator.generateMethod
(MethodAccessorGenerator.java:59)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:28)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at mx4j.remote.rmi.RMIMarshaller.unmarshal
(RMIMarshaller.java:169)
	at mx4j.remote.rmi.RMIMarshaller.unmarshal
(RMIMarshaller.java:148)
	at mx4j.remote.rmi.RMIMarshaller.unmarshal
(RMIMarshaller.java:137)
	at 
mx4j.remote.rmi.RMIConnectionInvoker.setAttribute
(RMIConnectionInvoker.java:202)
	at 
sun.reflect.GeneratedMethodAccessor1.invoke(Unknown 
Source)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at mx4j.remote.rmi.RMIConnectionProxy.invoke
(RMIConnectionProxy.java:36)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain
(RMIConnectionSubjectInvoker.java:98)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$00
0(RMIConnectionSubjectInvoker.java:32)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run
(RMIConnectionSubjectInvoker.java:89)
	at java.security.AccessController.doPrivileged
(Native Method)
	at mx4j.remote.MX4JRemoteUtils.subjectInvoke
(MX4JRemoteUtils.java:135)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInv
oke(RMIConnectionSubjectInvoker.java:85)
	at 
mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke
(RMIConnectionSubjectInvoker.java:79)
	at $Proxy0.setAttribute(Unknown Source)
	at 
javax.management.remote.rmi.RMIConnectionImpl.setAttri
bute(RMIConnectionImpl.java:207)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke
(Method.java:324)
	at sun.rmi.server.UnicastServerRef.dispatch
(UnicastServerRef.java:261)
	at sun.rmi.transport.Transport$1.run
(Transport.java:148)
	at java.security.AccessController.doPrivileged
(Native Method)
	at sun.rmi.transport.Transport.serviceCall
(Transport.java:144)
	at 
sun.rmi.transport.tcp.TCPTransport.handleMessages
(TCPTransport.java:460)
	at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.ru
n(TCPTransport.java:701)
	at java.lang.Thread.run(Thread.java:534)
Exception in thread "main" 

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

>Comment By: Simone Bordet (biorn_steedom)
Date: 2004-03-19 18:37

Message:
Logged In: YES 
user_id=128193

A change in the classloading for the RMI marshaller lead to
this problem. I have committed a fix in CVS, and we will
release 2.0.1 in few days.
Thanks !

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

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=450647&aid=919599&group_id=47745


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.