[Mondrian] Re: Eigenbase perforce change 8742 for review

John V. Sichi jsichi at gmail.com
Wed Feb 21 14:34:33 EST 2007


John V. Sichi wrote:
> Richard Emberson wrote:
>> Can I see the stack trace.
> 
> Use the derby.jar that's checked into Perforce and run the test.

I've included a portion of the stack below (one of the usual tangles 
between calculated member and necj's); of course it goes on and on.

JVS

----

      [java] 1) 
testNonEmptyCrossJoinLoneAxis(mondrian.rolap.TestAggregationManager)java.lang.StackOverflowError
      [java]     at 
mondrian.rolap.RolapNativeSet.checkMemberChildren(RolapNativeSet.java:559)
      [java]     at 
mondrian.rolap.RolapNativeSet.checkCrossJoinArg(RolapNativeSet.java:641)
      [java]     at 
mondrian.rolap.RolapNativeSet.checkCrossJoin(RolapNativeSet.java:611)
      [java]     at 
mondrian.rolap.RolapNativeCrossJoin.createEvaluator(RolapNativeCrossJoin.java:73)
      [java]     at 
mondrian.rolap.RolapNativeRegistry.createEvaluator(RolapNativeRegistry.java:44)
      [java]     at 
mondrian.rolap.RolapSchemaReader.getNativeSetEvaluator(RolapSchemaReader.java:459)
      [java]     at 
mondrian.olap.DelegatingSchemaReader.getNativeSetEvaluator(DelegatingSchemaReader.java:200)
      [java]     at 
mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:50)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.olap.fun.GenerateFunDef$GenerateListCalcImpl.evaluateList(GenerateFunDef.java:116)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.olap.ExpCacheDescriptor.evaluate(ExpCacheDescriptor.java:81)
      [java]     at 
mondrian.rolap.RolapEvaluator.getCachedResult(RolapEvaluator.java:656)
      [java]     at 
mondrian.olap.fun.CacheFunDef$1.evaluate(CacheFunDef.java:59)
      [java]     at 
mondrian.calc.impl.GenericCalc.evaluateList(GenericCalc.java:40)
      [java]     at 
mondrian.olap.fun.AbstractAggregateFunDef.evaluateCurrentList(AbstractAggregateFunDef.java:63)
      [java]     at 
mondrian.olap.fun.AggregateFunDef$1.evaluate(AggregateFunDef.java:56)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:428)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.optimizeNonEmptyList(CrossJoinFunDef.java:2202)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.nonEmptyOptimizeList(CrossJoinFunDef.java:1087)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.crossJoin(CrossJoinFunDef.java:1867)
      [java]     at 
mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:65)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.olap.fun.GenerateFunDef$GenerateListCalcImpl.evaluateList(GenerateFunDef.java:116)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.olap.ExpCacheDescriptor.evaluate(ExpCacheDescriptor.java:81)
      [java]     at 
mondrian.rolap.RolapEvaluator.getCachedResult(RolapEvaluator.java:656)
      [java]     at 
mondrian.olap.fun.CacheFunDef$1.evaluate(CacheFunDef.java:59)
      [java]     at 
mondrian.calc.impl.GenericCalc.evaluateList(GenericCalc.java:40)
      [java]     at 
mondrian.olap.fun.AbstractAggregateFunDef.evaluateCurrentList(AbstractAggregateFunDef.java:63)
      [java]     at 
mondrian.olap.fun.AggregateFunDef$1.evaluate(AggregateFunDef.java:56)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:428)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.optimizeNonEmptyList(CrossJoinFunDef.java:2202)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.nonEmptyOptimizeList(CrossJoinFunDef.java:1087)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.crossJoin(CrossJoinFunDef.java:1867)
      [java]     at 
mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:65)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.olap.fun.GenerateFunDef$GenerateListCalcImpl.evaluateList(GenerateFunDef.java:116)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.olap.ExpCacheDescriptor.evaluate(ExpCacheDescriptor.java:81)
      [java]     at 
mondrian.rolap.RolapEvaluator.getCachedResult(RolapEvaluator.java:656)
      [java]     at 
mondrian.olap.fun.CacheFunDef$1.evaluate(CacheFunDef.java:59)
      [java]     at 
mondrian.calc.impl.GenericCalc.evaluateList(GenericCalc.java:40)
      [java]     at 
mondrian.olap.fun.AbstractAggregateFunDef.evaluateCurrentList(AbstractAggregateFunDef.java:63)
      [java]     at 
mondrian.olap.fun.AggregateFunDef$1.evaluate(AggregateFunDef.java:56)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:428)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.optimizeNonEmptyList(CrossJoinFunDef.java:2202)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.nonEmptyOptimizeList(CrossJoinFunDef.java:1087)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.crossJoin(CrossJoinFunDef.java:1867)
      [java]     at 
mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:65)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.olap.fun.GenerateFunDef$GenerateListCalcImpl.evaluateList(GenerateFunDef.java:116)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:503)
      [java]     at 
mondrian.rolap.RolapResult.access$200(RolapResult.java:42)
      [java]     at 
mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:847)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:689)
      [java]     at 
mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)
      [java]     at 
mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)
      [java]     at 
mondrian.olap.ExpCacheDescriptor.evaluate(ExpCacheDescriptor.java:81)
      [java]     at 
mondrian.rolap.RolapEvaluator.getCachedResult(RolapEvaluator.java:656)
      [java]     at 
mondrian.olap.fun.CacheFunDef$1.evaluate(CacheFunDef.java:59)
      [java]     at 
mondrian.calc.impl.GenericCalc.evaluateList(GenericCalc.java:40)
      [java]     at 
mondrian.olap.fun.AbstractAggregateFunDef.evaluateCurrentList(AbstractAggregateFunDef.java:63)
      [java]     at 
mondrian.olap.fun.AggregateFunDef$1.evaluate(AggregateFunDef.java:56)
      [java]     at 
mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:428)
      [java]     at 
mondrian.olap.fun.CrossJoinFunDef.optimizeNonEmptyList(CrossJoinFunDef.java:2202)




More information about the Mondrian mailing list