jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brice Ruth" <bdr...@gmail.com>
Subject Re: RMI Exception, socket write error (take 3)
Date Mon, 14 Aug 2006 15:23:32 GMT
Here's what I have (in a nutshell) - this doesn't work, and I'm not entirely
sure why this is any different than launching RMIREGISTRY externally -

public class JMeterMain {

    private static final Log LOG = LogFactory.getLog(JMeterMain.class);
    private static Registry registry;
    private static final int DEFAULT_RMI_PORT = 2222;

    /**
     * @param args
     * @throws InterruptedException
     */
    public static void main(String[] args) throws InterruptedException {
        try {
            if (registry == null) {
                registry = LocateRegistry.createRegistry(DEFAULT_RMI_PORT);
            }
            new RemoteJMeterEngineImpl(DEFAULT_RMI_PORT);
            while (true) {
                Thread.sleep(Long.MAX_VALUE);
            }
        } catch (RemoteException e) {
            JMeterMain.LOG.fatal("RMI Exception occurred, ", e);
        }
    }

}

Here's the exception that's logged to the jmeter client LOG:

2006/08/14 10:20:56 INFO  - jmeter.engine.ClientJMeterEngine: about to run
remote test
2006/08/14 10:20:56 INFO  - jmeter.engine.ClientJMeterEngine: done
initiating run command
2006/08/14 10:20:56 INFO  - jmeter.engine.ClientJMeterEngine: running
clientengine run method
2006/08/14 10:20:56 INFO  - jmeter.engine.ConvertListeners: num threads = 1
2006/08/14 10:20:56 INFO  - jmeter.engine.ConvertListeners: num threads = 1
2006/08/14 10:20:56 INFO  - jmeter.samplers.StandardSampleSender: Using
Standard Remote Sampler for this test run
2006/08/14 10:20:56 INFO  - jmeter.samplers.StandardSampleSender: Using
Standard Remote Sampler for this test run
2006/08/14 10:20:56 INFO  - jmeter.engine.ClientJMeterEngine: sent host =
127.0.0.1:2222
2006/08/14 10:20:56 ERROR - jmeter.engine.ClientJMeterEngine:
java.rmi.MarshalException: error marshalling arguments; nested exception is:

    java.net.SocketException: Software caused connection abort: socket write
error
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
    at org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.configure(Unknown
Source)
    at org.apache.jmeter.engine.ClientJMeterEngine.run(
ClientJMeterEngine.java:125)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.SocketException: Software caused connection abort:
socket write error
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java
:65)
    at java.io.BufferedOutputStream.write(BufferedOutputStream.java:109)
    at java.io.ObjectOutputStream$BlockDataOutputStream.drain(
ObjectOutputStream.java:1682)
    at java.io.ObjectOutputStream$BlockDataOutputStream.writeByte(
ObjectOutputStream.java:1720)
    at java.io.ObjectOutputStream.writeFatalException(
ObjectOutputStream.java:1397)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:305)
    at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:117)
    ... 3 more


