[#3694] - EmptyStackException in OLAP Analysis in JasperServer 5.6

Category:
Bug report
Priority:
Immediate
Status:
Feedback Requested
Project: Severity:
Critical
Resolution:
Open
Component: Reproducibility:
Always
Assigned to:

If you try to expand a dimension in the CUBE settings you get the following exception:

java.util.EmptyStackException

at mondrian.util.ArrayStack.peek(ArrayStack.java:67)
at mondrian.server.Locus.peek(Locus.java:61)
at
mondrian.rolap.SqlMemberSource.getMemberChildren2(SqlMemberSource.java:949)

at
mondrian.rolap.SqlMemberSource.getMemberChildren(SqlMemberSource.java:876)
...

This can be reproduced with a clean installation of the JasperReports Server 5.6 and the Foodmart sample database.

v5.6
olap
planetzone's picture
Joined: Mar 29 2010 - 8:12am
Last seen: 6 years 11 months ago

26 Comments:

#1
  • Assigned:nobody»

Same error for me. Happens with JasperServer 5.6 (after updating from 4.5)

#2
  • Assigned:» anonymous

I am also getting this same error with JasperServer 5.6. I just upgraded from 5.0.

#3

Confirmed.

It could be reproduced even in preinstalled Foodmart Sample Analysis View. Try to expand values of any dimension, in any section of Change Data Cube (Columns, Rows or Filter).

Agree with bug's starter here
https://community.jaspersoft.com/questions/841162/emptystackexception-ol...

JasperReports Server 5.6.0

#4
  • Assigned:anonymous»

Able to work around this bug by applying a patch to mondrian. The problem appears to be in the way ji-jpivot-5.1.0 uses mondrian but the source for ji-jpivot does not seem to be available. Instead I patched mondrian. Started with mondrian version 3.6.7 (tag = 3.6.7-R) and applied the following patch. The resulting jar was hot-patched into our production JasperReports Server 5.6.0. Obviously it is not a great fix but it got our Analysis working again.

Patch:
diff --git a/src/main/mondrian/olap/DelegatingSchemaReader.java b/src/main/mondrian/olap/DelegatingSchemaReader.java
index 99e3ec8..d82b54c 100644
--- a/src/main/mondrian/olap/DelegatingSchemaReader.java
+++ b/src/main/mondrian/olap/DelegatingSchemaReader.java
@@ -75,7 +75,11 @@ public abstract class DelegatingSchemaReader implements SchemaReader {
}

public List<Member> getMemberChildren(Member member) {
- return schemaReader.getMemberChildren(member);
+ try {
+ return schemaReader.getMemberChildren(member);
+ } catch (java.util.EmptyStackException e) {
+ return schemaReader.withLocus().getMemberChildren(member);
+ }
}

public List<Member> getMemberChildren(List<Member> members) {

#5
  • Assigned:» anonymous

I tried building the workaround in Mondrian, but hit problems with source versions and bugs in various components. It felt like I was disappearing down a rabbit hole. I upgraded to Jasperserver 6.0. The problem is still present. Is there an alternative to the hot patch to Mondrian described above?

AttachmentSize
Binary Data jasperserver_old_c.log29.38 KB
#6
  • Priority:Immediate» Urgent
  • Status:New» Feedback Requested
  • Assigned:anonymous»

There are other registrations for this problem in #4005 and #4038. Does anybody have a workaround other than the one above? Nothing I've tried works. Either the build fails, or the Tomcat start up fails.

#7
  • Assigned:» anonymous

Do we know when we are likely to see a Jasperserver CE hot fix or patch for this?
We have put 3 months into a trial/demo of JS and the OLAP capabilities, and am before senior management in 3 days to get the "go" / "no go" for further implementation and yikes this OLAP filter drill down crash is not a good look and hard to avoid!
Seems there are some comments about on how to fix - I'd fix it myself if I knew how ... anyone able to help?

#8

Version 6.01.
The bug is still there.

#9
  • Assigned:nobody»

The problem persists in version 6.1.
I can not upgrade from version 5.1 because of this error.
Is it possible to receive an answer if the problem will be solved someday?

#10
  • Priority:Urgent» Immediate
  • Severity:Block» Critical

Long-standing critical error.

#11
  • Status:Feedback Requested» New
#12
  • Status:New» Feedback Requested

Is it possible to have at least an answer if this problem will be solved someday?

I can´t upgrade the version because of this problem!!!

#13

I'm struggling with this issue, I patched the file in standard installation (6.2) on windows. No Way to fix, It's incredible.
Probably I'll migrate vs. other B.I. Software, at the moment we are considering to downgrade to a stable release and searching for other b.i. solution to provide to our customer.. 2 month of sales work are trashed.. I cannot offer the commercial release with this kind of bugs in the CE. Dear TIBCO, think about that, please.

#14

Got It!

On 6.1.1 in JbossAS 7.1.1final..

1- Read the correct release of Mondrian from the file VERSION.TXT in mondrian-3.6.4-JS-1.jar (open with rar / 7z ..ecc. This name is correct for 6.1.1 for 6.2.2 is different but quite similar).

here's the content of Version File.

Title: mondrian
Version: 3.6.4
VersionMajor: 3
VersionMinor: 640
Vendor: Pentaho

2- download it form github -> https://github.com/pentaho/mondrian/releases

3- Import the prject under Eclipse

4- Modify the file as ddaly says:

public List<Member> getMemberChildren(Member member) {
- return schemaReader.getMemberChildren(member);
+ try {
+ return schemaReader.getMemberChildren(member);
+ } catch (java.util.EmptyStackException e) {
+ return schemaReader.withLocus().getMemberChildren(member);
+ }
}

5-compile your project and rename the jar with the correct name.

6-turn off your server and overwrite the old file (or place it in another folder --> not in jasperserver.war or subfolder)

7-Turn on your server.

Now you can expand dimension and filter in in the CUBE settings without getting errors.

P.s.: you can overwrite the DelegatingSchemaReader.class file in your jar...

thanks again ddaly.
Paolo.

#15

Does someone prepared jar that fix this error or maybe can give link to patch? Problem is not solved in 6.2 :(

#16

does anyone have any news on this bug.
thank's

#17

I have a feeling that Jaspersoft intentionally do not want to fix this bug. This is critical bug for OLAP users = Jaspersoft CE is useless without bugfix :(
In few days I have to do recommendation which BI software platform should be choosen by one financial company but because this bug I cannot recommend Jaspersoft CE , Professional is too expensive and there is no something between:( It is a pity because I am a fun of Jaspersoft, maybe this time I will recommend Pentaho or SAP paid solution .

One more thing. We can even pay for this bugfix, but how to submit such paid bugfix to developers?

#18

I was so frustrated that I've finaly compiled modrian library with fix proposed by pmaffeis, now problem does not exist (I hope there is only critical error in 6.2)
Mondrian jar:
https://drive.google.com/file/d/0B68VuZDaIVt5SkVjQVpybzM3N3c/view?usp=sh...

Michał

#19

Thanks ddaly, pmaffeis, dyrex for the workaround! Very poor on Tibco's part that they are neither fixing this nor providing the source for jpivot with the CE.

#20

The file provided by Dyrex doesn't work for parent child hierarchies; the same thing needs to be done to schemaReader.isDrillable(member) too. Here's the compiled jar file with that addition https://drive.google.com/open?id=0B01Lyhhy36jeMlN6RGZCNUl0T0k

#21

Thanks!

#22

I've overwritten the mondrian-3.6.4-JS-1.jar file with the one patching by the user servantofchristjesus in Jasperserver 6.3.0 but it doesn't work. The problem with CUBES is still present.

#23

Solved! Don't rename the old file and let it in the folder but just overwrite it with the file patched! Otherwise they do conflict.

#24

Yeah!! Thanks!!!

#25

In version 7.1 is not fixed.

#26

In version 7.5 is not fix too, but with patch it's work. Many thanks.

Feedback