Jump to content

crosstab cell -> endless loop


sravyts

Recommended Posts

I have a crosstab with a cell with a very long text shown in a dynamic textfield.

But my rendering process seems to go into an infinite loop. When Ctrl-Break is pressed I see the stacktrace pasted at the bottom.

Can this infinite loop throw an exception like the (infinite loop due to column header overflow etc...) if it is due to a bad design, or is this a bug?

 

 

 

at java.text.RuleBasedBreakIterator.handlePrevious(RuleBasedBreakIterator.java:960)

at java.text.RuleBasedBreakIterator.previous(RuleBasedBreakIterator.java:626)

at java.text.RuleBasedBreakIterator.preceding(RuleBasedBreakIterator.java:774)

at java.awt.font.LineBreakMeasurer.nextOffset(LineBreakMeasurer.java:363)

at java.awt.font.LineBreakMeasurer.nextLayout(LineBreakMeasurer.java:422)

at java.awt.font.LineBreakMeasurer.nextLayout(LineBreakMeasurer.java:395)

at net.sf.jasperreports.engine.fill.TextMeasurer.renderParagraph(TextMeasurer.java:294)

at net.sf.jasperreports.engine.fill.TextMeasurer.measure(TextMeasurer.java:249)

at net.sf.jasperreports.engine.fill.JRFillTextElement.chopTextElement(JRFillTextElement.java:535)

at net.sf.jasperreports.engine.fill.JRFillTextField.prepare(JRFillTextField.java:529)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:343)

at net.sf.jasperreports.engine.fill.JRFillCellContents.prepare(JRFillCellContents.java:357)

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.prepareDataCell(JRFillCrosstab.java:1515)

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.prepareRow(JRFillCrosstab.java:1439)

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.fillRows(JRFillCrosstab.java:1351)

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.fillVerticalCrosstab(JRFillCrosstab.java:916)

at net.sf.jasperreports.engine.fill.JRFillCrosstab$CrosstabFiller.fill(JRFillCrosstab.java:863)

at net.sf.jasperreports.engine.fill.JRFillCrosstab.prepare(JRFillCrosstab.java:495)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:343)

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Crosstab cells do not split on multiple pages, so when one of the cells would not fit on a single page the engine will enter an infinite loop.

 

Detecting when the engine goes into an infinite loop is a very complex task, and the current infinity loop detection code only covers some scenarios that lead to this. If you think the engine should throw an exception in the scenario you described, log this as a bug and we'll investigate it.

 

Regards,

Lucian

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...