Bug Report: "Invalid ice_root" (user path contains white space)

I get this error when I use the Generalized Linear Model operator.
- Exception: java.lang.RuntimeException
- Message: Invalid ice_root: C:/Users/Guilherme Passero/.RapidMiner/H2O/, Illegal character in path at index 18: C:/Users/Guilherme Passero/.RapidMiner/H2O/
- Stack trace:
- water.H2O.main(H2O.java:1793)
- com.rapidminer.h2o.ClusterManager.startCluster(ClusterManager.java:164)
- com.rapidminer.h2o.operator.H2OLearner.learn(H2OLearner.java:101)
- com.rapidminer.operator.learner.AbstractLearner.doWork(AbstractLearner.java:151)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
- com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:428)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.Process.run(Process.java:1311)
- com.rapidminer.Process.run(Process.java:1175)
- com.rapidminer.Process.run(Process.java:1128)
- com.rapidminer.Process.run(Process.java:1123)
- com.rapidminer.Process.run(Process.java:1113)
- com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
If I run it again, I get a different error message:
- Exception: java.lang.RuntimeException
- Message: Cloud size under 1
- Stack trace:
- water.H2O.waitForCloudSize(H2O.java:1618)
- com.rapidminer.h2o.ClusterManager.startCluster(ClusterManager.java:166)
- com.rapidminer.h2o.operator.H2OLearner.learn(H2OLearner.java:101)
- com.rapidminer.operator.learner.AbstractLearner.doWork(AbstractLearner.java:151)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
- com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:428)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.Process.run(Process.java:1311)
- com.rapidminer.Process.run(Process.java:1175)
- com.rapidminer.Process.run(Process.java:1128)
- com.rapidminer.Process.run(Process.java:1123)
- com.rapidminer.Process.run(Process.java:1113)
- com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
Can anyone help me?
EDIT: I'm using RapidMiner Studio Free v7.6.000 at Windows 10.
Answers
-
I forgot to mention that I haven't had this problem until the last update.
0 -
I upgrade as well and the processes that worked yesterday no longer do, with the same cloud error you reported. I tried remove the white spaces from my process and repository names, but no luck. RM is now dead in the water.
- Exception: java.lang.RuntimeException
- Message: java.lang.RuntimeException: Cloud size under 1
- Stack trace:
- sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
- sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
- java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
- com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.collectResults(StudioConcurrencyContext.java:185)
- com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call(StudioConcurrencyContext.java:127)
- com.rapidminer.extension.concurrency.execution.BackgroundExecutionService.executeOperatorTasks(BackgroundExecutionService.java:393)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.performParallelValidation(CrossValidationOperator.java:428)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.doWork(CrossValidationOperator.java:280)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
- com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:428)
- com.rapidminer.operator.SimpleOperatorChain.doWork(SimpleOperatorChain.java:99)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
- com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:428)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.Process.run(Process.java:1311)
- com.rapidminer.Process.run(Process.java:1175)
- com.rapidminer.Process.run(Process.java:1128)
- com.rapidminer.Process.run(Process.java:1123)
- com.rapidminer.Process.run(Process.java:1113)
- com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
- Cause
- Exception: java.lang.RuntimeException
- Message: Cloud size under 1
- Stack trace:
- water.H2O.waitForCloudSize(H2O.java:1618)
- com.rapidminer.h2o.ClusterManager.startCluster(ClusterManager.java:166)
- com.rapidminer.h2o.operator.H2OLearner.learn(H2OLearner.java:101)
- com.rapidminer.operator.learner.AbstractLearner.doWork(AbstractLearner.java:151)
- com.rapidminer.operator.Operator.execute(Operator.java:1004)
- com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
- com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
- java.security.AccessController.doPrivileged(Native Method)
- com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.train(CrossValidationOperator.java:465)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator.access$200(CrossValidationOperator.java:59)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator$7.call(CrossValidationOperator.java:378)
- com.rapidminer.extension.concurrency.operator.validation.CrossValidationOperator$7.call(CrossValidationOperator.java:371)
- com.rapidminer.extension.concurrency.execution.BackgroundExecutionService$ExecutionCallable.call(BackgroundExecutionService.java:357)
- java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
- java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
- java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
- java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
- java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
0 -
FYI, I rolled back to 7.5.001 and no more errors occur. There is a definately a bug in v7.6.
1 -
Same problem here. All the H20 operators give this error.
Alex
0 -
OK thanks all. I am passing this along to the dev team right now and will keep you posted. Meanwhile yes rolling back to 7.5 may be a good idea.
Scott
0 -
Hi,
Thank you for the report, and sorry for the inconvenience.
Besides the downgrade, the only workaround with 7.6 currently is to use a different folder as a user home folder that does not contain whitespaces. This can be achieved by adding a line to RapidMiner-Studio.bat like this:
set _JAVA_OPTIONS="-Duser.home=c:/rmhome"
where rmhome is a directory that exists and the user can write into. If the .RapidMiner folder is copied into this new folder, your settings should be unaffected.
Edit: with the 7.6.0 version, the workaround is to specify the following option with a similar path in RapidMiner-Studio.bat (instead of the empty _JAVA_OPTIONS value):
set _JAVA_OPTIONS="-Dai.h2o.ice_root=c:/tmp_ice_root/"
where tmp_ice_root is a directory that exists and the user can write into (it can be a different path that does not contain whitespaces). This should prevent the error when running using these operators.
Best,
Peter
1 -
Hi All,
again, thank you for the bug report and your patience.
I am happy to say you should no longer have this problem with the 7.6.1 release.
https://docs.rapidminer.com/studio/releases/7.6/changes-7.6.1.html
Best,
Peter
1