Pages: [1]
  Print  
Author Topic: Getting error com.rapidminer.operator.UserError: No message.  (Read 1415 times)
sk
Newbie
*
Posts: 2


« on: July 10, 2009, 10:28:01 AM »

Hi,
I am working on a Web application (Tomcat and jdk1.6) that classifies the text data.
For the same I am using RapidMiner 4.4. I have 2 XML files; one creates the model on trained data set and second classifies the actual test data using the model.
When I run this it gives me following error. However it works well in standalone application.

com.rapidminer.operator.UserError: No message.
   at com.rapidminer.operator.io.ModelLoader.apply(ModelLoader.java:97)
   at com.rapidminer.operator.Operator.apply(Operator.java:666)
   at com.rapidminer.operator.OperatorChain.apply(OperatorChain.java:416)
   at com.rapidminer.operator.Operator.apply(Operator.java:666)
   at com.rapidminer.Process.run(Process.java:695)
   at com.rapidminer.Process.run(Process.java:665)
   at com.rapidminer.Process.run(Process.java:655)
   at com.cts.rapidminer.training.CreateExampleSet.testData(CreateExampleSet.java:245)
   at com.cts.rapidminer.training.CreateExampleSet.testMethod(CreateExampleSet.java:254)
   at com.cts.rapidminer.servlet.TrainModelServlet.doPost(TrainModelServlet.java:38)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
   at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
   at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
   at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
   at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
   at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.StreamCorruptedException: invalid stream header: 1F8B0800
   at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
   at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
   at com.rapidminer.operator.io.ModelLoader.apply(ModelLoader.java:76)
   ... 35 more
Logged
Simon Fischer
Administrator
Sr. Member
*****
Posts: 448



WWW
« Reply #1 on: July 10, 2009, 02:06:50 PM »

Hi,

unfortunately, you are giving virually no context information in your post, e.g. about how are you packaging your application. To me, it looks like RapidMiner is not finding all necessary resources which messes up the error messages. Apparently, the true error message will have to do with the ModelLoader, which is probably a bad idea to use inside a Web container anyway.

If you need more help, please give more information about how you are using RM from within Tomcat.

Cheers,
Simon
Logged

Simon Fischer, Rapid-I
RapidMiner Development on Twitter: @simon_fis
sk
Newbie
*
Posts: 2


« Reply #2 on: July 14, 2009, 09:30:29 AM »

Hi Simon,

Thanks for the reply

Here is the more information about my Text Classification application.

I have created a Tomcat project in eclipse and added the entire required jar in CLASSPATH. RapidMiner initialization code is inside the InitServlet so it gets initialized whenever tomcat starts.
In this application, Classification is two step process (created 2 xml using Rapidminer GUI).
1.   Creates model on training data set (Createmodel.xml)
2.   Classifies the test data based on model (Classifydata.xml)

I am calling these xml’s from Servlet using Process class. Below is the code snapshot

Process trainData = new Process (new File (“Createmodel.xml”));
trainData.run();




Process classifyTestDataProcess = new Process (new File (
               “Classifydata.xml”));
classifyTestDataProcess.run();


First process executes successfully and creates the model, but when I try to run the second process it gives  com.rapidminer.operator.UserError: No message.
Logged
Simon Fischer
Administrator
Sr. Member
*****
Posts: 448



WWW
« Reply #3 on: July 14, 2009, 12:13:22 PM »

Hi SK,

unfortunately, there are a dozen or so ways to package Web apps with eclipse and Tomcat, so I still don't know what is going on. Also, I don't know what CLASSPATH you are referring to or what the entire required jar is (I would assume there are several).

Some things to check:

- Obviously, UserError does not find its resource bundle, so it always says "No message", so can you access the resource:
  - com.rapidminer.resources.UserErrorMessages.properties ?
  - is a resource returned by Tools.getResource("UserErrorMessages.properties")?
- Do the RapidMiner init methods report anything suspicious?
- Do RapidMiner and Tomcat find all libraries?
- Track the error in the stack trace, so you will at least know what is going wrong. Then you can work on the real problem although you don't get a nice error message.

Let me note that I am posting these questions only to give you a hint as to what should be considered. Even if you send me all your deployment descriptors and log files, I believe it is virtually impossible to debug deployment problems like this one through a forum.

Best,
Simon
Logged

Simon Fischer, Rapid-I
RapidMiner Development on Twitter: @simon_fis
Simon Fischer
Administrator
Sr. Member
*****
Posts: 448



WWW
« Reply #4 on: July 15, 2009, 01:44:20 PM »

This problem might be related to this one

http://rapid-i.com/rapidforum/index.php/topic,1038.0.html

but your's seems to be worse since not even the error messages are loaded. As I said, this *might* be a class loader problem, and it might be fixed in 4.5. Feedback is welcome.

Cheers,
Simon
Logged

Simon Fischer, Rapid-I
RapidMiner Development on Twitter: @simon_fis
Pages: [1]
  Print  
 
Jump to: