I encountered the error message (stack trace attached) on compiling my program in Dr.Java. Happens when I fix a couple of errors and attempt to recompile.
java.lang.ArrayIndexOutOfBoundsException: 28
at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:492)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:381)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:302)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:286)
at javax.swing.text.PlainView.viewToModel(PlainView.java:403)
at javax.swing.plaf.basic.BasicTextUI$RootView.viewToModel(BasicTextUI.java:1540)
at javax.swing.plaf.basic.BasicTextUI.viewToModel(BasicTextUI.java:1089)
at javax.swing.text.DefaultCaret.positionCaret(DefaultCaret.java:292)
at javax.swing.text.DefaultCaret.adjustCaret(DefaultCaret.java:497)
at javax.swing.text.DefaultCaret.adjustCaretAndFocus(DefaultCaret.java:485)
at javax.swing.text.DefaultCaret.mousePressed(DefaultCaret.java:475)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
at java.awt.Component.processMouseEvent(Component.java:6260)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
System Properties:
DrJava Version drjava-20091021-r5122
DrJava Build Time 20091021-0052
Used memory: about 32.59 megabytes
Free memory: about 10.71 megabytes
Total memory: about 43.30 megabytes
Total memory can expand to: about 63.56 megabytes
Number of processors/cores: 2
Compiler Discovery Log:
From config: not set
From runtime: invalid JDK library 6.0_15
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15
Dir added: /usr/lib/jvm
Dir not added: /C:/Program Files/Java
Dir not added: /C:/Program Files
Dir not added: /C:/Java
Dir not added: /C:
Dir not added: /System/Library/Frameworks/JavaVM.framework/Versions
Dir not added: /usr/java
Dir not added: /usr/j2se
Dir added: /usr
Dir not added: /usr/local/java
Dir not added: /usr/local/j2se
Dir added: /usr/local
Dir added: /usr/lib/jvm
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15
Dir not added: /usr/lib/jvm/java-1.5.0-sun
Dir not added: /usr/lib/jvm/java-6-openjdk
Dir not added: /home/javaplt/java/Linux-i686
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre/javaws/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre/javaws/Classes/classes.jar
File added: /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/Classes/classes.jar
File added: /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/Classes/classes.jar
File not added: /C:/Program Files/JavaMint/langtools/dist/lib/classes.jar
File not added: /C:/Program Files/JavaMint/langtools/dist/lib/tools.jar
File not added: /usr/local/soylatte/lib/classes.jar
File not added: /usr/local/soylatte/lib/tools.jar
File not added: /usr/local/JavaMint/langtools/dist/lib/classes.jar
File not added: /usr/local/JavaMint/langtools/dist/lib/tools.jar
MINT_HOME not set
File added: <anonymized user.home>/Desktop/drjava-20091021-r5122.jar
Result:
Found library: JDK library 6.0_15 at /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar, boot classpath: [/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/resources.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/javaws.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/charsets.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/rt.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/deploy.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jsse.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jce.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/plugin.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/management-agent.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/alt-rt.jar]
From search: JDK library 6.0_15 at /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar, boot classpath: [/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/resources.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/javaws.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/charsets.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/rt.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/deploy.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jsse.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jce.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/plugin.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/management-agent.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/alt-rt.jar]
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Stack trace
A new JVM release that reportedly fixes this bug has just become available at http://java.sun.com/javase/downloads/widget/jdk6.jsp. Download Java 6 Update 18 or newer and let us know if you solves your problem
Duplicate of 2831821: Caret updating is broken
https://sourceforge.net/tracker/?func=detail&atid=438935&aid=2831821&group_id=44253
This is a documented bug in Java 6 (not in DrJava), which is supposed be fixed very soon in a new JVM release.
See http://bugs.sun.com/view_bug.do?bug_id=6828938 and
http://bugs.sun.com/view_bug.do?bug_id=6857057.
In our experience, it does not adversely affect the behavior of Drjava so I ignore it. It happens often on Linux with the Plastic look-and-feel.
java.lang.ArrayIndexOutOfBoundsException: 28
at sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:492)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:381)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:302)
at javax.swing.text.Utilities.getTabbedTextOffset(Utilities.java:286)
at javax.swing.text.PlainView.viewToModel(PlainView.java:403)
at javax.swing.plaf.basic.BasicTextUI$RootView.viewToModel(BasicTextUI.java:1540)
at javax.swing.plaf.basic.BasicTextUI.viewToModel(BasicTextUI.java:1089)
at javax.swing.text.DefaultCaret.positionCaret(DefaultCaret.java:292)
at javax.swing.text.DefaultCaret.adjustCaret(DefaultCaret.java:497)
at javax.swing.text.DefaultCaret.adjustCaretAndFocus(DefaultCaret.java:485)
at javax.swing.text.DefaultCaret.mousePressed(DefaultCaret.java:475)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:262)
at java.awt.Component.processMouseEvent(Component.java:6260)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4235)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
System Properties:
DrJava Version drjava-20091021-r5122
DrJava Build Time 20091021-0052
drjava.debug.port = 32909
java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386
java.vm.version = 14.1-b02
java.vm.vendor = Sun Microsystems Inc.
java.vendor.url = http://java.sun.com/
path.separator = :
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
sun.java.launcher = SUN_STANDARD
user.country = IN
sun.os.patch.level = unknown
java.vm.specification.name = Java Virtual Machine Specification
user.dir = <anonymized user.home>
java.runtime.version = 1.6.0_15-b03
java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment
java.endorsed.dirs = /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/endorsed
os.arch = i386
java.io.tmpdir = /tmp
line.separator = "\u000a"
java.vm.specification.vendor = Sun Microsystems Inc.
os.name = Linux
sun.jnu.encoding = UTF-8
java.library.path = /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib
java.specification.name = Java Platform API Specification
java.class.version = 50.0
sun.management.compiler = HotSpot Client Compiler
os.version = 2.6.31-14-generic
user.home = <anonymized user.home>
user.timezone = Asia/Calcutta
java.awt.printerjob = sun.print.PSPrinterJob
file.encoding = UTF-8
java.specification.version = 1.6
java.class.path = <anonymized user.home>/Desktop/drjava-20091021-r5122.jar
user.name = <anonymized user.name>
java.vm.specification.version = 1.0
java.home = /usr/lib/jvm/java-6-sun-1.6.0.15/jre
sun.arch.data.model = 32
user.language = en
java.specification.vendor = Sun Microsystems Inc.
java.vm.info = mixed mode, sharing
java.version = 1.6.0_15
java.ext.dirs = /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path = /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.15/jre/classes
java.vendor = Sun Microsystems Inc.
file.separator = /
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
java.rmi.server.hostname = 127.0.0.1
sun.desktop = gnome
sun.cpu.isalist =
#DrJava configuration file
#Wed Feb 03 15:37:15 IST 2010
lineenum.enabled = true
key.delete.next = [shift DELETE]
key.delete.previous = [shift BACK_SPACE]
save.before.compile = true
recent.files = [<anonymized user.home>/ex2/Mobile.java,<anonymized user.home>/ex2/Camera.java,<anonymized user.home>/ex2/BookFind.java,<anonymized user.home>/ex2/Faculty.java,<anonymized user.home>/ex2/StudentContact.java]
window.height = 708
window.width = 1360
window.x = 3
window.y = 29
window.state = 2
last.dir = <anonymized user.home>/ex2/AmalsCircle.java
last.interactions.dir = <anonymized user.home>/ex2
tabbedpanes.state = 683 384 700 400
new.version.notification.last = 1265002473427
drjava.survey.notification.last = 1265101066302
drjava.survey.result.last = http://www.drjava.org/submit-usage.php?rev=5122&os.name=Linux&os.version=2.6.31-14-generic&java.version=1.6.0_15&java.vendor=Sun%20Microsystems%20Inc.
Used memory: about 32.59 megabytes
Free memory: about 10.71 megabytes
Total memory: about 43.30 megabytes
Total memory can expand to: about 63.56 megabytes
Number of processors/cores: 2
Compiler Discovery Log:
From config: not set
From runtime: invalid JDK library 6.0_15
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15
Dir added: /usr/lib/jvm
Dir not added: /C:/Program Files/Java
Dir not added: /C:/Program Files
Dir not added: /C:/Java
Dir not added: /C:
Dir not added: /System/Library/Frameworks/JavaVM.framework/Versions
Dir not added: /usr/java
Dir not added: /usr/j2se
Dir added: /usr
Dir not added: /usr/local/java
Dir not added: /usr/local/j2se
Dir added: /usr/local
Dir added: /usr/lib/jvm
Dir added: /usr/lib/jvm/java-6-sun-1.6.0.15
Dir not added: /usr/lib/jvm/java-1.5.0-sun
Dir not added: /usr/lib/jvm/java-6-openjdk
Dir not added: /home/javaplt/java/Linux-i686
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre/javaws/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/jre/javaws/Classes/classes.jar
File added: /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/Classes/classes.jar
File added: /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar
File not added: /usr/lib/jvm/java-6-sun-1.6.0.15/Classes/classes.jar
File not added: /C:/Program Files/JavaMint/langtools/dist/lib/classes.jar
File not added: /C:/Program Files/JavaMint/langtools/dist/lib/tools.jar
File not added: /usr/local/soylatte/lib/classes.jar
File not added: /usr/local/soylatte/lib/tools.jar
File not added: /usr/local/JavaMint/langtools/dist/lib/classes.jar
File not added: /usr/local/JavaMint/langtools/dist/lib/tools.jar
MINT_HOME not set
File added: <anonymized user.home>/Desktop/drjava-20091021-r5122.jar
Result:
Found library: JDK library 6.0_15 at /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar, boot classpath: [/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/resources.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/javaws.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/charsets.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/rt.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/deploy.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jsse.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jce.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/plugin.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/management-agent.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/alt-rt.jar]
From search: JDK library 6.0_15 at /usr/lib/jvm/java-6-sun-1.6.0.15/lib/tools.jar, boot classpath: [/usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/resources.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/javaws.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/charsets.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/rt.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/deploy.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jsse.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/jce.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/plugin.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/management-agent.jar, /usr/lib/jvm/java-6-sun-1.6.0.15/jre/lib/alt-rt.jar]