Fitnesse: SLiM server died before a connection cou

2019-09-05 01:35发布

问题:

Problem Description

I think I have uncovered a bug in Fitnesse SliM, more specifically after version 20140901.

When starting a test in Fitnesse I get the following error:

Could not complete testing: fitnesse.slim.SlimError: Error SLiM server died before a connection could be established.

My OS is Windows 7 and I'm running Fitnesse in a Java project which uses jdk1.7.

Problem Diagnosis

I have performed some diagnosis to try to figure out what could be the reason for this error.

I am cooperating with another person who uses a Mac(OS X Yosemite) instead of Windows, and he does not experience this error.

When ONLY changing the Fitnesse version in maven pom I have uncovered the following:

  1. This problem does NOT occur on version 20140901.
  2. I get the reported error message on version 20150424 and 20150226.
  3. When using version 20150114 the test just hangs and never exits.

When debugging the error I have found the following:

  1. The exception is thrown on line 92 in SlimCommandRunningClient.java
  2. This seems to be because the isDead() method returns true for the process in slimRunner(CommandRunner)
  3. This process is implemented as a java.lang.ProcessImpl for Windows, while on Mac it is implemented as a UNIXProcess
  4. The exitValue for the process is 1

Another peculiar thing that I found was that when using the remote debug option in Fitnesse(?responder=test&remote_debug=true), the test works and no errors occur(This works on version 20150114, 20150424 and 20150226).

So, what could be the cause for this error? According to my diagnosis this problem seems to occur only after version 20140901.