Open vazexqi opened 13 years ago
More detailed symptoms of the problem:
Participant cs-104 was using a 32-bit version of Eclipse on a Mac that had Java 1.6 (64-bit) installed. We managed to solve the problem by installing a 64-bit version of Eclipse.
I am still not sure why CodingSpectator was able to bring out this error. The participant had other plug-ins installed but they did not cause this problem. I am not aware of how CodingSpectator uses 64-bit. Did we specify that we require a 64-bit environment? I know that we specify that we use Java-1.6
I can reproduce this problem on my older Mac running OS X 10.5. I believe that this issue is related to the fact that CodingSpectator requires Java 1.6 and that version is unavailable on some machines (32-bit or 64-bit). When that happens, CodingSpectator cannot run. And because we patch JDT, JDT also cannot run.
The original version of JDT only requires Java 1.4
Proposed solution: lower the requirements of CodingSpectator to Java 1.5 if we discover that a lot of other participants are having this problem.
I don't know where the dependency on 64-bit Eclipse comes from. It might be a dependency of JDT that CodingSpectator has inherited. Again, I don't know why JDT might have such a dependency.
I think there isn't a dependency on 64-bit Eclipse. The dependency is on a Java-1.6 VM. On participant cs-104's machine, there were these JVMS:
Because participant cs-104 downloaded Eclipse Indigo 3.7M7 for 32-bit JVM, Mac OS X must have chosen to use the only 32-bit option JVM available i.e. Java 1.5. However, this would be a problem because we specifically said that CodingSpectator requires Java-1.6.
I wonder why Eclipse does not perform this check when it is installing CodingSpectator to ensure that Java-1.6 is available and that it is being used to run the installation of Eclipse that the user wants to install CodingSpectator into.
If we want to do more testing, I suggest that you try this with a machine that has both Java 1.5 and Java 1.6 installed. Then try starting Eclipse+CodingSpectator with the Java 1.5 runtime to see what happens. And repeat with Java 1.6.
That makes sense. We should be able to lower the dependency to Java 1.5.
CodingTracker uses class Properties
to keep track of the known files. This class is thread-safe only starting with Java 1.6. So, we either keep Java 1.6, or if we lower the dependency to Java 1.5, we would need to make Properties
thread-safe externally.
Participant cs-104 has trouble installing CodingSpectator on Indigo M7. Eclipse says that CodingSpectator is installed but neither the preference pane nor the uploader is available.
I was able to install CodingSpectator on a clean instance of Indigo M7 so I suspect that some plug-in is causing an issue. I'm going to get a list of installed plug-ins from participant cs-104 to see what is wrong.