Skip to content

Deadlock in BitmapEncoder #582

@flaviolenz

Description

@flaviolenz

I got a CPU running at 100% for about 2hours.
A tip from JStack showed this process not ending, which might be the cause:
(it was frozen in the same place during all this period)

"getGraficoGrupos-U_pedro-E_Açaí-90" #43 daemon prio=5 os_prio=0 tid=0x00007f71fc00b000 nid=0x12d1 runnable [0x00007f71f11f9000]
   java.lang.Thread.State: RUNNABLE
	at sun.font.SunLayoutEngine.nativeLayout(Native Method)
	at sun.font.SunLayoutEngine.layout(SunLayoutEngine.java:187)
	at sun.font.GlyphLayout$EngineRecord.layout(GlyphLayout.java:685)
	at sun.font.GlyphLayout.layout(GlyphLayout.java:466)
	at sun.font.ExtendedTextSourceLabel.createGV(ExtendedTextSourceLabel.java:329)
	at sun.font.ExtendedTextSourceLabel.getGV(ExtendedTextSourceLabel.java:315)
	at sun.font.ExtendedTextSourceLabel.createLogicalBounds(ExtendedTextSourceLabel.java:225)
	at sun.font.ExtendedTextSourceLabel.getAdvance(ExtendedTextSourceLabel.java:134)
	at java.awt.font.TextLine.init(TextLine.java:281)
	at java.awt.font.TextLine.<init>(TextLine.java:129)
	at java.awt.font.TextLine.fastCreateTextLine(TextLine.java:983)
	at java.awt.font.TextLayout.fastInit(TextLayout.java:612)
	at java.awt.font.TextLayout.<init>(TextLayout.java:393)
	at org.knowm.xchart.internal.chartpart.AxisTickCalculator_.willLabelsFitInTickSpaceHint(AxisTickCalculator_.java:144)
	at org.knowm.xchart.internal.chartpart.AxisTickCalculator_.calculateForEquallySpacedAxisValues(AxisTickCalculator_.java:407)
	at org.knowm.xchart.internal.chartpart.AxisTickCalculator_.calculate(AxisTickCalculator_.java:205)
	at org.knowm.xchart.internal.chartpart.AxisTickCalculator_Number.<init>(AxisTickCalculator_Number.java:47)
	at org.knowm.xchart.internal.chartpart.Axis.getAxisTickCalculator(Axis.java:572)
	at org.knowm.xchart.internal.chartpart.Axis.getYAxisWidthHint(Axis.java:349)
	at org.knowm.xchart.internal.chartpart.Axis.preparePaint(Axis.java:159)
	at org.knowm.xchart.internal.chartpart.AxisPair.paint(AxisPair.java:124)
	at org.knowm.xchart.CategoryChart.paint(CategoryChart.java:308)
	at org.knowm.xchart.BitmapEncoder.getBufferedImage(BitmapEncoder.java:281)
	at org.knowm.xchart.BitmapEncoder.getBitmapBytes(BitmapEncoder.java:264)
	at contahub.cmds.ChartCmd.getImgGraficoGrupos(ChartCmd.java:1468)

my code in line 1468 is nothing strange:

      CategoryChart chart = 
               new CategoryChartBuilder()
...  BUILD THE CHART
      byte[] bytes = BitmapEncoder.getBitmapBytes(chart, BitmapFormat.PNG);

I could not repeat the error.

Any Clue?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions