Jump to content

JasperReport goes into infinite loop...


Vjger

Recommended Posts

Hi,

I did a report via iReport 1.2.0 (but it's the same with newer versions).

It compiles but, when I use this report into a my Java Application, the method private void fillDetail() of the class net.sf.jasperreports.engine.fill.JRVerticalFiller

goes into infinite loop

Code:
			while (
detail.getHeight() > columnFooterOffsetY - offsetY
).

 

I attach my jrxml file.

 

Thanks a lot for any help. [file name=DDNominaRUP.jrxml size=10281]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/DDNominaRUP.jrxml[/file]

Link to comment
Share on other sites

  • Replies 7
  • Created
  • Last Reply

Top Posters In This Topic

In truth, the reports are two.

intestazioneDD contains as subreport DDNominaRup.

 

If I do the report of DDNominaRup only, it works.

 

If I merge the two reports together, it brings the loop.

 

I attach the jrxml file of intestazioneDD too. [file name=intestazioneDD.jrxml size=9570]http://www.jasperforge.org/components/com_joomlaboard/uploaded/files/intestazioneDD.jrxml[/file]

Link to comment
Share on other sites

Hi Giulio.

I found that, the trouble come from the "802" max height of the entire document. So, if, as in the attached examples I work with a subreport of 802 pixel, the entire height document, being the sum of report + subreport is higher of 802.

I reduced the subreport height and now it works.

 

Any way, I would have more space for my static and not static text. There's a way to "enlarge" the maximum heigth?

 

Thanks.

Link to comment
Share on other sites

Hi,

 

Infinite loops in JasperReports are caused by layout problems. As you realized yourself, there was this page size inconsistency that caused the engine to enter an infinit loop trying to create new pages in the document, because the content would never fit inside.

 

Such layout inconsistencies are usually related to the data being renderd so are impossible to predict at design time, unless the report designer carefuly puts the pieces in place and tries to figure out how the overall document would be filled.

 

We are currently making efforts to improve the engine so that it detects infinite loops and exists them with an appropriate exception.

 

Thank you,

Teodor

Link to comment
Share on other sites

  • 1 year later...

teodord wrote:

Hi,

Infinite loops in JasperReports are caused by layout problems. As you realized yourself, there was this page size inconsistency that caused the engine to enter an infinit loop trying to create new pages in the document, because the content would never fit inside.

Such layout inconsistencies are usually related to the data being renderd so are impossible to predict at design time, unless the report designer carefuly puts the pieces in place and tries to figure out how the overall document would be filled.

We are currently making efforts to improve the engine so that it detects infinite loops and exists them with an appropriate exception.

Thank you,
Teodor

 

Hi to all.

I reply to this post one year after.

Can I know if this problem was been resolved?

Is there the "802" max size again?

 

Thanks in advance

Link to comment
Share on other sites

  • 4 years later...

hi Teodor,

 

we use jsper version 4.0.0 and ireport 4.0.0 to devlope our project

Now we encoubter the Infinite loops in our Prod Env,but it does not happen in out SIT/FT/UAT Env, so I guess it must be related to the data.for some reason, we can not get the data from production Env, and we try to reproduce the scenario, but unfortunately failed.

so would you please kindly give me an example(with jrxml file ,jave source code and data structure will be prefered)to show the Infinite loop.and please also show me how to avoid such case happen during the jsper template design.

 

Thanks in advance!

 

 

Vincent

 

<<<<<< This comment was blocked and unpublished because Project Honeypot indicates it came from a suspicious IP address.

Link to comment
Share on other sites

hi Teodor,

 

we use jasper 4.0.0, and we can not find any exception from the logs, and i also try to check the source code, and find that only in the method (fillPageBreak,fillColumnHeader and fillPageHeader), may throw like below exception JRRuntimeException("Infinite loop creating new page due to page header overflow.").

would you please show me how to reproduce the scenario.

 

 

many thanks

 

vincent Shu

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...