ipeirotis / Troia-Server

Quality Control API for Crowdsourcing Applications
http://project-troia.com/
Apache License 2.0
15 stars 9 forks source link

predictedLabelCost error #94

Open PeccatorImpius opened 11 years ago

PeccatorImpius commented 11 years ago

There seems to be an issue when creating a number of jobs and then starting to load assigns and get worker quality. I did the following steps:

  1. Create 21 different jobs each using IDS and having a costMatrix and a categoryPriors
  2. Load 1000 label assigns for one of the newly created jobs
  3. Get worker quality for the job with 1000 label assigns

It results in the following error:

curl -X GET "http://localhost/service/responses/7/GET/jobs/RANDOM__1369328960499_22/workers/quality/estimated"
{
  "timestamp": "2013-05-23T10:14:51.019-07:00",
  "result": "Internal error: null",
  "executionTime": 0.003,
  "status": "ERROR",
  "stacktrace": [
    {
      "declaringClass": "com.datascience.core.nominal.decision.LabelProbabilityDistributionCostCalculators$ExpectedCostAlgorithm",
      "methodName": "predictedLabelCost",
      "fileName": "LabelProbabilityDistributionCostCalculators.java",
      "lineNumber": 40
    },
    {
      "declaringClass": "com.datascience.core.nominal.decision.WorkerQualityCalculator",
      "methodName": "getCost",
      "fileName": "WorkerQualityCalculator.java",
      "lineNumber": 31
    },
    {
      "declaringClass": "com.datascience.core.nominal.decision.WorkerQualityCalculator",
      "methodName": "getQuality",
      "fileName": "WorkerQualityCalculator.java",
      "lineNumber": 45
    },
    {
      "declaringClass": "com.datascience.gal.commands.PredictionCommands$GetWorkersQuality",
      "methodName": "realExecute",
      "fileName": "PredictionCommands.java",
      "lineNumber": 56
    },
    {
      "declaringClass": "com.datascience.core.commands.ProjectCommand",
      "methodName": "execute",
      "fileName": "ProjectCommand.java",
      "lineNumber": 37
    },
    {
      "declaringClass": "com.datascience.service.RequestExecutorCommand",
      "methodName": "run",
      "fileName": "RequestExecutorCommand.java",
      "lineNumber": 46
    },
    {
      "declaringClass": "java.util.concurrent.Executors$RunnableAdapter",
      "methodName": "call",
      "fileName": "Executors.java",
      "lineNumber": 471
    },
    {
      "declaringClass": "java.util.concurrent.FutureTask$Sync",
      "methodName": "innerRun",
      "fileName": "FutureTask.java",
      "lineNumber": 334
    },
    {
      "declaringClass": "java.util.concurrent.FutureTask",
      "methodName": "run",
      "fileName": "FutureTask.java",
      "lineNumber": 166
    },
    {
      "declaringClass": "java.util.concurrent.ThreadPoolExecutor",
      "methodName": "runWorker",
      "fileName": "ThreadPoolExecutor.java",
      "lineNumber": 1110
    },
    {
      "declaringClass": "java.util.concurrent.ThreadPoolExecutor$Worker",
      "methodName": "run",
      "fileName": "ThreadPoolExecutor.java",
      "lineNumber": 603
    },
    {
      "declaringClass": "java.lang.Thread",
      "methodName": "run",
      "fileName": "Thread.java",
      "lineNumber": 722
    }
  ]
}
ghost commented 11 years ago

Did you get positive response from post assigns call? Could you provide posted assigns, so we can try to reproduce the error?

PeccatorImpius commented 11 years ago

I can send you the complete test case. What email should I use?

kkonrad commented 11 years ago

Could you anonymize data and post them as gist https://gist.github.com/ ? If you won't mind we would like to add them (or at least part of them) to our regression tests so they would become public.

PeccatorImpius commented 11 years ago

Ok, here you go: https://gist.github.com/PeccatorImpius/5686212

kkonrad commented 11 years ago

Great, thank you!