Re: Broken Pipe Exception
Philip Aston <[email protected]> Thu, 22 May 2014 17:31:11 +0100
| Newsgroups | gmane.comp.java.grinder.user |
|---|---|
| Message-ID | <[email protected]> |
I'm afraid its very hard to diagnose a broken pipe exception from the client stack trace. The OS or the network has torn down the TCP connection unexpectedly. You're right to go looking for firewalls and so on. Maybe a wireshark trace would point the finger better. The networking layer in the grinder is pretty basic and just delegates to TCP for most things. There's no retry in the worker, and to implement it would mean adding some sort of windowing to the internal protocol to remove duplicates on reconnect. Bottom line - the grinder expects the network used for internal comms between its processes to be reliable. - Phil On 15/05/14 12:56, [email protected] wrote: > > REPLY at http://sourceforge.net/u/girisheaven/profile/send_message > > ------------------------------------------------------------------------ > > Hello Philip, > > I was doing some testing and encountered this Broken Pipe exception > after some time of running the tests. I started the test with 300 > threads and with 5 worker processes. After 2 hours one of the worker > process died giving this exception and I was left with only 4 processes. > I tried to find the solution for this but couldn't find any. I tried > with -daemon 2 but it doesn't help since it keeps agent process alive > and not worker process. I asked my network team to look into network > issues if any but even they didnt find any issue with firewall or so. > Could you please see what could be the issue behind this. Its now > coming in almost my every test. Is there any mechanism by which we can > reconnect the worker process again. Here is the stack trace for this. > > 2014-05-15 13:26:54,135 ERROR worker.loader-07-1: Report to console failed > net.grinder.communication.CommunicationException: Exception whilst > sending message > at > net.grinder.communication.AbstractSender.send(AbstractSender.java:57) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.communication.QueuedSenderDecorator.flush(QueuedSenderDecorator.java:60) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.engine.process.GrinderProcess$FirstHurdleSender.flush(GrinderProcess.java:990) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.engine.process.GrinderProcess.sendStatusMessage(GrinderProcess.java:609) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.engine.process.GrinderProcess.access$4(GrinderProcess.java:599) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.engine.process.GrinderProcess$ReportToConsoleTimerTask.run(GrinderProcess.java:589) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at java.util.TimerThread.mainLoop(Timer.java:555) [na:1.7.0_45] > at java.util.TimerThread.run(Timer.java:505) [na:1.7.0_45] > Caused by: java.net.SocketException: Broken pipe > at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.7.0_45] > at > java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113) > ~[na:1.7.0_45] > at java.net.SocketOutputStream.write(SocketOutputStream.java:159) > ~[na:1.7.0_45] > at > java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) > ~[na:1.7.0_45] > at java.io.BufferedOutputStream.write(BufferedOutputStream.java:126) > ~[na:1.7.0_45] > at > java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1876) > ~[na:1.7.0_45] > at > java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1785) > ~[na:1.7.0_45] > at > java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1573) > ~[na:1.7.0_45] > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:350) > ~[na:1.7.0_45] > at > net.grinder.communication.AbstractSender.writeMessageToStream(AbstractSender.java:89) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.communication.StreamSender.writeMessage(StreamSender.java:70) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > at > net.grinder.communication.AbstractSender.send(AbstractSender.java:53) > ~[grinder-core-3.11-NE-SNAPSHOT.jar:na] > ... 7 common frames omitted > > Regards, > > Girish Sharma > ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ grinder-use mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/grinder-use