Bug 546628 - Infinate do while loop in birt charting library.
Summary: Infinate do while loop in birt charting library.
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 4.7.0   Edit
Hardware: PC Windows 10
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Birt-Chart-inbox@eclipse.org CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-22 11:20 EDT by Omar Khalil CLA
Modified: 2019-04-22 11:20 EDT (History)
0 users

See Also:


Attachments
Four thread dumps that were taken during a minute. (34.62 KB, application/x-zip-compressed)
2019-04-22 11:20 EDT, Omar Khalil CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Omar Khalil CLA 2019-04-22 11:20:53 EDT
Created attachment 278358 [details]
Four thread dumps that were taken during a minute.

Sometimes method org.eclipse.birt.chart.computation.withaxes.PlotWithAxes.adjustVerticalWithValueOrigin() receives parameters that cause an infinite do while loop, in line 2545 the variables that are designed to be adjusted upon the loop get changed in a way that causes the while condition to be always true, below is a snapshot of the not ended thread, also attached are Four thread dumps that were taken during a minute.

at java.desktop@10.0.1/sun.font.SunLayoutEngine.shape(Native Method)
    at java.desktop@10.0.1/sun.font.SunLayoutEngine.layout(Unknown Source)
    at java.desktop@10.0.1/sun.font.GlyphLayout$EngineRecord.layout(Unknown Source)
    at java.desktop@10.0.1/sun.font.GlyphLayout.layout(Unknown Source)
    at java.desktop@10.0.1/sun.font.ExtendedTextSourceLabel.createGV(Unknown Source)
    at java.desktop@10.0.1/sun.font.ExtendedTextSourceLabel.getGV(Unknown Source)
    at java.desktop@10.0.1/sun.font.ExtendedTextSourceLabel.createLogicalBounds(Unknown Source)
    at java.desktop@10.0.1/sun.font.ExtendedTextSourceLabel.getAdvance(Unknown Source)
    at java.desktop@10.0.1/java.awt.font.TextLine.init(Unknown Source)
    at java.desktop@10.0.1/java.awt.font.TextLine.<init>(Unknown Source)
    at java.desktop@10.0.1/java.awt.font.TextLine.fastCreateTextLine(Unknown Source)
    at java.desktop@10.0.1/java.awt.font.TextLayout.fastInit(Unknown Source)
    at java.desktop@10.0.1/java.awt.font.TextLayout.<init>(Unknown Source)
    at org.eclipse.birt.chart.device.swing.SwingTextMetrics.reuse(SwingTextMetrics.java:150)
    at org.eclipse.birt.chart.device.TextAdapter.reuse(TextAdapter.java:36)
    at org.eclipse.birt.chart.device.swing.SwingTextMetrics.<init>(SwingTextMetrics.java:86)
    at org.eclipse.birt.chart.device.swing.SwingDisplayServer.getTextMetrics(SwingDisplayServer.java:194)
    at org.eclipse.birt.chart.device.DisplayAdapter.getTextMetrics(DisplayAdapter.java:138)
    at org.eclipse.birt.chart.computation.Methods.computeBox(Methods.java:1203)
    at org.eclipse.birt.chart.computation.Methods.computeBox(Methods.java:983)
    at org.eclipse.birt.chart.computation.Methods.computeBox(Methods.java:931)
    at org.eclipse.birt.chart.computation.BIRTChartComputation.computeBox(BIRTChartComputation.java:52)
    at org.eclipse.birt.chart.computation.withaxes.AutoScale.computeAxisStartEndShifts(AutoScale.java:3393)
    at org.eclipse.birt.chart.computation.withaxes.AutoScale.computeTicks(AutoScale.java:2928)
    at org.eclipse.birt.chart.computation.withaxes.AutoScale.computeTicks(AutoScale.java:2892)
    at org.eclipse.birt.chart.computation.withaxes.PlotWithAxes.adjustVerticalWithValueOrigin(PlotWithAxes.java:2499)
    at org.eclipse.birt.chart.computation.withaxes.PlotWithAxes.adjustVerticalDueToHorizontal(PlotWithAxes.java:2094)
    at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.computeCommon(PlotWith2DAxes.java:1037)
    at org.eclipse.birt.chart.computation.withaxes.PlotWith2DAxes.compute(PlotWith2DAxes.java:859)
    at org.eclipse.birt.chart.factory.Generator.build(Generator.java:1175)
    at com.etq.reliance.custom.reporting.charter.birt.BirtChartMakerBase.renderChartToImg(BirtChartMakerBase.java:193)