toshsan / caliper

Automatically exported from code.google.com/p/caliper
Apache License 2.0
0 stars 0 forks source link

Worker exited without producing data. #230

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I'm trying to run BitSetBenchmark with the command below. It seems to crash. 

+ java -cp 
/home/jenkins/.m2/repository/antlr/antlr/2.7.6/antlr-2.7.6.jar:/home/jenkins/.m2
/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/home/jenkins/.m2/re
pository/asm/asm/3.3.1/asm-3.3.1.jar:/home/jenkins/.m2/repository/asm/asm-analys
is/3.3.1/asm-analysis-3.3.1.jar:/home/jenkins/.m2/repository/asm/asm-commons/3.3
.1/asm-commons-3.3.1.jar:/home/jenkins/.m2/repository/asm/asm-tree/3.3.1/asm-tre
e-3.3.1.jar:/home/jenkins/.m2/repository/asm/asm-util/3.3.1/asm-util-3.3.1.jar:/
home/jenkins/.m2/repository/asm/asm-xml/3.3.1/asm-xml-3.3.1.jar:/home/jenkins/.m
2/repository/com/google/caliper/caliper/1.0-SNAPSHOT/caliper-1.0-SNAPSHOT.jar:/h
ome/jenkins/.m2/repository/com/google/caliper/caliper-examples/1.0-SNAPSHOT/cali
per-examples-1.0-SNAPSHOT.jar:/home/jenkins/.m2/repository/com/google/code/findb
ugs/jsr305/1.3.9/jsr305-1.3.9.jar:/home/jenkins/.m2/repository/com/google/code/g
son/gson/2.2.2/gson-2.2.2.jar:/home/jenkins/.m2/repository/com/google/code/java-
allocation-instrumenter/java-allocation-instrumenter/2.0/java-allocation-instrum
enter-2.0.jar:/home/jenkins/.m2/repository/com/google/guava/guava/14.0-rc2/guava
-14.0-rc2.jar:/home/jenkins/.m2/repository/com/google/inject/guice/3.0/guice-3.0
.jar:/home/jenkins/.m2/repository/com/google/inject/extensions/guice-multibindin
gs/3.0/guice-multibindings-3.0.jar:/home/jenkins/.m2/repository/com/sun/jersey/j
ersey-client/1.11/jersey-client-1.11.jar:/home/jenkins/.m2/repository/com/sun/je
rsey/jersey-core/1.11/jersey-core-1.11.jar:/home/jenkins/.m2/repository/commons-
collections/commons-collections/3.1/commons-collections-3.1.jar:/home/jenkins/.m
2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar:/home/jenkins/.m2/repository/java
x/inject/javax.inject/1/javax.inject-1.jar:/home/jenkins/.m2/repository/javax/tr
ansaction/jta/1.1/jta-1.1.jar:/home/jenkins/.m2/repository/joda-time/joda-time/2
.1/joda-time-2.1.jar:/home/jenkins/.m2/repository/org/hibernate/hibernate-common
s-annotations/3.2.0.Final/hibernate-commons-annotations-3.2.0.Final.jar:/home/je
nkins/.m2/repository/org/hibernate/hibernate-core/3.6.7.Final/hibernate-core-3.6
.7.Final.jar:/home/jenkins/.m2/repository/org/hibernate/javax/persistence/hibern
ate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar:/home/jenkins/
.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar 
examples.BitSetBenchmark 
-Cinstrument.allocation.options.allocationAgentJar=/home/jenkins/.m2/repository/
com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/2.0/ja
va-allocation-instrumenter-2.0.jar --verbose
Experiment selection: 
  Instruments:   [allocation, micro]
  User parameters:   {}
  Virtual machines:  [default]
  Selection type:    Full cartesian product

This selection yields 10 experiments.
The worker exited without producing data. It has likely crashed. Run with 
--verbose to see any worker output.

Original issue reported on code.google.com by brianfromoregon on 18 Mar 2013 at 6:02

GoogleCodeExporter commented 9 years ago
Did you "Run with --verbose to see any worker output."?

Original comment by gak@google.com on 18 Mar 2013 at 6:04

GoogleCodeExporter commented 9 years ago
I showed the complete command. Yes it's there.

Original comment by brianfromoregon on 18 Mar 2013 at 6:05

GoogleCodeExporter commented 9 years ago
Oh, so you did.  Then, that's a bit of a mystery…  You seem to have a VM that 
is exiting, but without producing any output whatsoever.  Usually, this sort of 
error message pops up when you specify a bad flag value like -Xmxt ypo or 
something like that and that message just shows up in the verbose output.  What 
JVM/OS is this?

Original comment by gak@google.com on 18 Mar 2013 at 6:11

GoogleCodeExporter commented 9 years ago
VM is 
+ java -version
java version "1.6.0_41"
Java(TM) SE Runtime Environment (build 1.6.0_41-b02)
Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01, mixed mode)

OS and hardware should match these docs because this build happens on Cloudbees 
infra.
https://developer.cloudbees.com/bin/view/DEV/Jenkins+Build%20Machine%20Specifica
tions

Original comment by brianfromoregon on 18 Mar 2013 at 6:16

GoogleCodeExporter commented 9 years ago
I have the same problem. I debugged through the Caliper code, and it does the 
dry run.  But it exits when reaches this spot :

// ExperimentingCaliperRun, line 384

     processFuture.addListener(new Runnable() {
        @Override public void run() {
          if (!pipeReaderFuture.isDone()) {
            // the process completed without the pipe ever being written to.  it crashed.
            // TODO(gak): get the output from the worker so we can know why it crashed
            stdout.print("The worker exited without producing data. "
                + "It has likely crashed. Run with --verbose to see any worker output.\n");
            stdout.flush();
            System.exit(1);
          }
        }
      }, MoreExecutors.sameThreadExecutor());

pipeReaderFuture.isDone() returns false.  I'm not sure why.

Original comment by shalomsh...@gmail.com on 8 Jan 2014 at 6:48

GoogleCodeExporter commented 9 years ago
I should also add, my O/S is windows.  The output using --verbose does not show 
any information.  Entire output is:

Experiment selection: 
  Instruments:   [allocation, runtime]
  User parameters:   {}
  Virtual machines:  [default]
  Selection type:    Full cartesian product

This selection yields 2 experiments.
Starting experiment 1 of 2: {instrument=allocation, 
benchmarkMethod=testNewOrder, vm=default, parameters={}}… The worker exited 
without producing data. It has likely crashed. Run with --verbose to see any 
worker output.

Original comment by shalomsh...@gmail.com on 8 Jan 2014 at 6:52

GoogleCodeExporter commented 9 years ago
There have been some changes to how the ipc works that have been pushed.  Can 
you get the build at HEAD and see if the problem persists?

Original comment by gak@google.com on 8 Jan 2014 at 10:50

GoogleCodeExporter commented 9 years ago
The Maven build now fails on a few unit tests: (I did "git pull" first):

Results :

Failed tests:   
failsToAcceptConnection(com.google.caliper.runner.StreamServiceTest): 
expected:<class java.net.SocketException> but was:<class java.io.IOException>
  simpleArgsTest(com.google.caliper.runner.WorkerProcessTest): expected:<[/usr/bin/foo/bin/]java> but was:<[C:\usr\bin\foo\bin\]java>

Tests in error:
  testReadOutput(com.google.caliper.runner.StreamServiceTest): Expected the service to be RUNNING, but the service has FAILED
  failingProcess(com.google.caliper.runner.StreamServiceTest): Expected the service to be RUNNING, but the service has FAILED
  processDoesntExit(com.google.caliper.runner.StreamServiceTest): Expected the service to be RUNNING, but the service has FAILED
  testSocketInputOutput(com.google.caliper.runner.StreamServiceTest): Expected the service to be RUNNING, but the service has FAILED
  testSocketClosesBeforeProcess(com.google.caliper.runner.StreamServiceTest): Expected the service to be RUNNING, but the service has FAILED
  shutdownHook_waitFor(com.google.caliper.runner.WorkerProcessTest): Cannot run program "bash": CreateProcess error=2, The system cannot find the file specified
  shutdownHook_exitValueThrows(com.google.caliper.runner.WorkerProcessTest): Cannot run program "bash": CreateProcess error=2, The system cannot find the file specified
  shutdownHook_exitValue(com.google.caliper.runner.WorkerProcessTest): Cannot run program "bash": CreateProcess error=2, The system cannot find the file specified
  shutdownHook_destroy(com.google.caliper.runner.WorkerProcessTest): Cannot run program "bash": CreateProcess error=2, The system cannot find the file specified

Tests run: 96, Failures: 2, Errors: 9, Skipped: 0

Original comment by shalomsh...@gmail.com on 9 Jan 2014 at 5:53

GoogleCodeExporter commented 9 years ago
The above failures were when I ran from Command Prompt (this is a windows 
machine), so obviously "bash" command fails.  

If I run MVN in the Git shell, it only fails with one test:

Failed tests:   simpleArgsTest(com.google.caliper.runner.WorkerProcessTest): exp
ected:<[/usr/bin/foo/bin/]java> but was:<[C:\usr\bin\foo\bin\]java>

Tests run: 96, Failures: 1, Errors: 0, Skipped: 0

Original comment by shalomsh...@gmail.com on 9 Jan 2014 at 6:40

GoogleCodeExporter commented 9 years ago
I'm relatively sure that these are all issues with the OS assumptions we made 
writing the test.  If you just skip the tests for now (mvn install 
-Dmaven.test.skip=true) I'd still be curious to know if we've addressed the 
issue with spontaneous failure.

Original comment by gak@google.com on 9 Jan 2014 at 7:21

GoogleCodeExporter commented 9 years ago
It looks like the fix resolved the issue I was having. It's looking good - have 
not hit any error so far. Thanks!

Original comment by shalomsh...@gmail.com on 9 Jan 2014 at 11:08

GoogleCodeExporter commented 9 years ago
Awesome!  Thanks.

Oh, and would you mind filing a bug for our broken tests on windows?

Original comment by gak@google.com on 9 Jan 2014 at 11:10