java.lang.ArrayIndexOutOfBoundsException: 0

Pentaho BI Platform Tracking | Greg Taylor | 4 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    The stack trace below is seen after firing two consecutive MDX queries through Mondrian. It seems to occur only if all the values are null and may require the use of WITH SET and/or WITH MEMBER. I'm going to submit a code change and JUnit test that reproduces the problem in the FoodMart sample db. java.lang.ArrayIndexOutOfBoundsException: 0 at mondrian.rolap.agg.DenseObjectSegmentDataset.getObject(DenseObjectSegmentDataset.java:56) at mondrian.rolap.agg.SegmentWithData.getCellValue(SegmentWithData.java:179) at mondrian.rolap.RolapStar.getCellFromCache(RolapStar.java:157) at mondrian.rolap.agg.AggregationManager.getCellFromCache(AggregationManager.java:188) at mondrian.rolap.FastBatchingCellReader.get(FastBatchingCellReader.java:115) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:660) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.olap.fun.FunUtil.evaluateSet(FunUtil.java:1580) at mondrian.olap.fun.FunUtil.sumDouble(FunUtil.java:1493) at mondrian.olap.fun.SumFunDef$2.evaluateDouble(SumFunDef.java:127) at mondrian.olap.fun.BuiltinFunTable$47$1.evaluateDouble(BuiltinFunTable.java:1472) at mondrian.olap.fun.BuiltinFunTable$48$2.evaluateDouble(BuiltinFunTable.java:1532) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.olap.fun.IifFunDef$4$1.evaluate(IifFunDef.java:145) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:980) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130) at mondrian.rolap.RolapResult.executeBody(RolapResult.java:854) at mondrian.rolap.RolapResult.<init>(RolapResult.java:452) at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:680)

    Pentaho BI Platform Tracking | 4 years ago | Greg Taylor
    java.lang.ArrayIndexOutOfBoundsException: 0
  2. 0

    The stack trace below is seen after firing two consecutive MDX queries through Mondrian. It seems to occur only if all the values are null and may require the use of WITH SET and/or WITH MEMBER. I'm going to submit a code change and JUnit test that reproduces the problem in the FoodMart sample db. java.lang.ArrayIndexOutOfBoundsException: 0 at mondrian.rolap.agg.DenseObjectSegmentDataset.getObject(DenseObjectSegmentDataset.java:56) at mondrian.rolap.agg.SegmentWithData.getCellValue(SegmentWithData.java:179) at mondrian.rolap.RolapStar.getCellFromCache(RolapStar.java:157) at mondrian.rolap.agg.AggregationManager.getCellFromCache(AggregationManager.java:188) at mondrian.rolap.FastBatchingCellReader.get(FastBatchingCellReader.java:115) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:660) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110) at mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100) at mondrian.olap.fun.FunUtil.evaluateSet(FunUtil.java:1580) at mondrian.olap.fun.FunUtil.sumDouble(FunUtil.java:1493) at mondrian.olap.fun.SumFunDef$2.evaluateDouble(SumFunDef.java:127) at mondrian.olap.fun.BuiltinFunTable$47$1.evaluateDouble(BuiltinFunTable.java:1472) at mondrian.olap.fun.BuiltinFunTable$48$2.evaluateDouble(BuiltinFunTable.java:1532) at mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45) at mondrian.olap.fun.IifFunDef$4$1.evaluate(IifFunDef.java:145) at mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:980) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130) at mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130) at mondrian.rolap.RolapResult.executeBody(RolapResult.java:854) at mondrian.rolap.RolapResult.<init>(RolapResult.java:452) at mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:680)

    Pentaho BI Platform Tracking | 4 years ago | Greg Taylor
    java.lang.ArrayIndexOutOfBoundsException: 0

    Root Cause Analysis

    1. java.lang.ArrayIndexOutOfBoundsException

      0

      at mondrian.rolap.agg.DenseObjectSegmentDataset.getObject()
    2. mondrian.rolap.agg
      SegmentWithData.getCellValue
      1. mondrian.rolap.agg.DenseObjectSegmentDataset.getObject(DenseObjectSegmentDataset.java:56)
      2. mondrian.rolap.agg.SegmentWithData.getCellValue(SegmentWithData.java:179)
      2 frames
    3. mondrian.rolap
      RolapStar.getCellFromCache
      1. mondrian.rolap.RolapStar.getCellFromCache(RolapStar.java:157)
      1 frame
    4. mondrian.rolap.agg
      AggregationManager.getCellFromCache
      1. mondrian.rolap.agg.AggregationManager.getCellFromCache(AggregationManager.java:188)
      1 frame
    5. mondrian.rolap
      RolapEvaluator.evaluateCurrent
      1. mondrian.rolap.FastBatchingCellReader.get(FastBatchingCellReader.java:115)
      2. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:660)
      2 frames
    6. mondrian.calc.impl
      GenericCalc.evaluateDouble
      1. mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100)
      2. mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110)
      2 frames
    7. mondrian.olap.fun
      BuiltinFunTable$45$1.evaluateDouble
      1. mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405)
      2. mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405)
      2 frames
    8. mondrian.calc.impl
      AbstractDoubleCalc.evaluate
      1. mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45)
      1 frame
    9. mondrian.rolap
      RolapEvaluator.evaluateCurrent
      1. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687)
      1 frame
    10. mondrian.calc.impl
      GenericCalc.evaluateDouble
      1. mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100)
      2. mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110)
      2 frames
    11. mondrian.olap.fun
      BuiltinFunTable$45$1.evaluateDouble
      1. mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405)
      1 frame
    12. mondrian.calc.impl
      AbstractDoubleCalc.evaluate
      1. mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45)
      1 frame
    13. mondrian.rolap
      RolapEvaluator.evaluateCurrent
      1. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687)
      1 frame
    14. mondrian.calc.impl
      GenericCalc.evaluateDouble
      1. mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100)
      2. mondrian.calc.impl.GenericCalc.evaluateDouble(GenericCalc.java:110)
      2 frames
    15. mondrian.olap.fun
      BuiltinFunTable$45$1.evaluateDouble
      1. mondrian.olap.fun.BuiltinFunTable$45$1.evaluateDouble(BuiltinFunTable.java:1405)
      1 frame
    16. mondrian.calc.impl
      AbstractDoubleCalc.evaluate
      1. mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45)
      1 frame
    17. mondrian.rolap
      RolapEvaluator.evaluateCurrent
      1. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687)
      1 frame
    18. mondrian.calc.impl
      MemberValueCalc.evaluate
      1. mondrian.calc.impl.MemberValueCalc.evaluate(MemberValueCalc.java:100)
      1 frame
    19. mondrian.olap.fun
      BuiltinFunTable$48$2.evaluateDouble
      1. mondrian.olap.fun.FunUtil.evaluateSet(FunUtil.java:1580)
      2. mondrian.olap.fun.FunUtil.sumDouble(FunUtil.java:1493)
      3. mondrian.olap.fun.SumFunDef$2.evaluateDouble(SumFunDef.java:127)
      4. mondrian.olap.fun.BuiltinFunTable$47$1.evaluateDouble(BuiltinFunTable.java:1472)
      5. mondrian.olap.fun.BuiltinFunTable$48$2.evaluateDouble(BuiltinFunTable.java:1532)
      5 frames
    20. mondrian.calc.impl
      AbstractDoubleCalc.evaluate
      1. mondrian.calc.impl.AbstractDoubleCalc.evaluate(AbstractDoubleCalc.java:45)
      1 frame
    21. mondrian.olap.fun
      IifFunDef$4$1.evaluate
      1. mondrian.olap.fun.IifFunDef$4$1.evaluate(IifFunDef.java:145)
      1 frame
    22. mondrian.rolap
      RolapConnection.executeInternal
      1. mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:687)
      2. mondrian.rolap.RolapResult.executeStripe(RolapResult.java:980)
      3. mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130)
      4. mondrian.rolap.RolapResult.executeStripe(RolapResult.java:1130)
      5. mondrian.rolap.RolapResult.executeBody(RolapResult.java:854)
      6. mondrian.rolap.RolapResult.<init>(RolapResult.java:452)
      7. mondrian.rolap.RolapConnection.executeInternal(RolapConnection.java:680)
      7 frames