On 8/13/06, Brice Ruth <bdruth@gmail.com> wrote:
>
> In theory :)
>
>
> On 8/13/06, sebb <sebbaz@gmail.com> wrote:
> >
> > In theory you just need to replicate what the batch file does.
> >
> > On 13/08/06, Brice Ruth <bdruth@gmail.com> wrote:
> > > Yeah, I've gotten my jmeter client + jmeter-server combo working just
> > fine
> > > when I use the batch file. Unfortunately, that doesn't help my unique
> > > situation much :(
> > >
> > > -Brice
> > >
> > > On 8/13/06, sebb <sebbaz@gmail.com> wrote:
> > > >
> > > > Does it work if you start the RMI server normally?
> > > >
> > > > On 12/08/06, Brice Ruth <bdruth@gmail.com> wrote:
> > > > > So, it looks like the RMI server just starts with _core, logkit
> > and
> > > > jorphan.
> > > > > But, there's some wrangling about getting rid of the existing
> > classpath,
> > > > and
> > > > > only putting these things on its classpath - if other things are
> > on the
> > > > > classpath, will that mess up RMI server? I'm starting up the RMI
> > server
> > > > > using .create..() programatically, instead of the cmd line
> > rmiregistry
> > > > that
> > > > > the batch file starts.
> > > > >
> > > > > I'm still at a loss ...
> > > > >
> > > > > My goal is to create a .war or .ear that can be deployed to launch
> > > > > jmeter-server. Pretty cool, eh? :)
> > > > >
> > > > > Cheers,
> > > > > Brice
> > > > >
> > > > > On 8/11/06, Brice Ruth <bdruth@gmail.com> wrote:
> > > > > >
> > > > > > OK, I'll check that out. I just put everything from ext/ and
> > lib/ in
> > > > the
> > > > > > classpath by default, but I'll check the .bat file for details.
> > > > Thanks! As
> > > > > > for versions, yeah - they're the same :) Is it odd that reset()
> > and
> > > > > > sendHost() work, but then it craps out with a SocketWriteError?
> > > > > >
> > > > > >
> > > > > > -Brice
> > > > > >
> > > > > > On 8/11/06, sebb < sebbaz@gmail.com> wrote:
> > > > > > >
> > > > > > > The RMI server needs to be started with the appropriate
> > classpath -
> > > > > > > check the batch file for details.
> > > > > > >
> > > > > > > And the client and server versions of JMeter need to be
> > identical.
> > > > > > >
> > > > > > > On 11/08/06, Brice Ruth < bdruth@gmail.com> wrote:
> > > > > > > > OK, Well - that's a wash, too ... JMeter is in c:\jakarta-
> > > > > > > jmeter-2.1.1\ ...
> > > > > > > > .jmx is in C:\temp.
> > > > > > > >
> > > > > > > > I've made no more progress on this and its gotten
pretty
> > > > frustrating!
> > > > > > > :(
> > > > > > > >
> > > > > > > > Cheers,
> > > > > > > > -Brice
> > > > > > > >
> > > > > > > > On 8/11/06, sebb <sebbaz@gmail.com> wrote:
> > > > > > > > >
> > > > > > > > > On 09/08/06, Brice Ruth < bdruth@gmail.com>
wrote:
> > > > > > > > > > Good afternoon -
> > > > > > > > > >
> > > > > > > > > > I've been digging through the archives,
but I have run
> > out of
> > > > > > > options. I
> > > > > > > > > am
> > > > > > > > > > testing a new way of running the jmeter-server
(namely
> > by
> > > > > > > > > programatically
> > > > > > > > > > starting the rmi registry & then creating
a new
> > > > > > > RemoteJMeterEngineImpl).
> > > > > > > > > > Startup seems fine, and jmeter GUI seems
able to connect
> > - it
> > > > can
> > > > > > > > > > successfully call reset() and setHost().
Unfortunately,
> > when
> > > > it
> > > > > > > tries to
> > > > > > > > > > send the test plan, it fails with
> > > > > > > > > >
> > > > > > > > > > 2006/08/08 15:08:00 ERROR -
> > jmeter.engine.ClientJMeterEngine:
> > > > > > > > > > java.rmi.MarshalException: error marshalling
arguments;
> > nested
> > > > > > > exception
> > > > > > > > > is:
> > > > > > > > > >
> > > > > > > > > >  java.net.SocketException: Software caused
connection
> > abort:
> > > > > > > socket
> > > > > > > > > write
> > > > > > > > > > error
> > > > > > > > > >  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> > > > > > > > > >  at
> > > > org.apache.jmeter.engine.RemoteJMeterEngineImpl_Stub.configure
> > > > > > > > > (Unknown
> > > > > > > > > > Source)
> > > > > > > > > >  at org.apache.jmeter.engine.ClientJMeterEngine.run(
> > > > > > > > > ClientJMeterEngine.java
> > > > > > > > > > :125)
> > > > > > > > > >  at java.lang.Thread.run(Thread.java:595)
> > > > > > > > > > Caused by: java.net.SocketException: Software
caused
> > > > connection
> > > > > > > abort:
> > > > > > > > > > socket write error
> > > > > > > > > >  at java.net.SocketOutputStream.socketWrite0(Native
> > Method)
> > > > > > > > > >  at java.net.SocketOutputStream.socketWrite(
> > > > > > > SocketOutputStream.java :92)
> > > > > > > > > >  at java.net.SocketOutputStream.write (
> > SocketOutputStream.java
> > > > > > > :136)
> > > > > > > > > >  at java.io.BufferedOutputStream.flushBuffer
(
> > > > > > > BufferedOutputStream.java
> > > > > > > > > :65)
> > > > > > > > > >  at java.io.BufferedOutputStream.write(
> > > > BufferedOutputStream.java:109)
> > > > > > >
> > > > > > > > > >  at
> > java.io.ObjectOutputStream$BlockDataOutputStream.drain(
> > > > > > > > > > ObjectOutputStream.java:1682)
> > > > > > > > > >  at
> > > > > > >
> > java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(
> > > > > > > > > > ObjectOutputStream.java:1591)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeNonProxyDesc
(
> > > > > > > ObjectOutputStream.java
> > > > > > > > > > :1173)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeClassDesc(
> > > > > > > ObjectOutputStream.java
> > > > > > > > > :1127)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeOrdinaryObject(
> > > > > > > > > ObjectOutputStream.java
> > > > > > > > > > :1284)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeObject0(
> > > > > > > ObjectOutputStream.java
> > > > > > > > > :1079)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeFatalException(
> > > > > > > > > ObjectOutputStream.java
> > > > > > > > > > :1398)
> > > > > > > > > >  at java.io.ObjectOutputStream.writeObject(
> > > > ObjectOutputStream.java:305)
> > > > > > > > > >  at sun.rmi.server.UnicastRef.marshalValue(
> > UnicastRef.java
> > > > :258)
> > > > > > > > > >  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java
> > :117)
> > > > > > > > > >  ... 3 more
> > > > > > > > > >
> > > > > > > > > > I've looked through the archives and Googled
around -
> > I've set
> > > > my
> > > > > > > > > > sun.rmi.transport.tcp.readTimeout to 30s
(at least, I
> > think I
> > > > > > > have: -
> > > > > > > > > > Dsun.rmi.transport.tcp.readTimeout=30 ),
and I have
> > moved my
> > > > .jmx
> > > > > > > plan to
> > > > > > > > > a
> > > > > > > > > > folder without spaces (C:\TEMP). Neither
seem to have
> > any
> > > > effect,
> > > > > > > the
> > > > > > > > > same
> > > > > > > > > > exception is thrown, at the same spot.
> > > > > > > > >
> > > > > > > > > The JMeter installation directory should not
have spaces
> > in it.
> > > > > > > > > I don't think the location of the JMX file matters.
> > > > > > > > >
> > > > > > > > > > Currently, the "remote" server is running
locally, so I
> > > > connect to
> > > > > > > > > > 127.0.0.1- ports are all defaults (1099
for RMI).
> > > > > > > > > >
> > > > > > > > > > Any ideas? I am a bit out of my element
w/ RMI - I was
> > mostly
> > > > just
> > > > > > >
> > > > > > > > > hoping it
> > > > > > > > > > would work w/o too much fuss!
> > > > > > > > > >
> > > > > > > > > > Cheers,
> > > > > > > > > > Brice Ruth
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Software Engineer, Madison WI
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail:
> > > > jmeter-user-unsubscribe@jakarta.apache.org
> > > > > > > > > For additional commands, e-mail:
> > > > jmeter-user-help@jakarta.apache.org
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > --
> > > > > > > > Brice Ruth
> > > > > > > > Software Engineer, Madison WI
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > >
> > ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail:
> > jmeter-user-unsubscribe@jakarta.apache.org
> > > > > > > For additional commands, e-mail:
> > jmeter-user-help@jakarta.apache.org
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > >
> > > > > > Brice Ruth
> > > > > > Software Engineer, Madison WI
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Brice Ruth
> > > > > Software Engineer, Madison WI
> > > > >
> > > > >
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > > Brice Ruth
> > > Software Engineer, Madison WI
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jmeter-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jmeter-user-help@jakarta.apache.org
> >
> >
>
>
> --
>
> Brice Ruth
> Software Engineer, Madison WI
>



-- 
Brice Ruth
Software Engineer, Madison WI

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message