Some documentation of prior or current issues for reference.
Chatty just randomly closes, apparently the JRE completely crashes.
# # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000007f9c08f22bf, pid=272, tid=14464 # # JRE version: Java(TM) SE Runtime Environment (7.0_45-b18) (build 1.7.0_45-b18) # Java VM: Java HotSpot(TM) 64-Bit Server VM (24.45-b08 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [atig6txx.dll+0x122bf] [..] Stack: [0x000000000f5d0000,0x000000000f6d0000], sp=0x000000000f6c9bc0, free space=998k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [atig6txx.dll+0x122bf] C 0x0000000000000000 Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j sun.awt.Win32GraphicsDevice.getMaxConfigsImpl(I)I+0 j sun.awt.Win32GraphicsDevice.getMaxConfigs(I)I+10 j sun.awt.Win32GraphicsDevice.getConfigurations()[Ljava/awt/GraphicsConfiguration;+69 j javax.swing.ToolTipManager.getDrawingGC(Ljava/awt/Point;)Ljava/awt/GraphicsConfiguration;+36 [..]
Seems to have to do with the graphics driver. Reinstalling/updating the graphics driver may help or using the following commandline parameter, which should disable the calls to the library that cause the error:
-Dsun.awt.nopixfmt=true
For example:
javaw -Dsun.awt.nopixfmt=true -jar "H:\chatty\Chatty.jar" -cd
After some time, Chatty suddenly shows an error if using the Calibri font.
java.lang.ArrayIndexOutOfBoundsException: 168
	at sun.font.ExtendedTextSourceLabel.getCharX(ExtendedTextSourceLabel.java:353)
	at java.awt.font.TextLine$3.computeFunction(TextLine.java:515)
	at java.awt.font.TextLine.applyFunctionAtIndex(TextLine.java:651)
	at java.awt.font.TextLine.getCharXPosition(TextLine.java:668)
	at java.awt.font.TextLine.getCharLinePosition(TextLine.java:678)
	at java.awt.font.TextLayout.buildCache(TextLayout.java:683)
	at java.awt.font.TextLayout.ensureCache(TextLayout.java:655)
	at java.awt.font.TextLayout.getAdvance(TextLayout.java:885)
	at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:510)
	at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:422)
	at javax.swing.text.GlyphPainter1.getBoundedPosition(GlyphPainter1.java:213)
	at javax.swing.text.GlyphView.getBreakWeight(GlyphView.java:722)
	at javax.swing.text.ParagraphView.calculateMinorAxisRequirements(ParagraphView.java:732)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:568)
	at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:903)
	at javax.swing.text.BoxView.checkRequests(BoxView.java:935)
	at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:343)
	at javax.swing.text.BoxView.layout(BoxView.java:708)
	at javax.swing.text.BoxView.setSize(BoxView.java:397)
	at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1714)
	at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1046)
	at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1022)
	at javax.swing.text.JTextComponent.modelToView(JTextComponent.java:1428)
	at chatty.gui.components.ChannelTextPane$ScrollManager.scrollDown(ChannelTextPane.java:1107)
	at chatty.gui.components.ChannelTextPane$ScrollManager.access$200(ChannelTextPane.java:994)
	at chatty.gui.components.ChannelTextPane.printInternal(ChannelTextPane.java:932)
	at chatty.gui.components.ChannelTextPane.print(ChannelTextPane.java:906)
	at chatty.gui.components.ChannelTextPane.printSpecials(ChannelTextPane.java:772)
	at chatty.gui.components.ChannelTextPane.printMessage(ChannelTextPane.java:189)
	at chatty.gui.components.Channel.printMessage(Channel.java:228)
	at chatty.gui.MainGui$15.run(MainGui.java:1498)
java.lang.ArrayIndexOutOfBoundsException: 0
        at sun.font.ExtendedTextSourceLabel.createCharinfo(Unknown Source)
        at sun.font.ExtendedTextSourceLabel.getCharinfo(Unknown Source)
        at sun.font.ExtendedTextSourceLabel.getCharX(Unknown Source)
        at java.awt.font.TextLine$3.computeFunction(Unknown Source)
        at java.awt.font.TextLine.applyFunctionAtIndex(Unknown Source)
        at java.awt.font.TextLine.getCharXPosition(Unknown Source)
        at java.awt.font.TextLine.getCharLinePosition(Unknown Source)
        at java.awt.font.TextLayout.buildCache(Unknown Source)
        at java.awt.font.TextLayout.ensureCache(Unknown Source)
        at java.awt.font.TextLayout.getAdvance(Unknown Source)
        at sun.font.FontDesignMetrics.charsWidth(Unknown Source)
        at javax.swing.text.Utilities.getTabbedTextWidth(Unknown Source)
Hopefully this will be fixed in future Java updates, but for now just don't use a Calibri font.
Twitch Emoticons appear wrong when Chatty is displayed on a Retina display. Instead of the Emoticon images, the 404 image the Twitch CDN redirects to is shown.
Apparently in newer Java versions Toolkit.getImage() tries to find a higher
resolution image by adding @2 to the file name, which the Twitch CDN actually
responds to by redirecting to an error image, which is then displayed.
Use Toolkit.createImage() and create an ImageIcon with the created image.