I tried JBoss Remoting 2.2.0 and I was unable to get it to work with JBoss 
4.0.4.  I'm also not too enthusiastic about that approach because looking at 
the code, I don't think that this bug has been fixed in the latest version.  I 
am now able to reproduce this problem easily by setting maxPoolSize to 10 
(instead of 300) on the invoker; it fails almost right away.  I turned on debug 
and was able to get some more information.

I start off getting a handful of these errors:

  | 2007-06-27 11:32:13,108 82807 ERROR 
[org.jboss.remoting.transport.socket.SocketServerInvoker] 
(SocketServerInvoker#0-3873:) Failed to accept socket connection
  | java.lang.reflect.InvocationTargetException
  |         at sun.reflect.GeneratedConstructorAccessor54.newInstance(Unknown 
Source)
  |         at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
  |         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.createServerSocket(ServerThread.java:185)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.wakeup(ServerThread.java:226)
  |         at 
org.jboss.remoting.transport.socket.SocketServerInvoker.processInvocation(SocketServerInvoker.java:467)
  |         at 
org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:391)
  |         at java.lang.Thread.run(Thread.java:619)
  | Caused by: java.io.IOException: Mismatch version of JBossSerialization 
signature
  |         at 
org.jboss.serial.io.JBossObjectInputStream.checkSignature(JBossObjectInputStream.java:113)
  |         at 
org.jboss.serial.io.JBossObjectInputStream.<init>(JBossObjectInputStream.java:94)
  |         at 
org.jboss.serial.io.JBossObjectInputStream.<init>(JBossObjectInputStream.java:83)
         at 
org.jboss.remoting.serialization.impl.jboss.JBossSerializationManager.createInput(JBossSerializationManager.java:57)
  |         at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.createInputStream(ServerSocketWrapper.java:56)
  |         at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.createStreams(ClientSocketWrapper.java:76)
  |         at 
org.jboss.remoting.transport.socket.ClientSocketWrapper.<init>(ClientSocketWrapper.java:54)
  |         at 
org.jboss.remoting.transport.socket.ServerSocketWrapper.<init>(ServerSocketWrapper.java:50)
  |         ... 8 more 
  | 

Don't know what that means.  Then, at the end, just before the deadlock occurs, 
I get this debug message:

  | 007-06-27 11:32:13,487 83186 DEBUG 
[org.jboss.remoting.transport.socket.ServerThread] 
(SocketServerInvokerThread-68.142.219.226-13:) Exiting run on exception
  | java.lang.InterruptedException
  |         at java.lang.Object.wait(Native Method)
  |         at java.lang.Object.wait(Object.java:485)
  |         at 
org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:280)
  | 

This appears to be where the lost notification happens.  This interrupt seems 
to be coming from the evict() method in ServerThread.  I love this comment in 
ServerThread.evict():


  |       // This is a race and there is a chance
  |       // that a invocation is going on at the time
  |       // of the interrupt.  But I see no way right
  |       // now to protect for this.
  |       // There may not be a problem because interrupt only effects
  |       // threads blocking on IO.
  | 

So at least whoever wrote this has admitted the race condition that seems to be 
crashing us. :)  I'm trying to come up with a good solution to this, but so 
far, no luck.  I'm hoping that someone more familiar with the code can give me 
an answer besides "try 2.2".

Thanks.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4058430#4058430

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4058430
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to