NOTE: IF YOU WISH TO REPORT A NEW BUG, PLEASE POST A NEW QUESTION AND TAG AS "BUG REPORT". THANK YOU.

Bug report - Error while merging attribute

hervedelhallehervedelhalle MemberPosts:14Contributor II
edited November 2019 inProduct Feedback
Hello everybody,

I am trying to merge attributes in a process. Everything seems ok but i got an error "Process failed" while running this process.
If i do not merge the attribtutes from the subprocess "Execute Min_Max_Freq" and get the result of this process in a dedicated table, it works fine.
However, if i try to merge the attributes from this subproccess to the attributes of the other subproccesses, it doesn't work anymore.
Can anybody help me ?

The error is not clear for me. Here is the details of the error

  • Exception: java.lang.NullPointerException
  • Message: null
  • 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:598)
  • java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
  • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext.collectResults(AbstractConcurrencyContext.java:206)
  • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.collectResults(StudioConcurrencyContext.java:33)
  • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext.call(AbstractConcurrencyContext.java:141)
  • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call(StudioConcurrencyContext.java:33)
  • com.rapidminer.Process.executeRootInPool(Process.java:1349)
  • com.rapidminer.Process.execute(Process.java:1314)
  • com.rapidminer.Process.run(Process.java:1291)
  • com.rapidminer.Process.run(Process.java:1177)
  • com.rapidminer.Process.run(Process.java:1130)
  • com.rapidminer.Process.run(Process.java:1125)
  • com.rapidminer.Process.run(Process.java:1115)
  • com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)

  • Cause
  • Exception: java.lang.NullPointerException
  • Message: null
  • Stack trace:

Here is xml process :


































<参数键= value =“process_location Min_Max_Freq"/>



<参数键= " cache_process " value = " true " / >








<参数键= " cache_process " value = " true " / >








<参数键= " cache_process " value = " true " / >






















<参数键= " cache_process " value = " true " / >







































<参数键= " cache_process " value = " true " / >


















<参数键= " cache_process " value = " true " / >



























































































0
Up
0 votes

Sent to Engineering·Last Updated

FT-157

Comments

  • lionelderkrikorlionelderkrikor Moderator, RapidMiner Certified Analyst, MemberPosts:1,195Unicorn
    Hi@hervedelhalle,

    In order we can reproduce what you observe and understand what's going on, could you share :
    - the differents subprocesses
    - your data

    One starting point : have you tried to inspect the examplesets which are entering in theMerge Atributesoperator (by putting abreakpoint before) ?

    Regards,

    Lionel
  • hervedelhallehervedelhalle MemberPosts:14Contributor II
    Hello,

    I will prepare a package with the data file and subprocesses as soon as possible.
    Yes, I have put a breakpoint and here are the two tables which are entering the Merge Attributes.



  • hervedelhallehervedelhalle MemberPosts:14Contributor II
    Hello,

    Here are the different subprocesses and my data.
    I hope it is a correct format for you to help me. If not, please me help to export correctly data you want in order to help me.

    Best regards

    Hervé


  • lionelderkrikorlionelderkrikor Moderator, RapidMiner Certified Analyst, MemberPosts:1,195Unicorn
    @hervedelhalle,

    OK, I'm able to reproduce the bug.
    It's very strange.
    I will investigate...

    Regards,

    Lionel
    Pavithra_Rao
  • lionelderkrikorlionelderkrikor Moderator, RapidMiner Certified Analyst, MemberPosts:1,195Unicorn
    @hervedelhalle,

    The bug is linked to theMerge Attributesoperator in your subprocessMin_Max_Freq.
    I deleted it . Now theMin_Max_Freqsubprocesses has 4 outputs and theses 4 outputs are merged directly in the finalMerge Attributesoperators in the main process.

    In attached files the working processes.

    Regards,

    Lionel

    PS : I saw french attributes names : You are based in France ? (I'm from Marseille in France...)


  • hervedelhallehervedelhalle MemberPosts:14Contributor II

    Thank you for your reply. Unfortunately, i have still a similar error when i run your proccess ...

    Here is the error I get :

    • Exception: java.lang.NullPointerException
    • Message: null
    • 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:598)
    • java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005)
    • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext.collectResults(AbstractConcurrencyContext.java:206)
    • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.collectResults(StudioConcurrencyContext.java:33)
    • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext.call(AbstractConcurrencyContext.java:141)
    • com.rapidminer.studio.concurrency.internal.StudioConcurrencyContext.call(StudioConcurrencyContext.java:33)
    • com.rapidminer.Process.executeRootInPool(Process.java:1349)
    • com.rapidminer.Process.execute(Process.java:1314)
    • com.rapidminer.Process.run(Process.java:1291)
    • com.rapidminer.Process.run(Process.java:1177)
    • com.rapidminer.Process.run(Process.java:1130)
    • com.rapidminer.Process.run(Process.java:1125)
    • com.rapidminer.Process.run(Process.java:1115)
    • com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)

    • Cause
    • Exception: java.lang.NullPointerException
    • Message: null
    • Stack trace:
    • com.rapidminer.extension.operator.blending.Merge.doWork(Merge.java:242)
    • com.rapidminer.operator.Operator.execute(Operator.java:1031)
    • com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
    • com.rapidminer.operator.ExecutionUnit$2.run(ExecutionUnit.java:812)
    • com.rapidminer.operator.ExecutionUnit$2.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:423)
    • com.rapidminer.operator.Operator.execute(Operator.java:1031)
    • com.rapidminer.Process.executeRoot(Process.java:1372)
    • com.rapidminer.Process.lambda$executeRootInPool$5(Process.java:1351)
    • com.rapidminer.studio.concurrency.internal.AbstractConcurrencyContext$AdaptedCallable.exec(AbstractConcurrencyContext.java:328)
    • 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)
    P.S. : Not in France but in Belgium:)

  • hervedelhallehervedelhalle MemberPosts:14Contributor II

    Finally it works with your files. I have made a mistake in testing your solution. My bad.

    But if I try to apply the same principle for my subprocess Derive_angle, i.e. merge atttributes in my main process and not in my subprocess, the main process fails again with same kind of error.

    You will find the modified main subprocess and the min_max_frq and derive_angle subprocesses I use.

    Could you please explain me why it behaves like this ?

    Best regards


  • MartinLiebigMartinLiebig Administrator, Moderator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, University ProfessorPosts:3,388RM Data Scientist
    Tagging@tftemme, who is the expert on it.
    - Head of Data Science Services at RapidMiner -
    Dortmund, Germany
    Tghadially
  • tftemmetftemme Administrator, Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, RMResearcher, MemberPosts:164RM Research
    Hi@hervedelhalle,@lionelderkrikor

    I can confirm the bug. It is connected to the renaming of the duplicate annotations and the fact that through the combination of different Merge operator we have a unusual setup of annotation keys. As your annotations are all only the original source, you can just change the 'handling of duplicate annotations' parameter to 'keep_only_first' and the process works.

    Will check the bug non-the less. Thanks for reporting.

    Best regards,
    Fabian

Sign InorRegisterto comment.