While single-stepping through my script, I eventually encounter an exception - the variables window turns gray, the variables disappear and are replaced with the following error message:
"An error occurred while dumping array content; contents of the Variables view may become invalid"
The script is fairly complex, with a large number of multi-dimensional hashes of hashes of arrays, so it may be that the number of memory locations is just getting too high?
I am using Eclipse 3.2.2 on Windows XP, with EPIC 0.6.9 and PadWalker 1.0, with ActivePerl 5.8.8, with Sun JDK 1.5.0_11.
The following is an excerpt from the log file, with the exception details. I am going to try out PadWalker 1.5 and the latest JRE, to see if they fix the issue.
Thanks!
!ENTRY org.epic.debug 4 0 2007-06-25 14:38:58.608
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 122
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.ArrayValue.parseArrayContent(ArrayValue.java:49)
at org.epic.debug.db.ArrayValue.<init>(ArrayValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:122)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
!ENTRY org.eclipse.debug.ui 4 120 2007-06-25 14:38:58.733
!MESSAGE Error logged from Debug UI:
!STACK 1
org.eclipse.debug.core.DebugException: An error occurred while dumping array content; contents of the Variables view may become invalid
at org.epic.debug.db.ArrayValue.parseArrayContent(ArrayValue.java:54)
at org.epic.debug.db.ArrayValue.<init>(ArrayValue.java:25)
and so on ....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I upgraded to PadWalker 1.5 and forced JRE 1.6 with 512M of heap size - problem still exists. The issue only seems to occur when scrolling within the variables window.
The problem doesn't seem to be fixed after all - just takes a lot longer to appear. I now have the following exception in the log, and I get the same error message as before in the variables window.
!ENTRY org.epic.debug 4 0 2007-06-29 14:38:01.531
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 1081
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:49)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
!ENTRY org.eclipse.debug.ui 4 120 2007-06-29 14:38:01.843
!MESSAGE Error logged from Debug UI:
!STACK 1
org.eclipse.debug.core.DebugException: An error occurred while dumping array content; contents of the Variables view may become invalid
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:54)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
org.eclipse.debug.core.DebugException[0]: java.lang.StringIndexOutOfBoundsException: String index out of range: 1081
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:49)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Which version of EPIC? There was a related fix in 0.6.11. If it is 0.6.11, enable the debugger console and post its contents after such an exception has occurred.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
While single-stepping through my script, I eventually encounter an exception - the variables window turns gray, the variables disappear and are replaced with the following error message:
"An error occurred while dumping array content; contents of the Variables view may become invalid"
The script is fairly complex, with a large number of multi-dimensional hashes of hashes of arrays, so it may be that the number of memory locations is just getting too high?
I am using Eclipse 3.2.2 on Windows XP, with EPIC 0.6.9 and PadWalker 1.0, with ActivePerl 5.8.8, with Sun JDK 1.5.0_11.
The following is an excerpt from the log file, with the exception details. I am going to try out PadWalker 1.5 and the latest JRE, to see if they fix the issue.
Thanks!
!ENTRY org.epic.debug 4 0 2007-06-25 14:38:58.608
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 122
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.ArrayValue.parseArrayContent(ArrayValue.java:49)
at org.epic.debug.db.ArrayValue.<init>(ArrayValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:122)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
!ENTRY org.eclipse.debug.ui 4 120 2007-06-25 14:38:58.733
!MESSAGE Error logged from Debug UI:
!STACK 1
org.eclipse.debug.core.DebugException: An error occurred while dumping array content; contents of the Variables view may become invalid
at org.epic.debug.db.ArrayValue.parseArrayContent(ArrayValue.java:54)
at org.epic.debug.db.ArrayValue.<init>(ArrayValue.java:25)
and so on ....
I upgraded to PadWalker 1.5 and forced JRE 1.6 with 512M of heap size - problem still exists. The issue only seems to occur when scrolling within the variables window.
eclipse.exe -vm "C:\Program Files\Java\jre1.6.0_01\bin\javaw" -vmargs -Xmx512M
Seems to be fixed in 0.6.10? Sorry - I should have checked for updates first!
Michael
The problem doesn't seem to be fixed after all - just takes a lot longer to appear. I now have the following exception in the log, and I get the same error message as before in the variables window.
!ENTRY org.epic.debug 4 0 2007-06-29 14:38:01.531
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 1081
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:49)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
!ENTRY org.eclipse.debug.ui 4 120 2007-06-29 14:38:01.843
!MESSAGE Error logged from Debug UI:
!STACK 1
org.eclipse.debug.core.DebugException: An error occurred while dumping array content; contents of the Variables view may become invalid
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:54)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
org.eclipse.debug.core.DebugException[0]: java.lang.StringIndexOutOfBoundsException: String index out of range: 1081
at java.lang.String.charAt(Unknown Source)
at org.epic.debug.db.DumpedEntityReader.token(DumpedEntityReader.java:46)
at org.epic.debug.db.DumpedEntityReader.nextEntity(DumpedEntityReader.java:33)
at org.epic.debug.db.HashValue.parseHashContent(HashValue.java:49)
at org.epic.debug.db.HashValue.<init>(HashValue.java:25)
at org.epic.debug.db.PerlVariable.getValue(PerlVariable.java:118)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getVariableText(DefaultLabelProvider.java:333)
at org.eclipse.debug.internal.ui.DefaultLabelProvider.getText(DefaultLabelProvider.java:176)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getDefaultText(LazyModelPresentation.java:147)
at org.eclipse.debug.internal.ui.LazyModelPresentation.getText(LazyModelPresentation.java:187)
at org.eclipse.debug.internal.ui.DelegatingModelPresentation.getText(DelegatingModelPresentation.java:162)
at org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getLabel(DebugElementHelper.java:84)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.getLabels(AsynchronousDebugLabelAdapter.java:79)
at org.eclipse.debug.internal.ui.elements.adapters.VariableLabelAdapter.getLabels(VariableLabelAdapter.java:51)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter.computeLabels(AsynchronousLabelAdapter.java:94)
at org.eclipse.debug.internal.ui.elements.adapters.AsynchronousDebugLabelAdapter.computeLabels(AsynchronousDebugLabelAdapter.java:66)
at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousLabelAdapter$2.run(AsynchronousLabelAdapter.java:51)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)
Which version of EPIC? There was a related fix in 0.6.11. If it is 0.6.11, enable the debugger console and post its contents after such an exception has occurred.
It was in version 0.6.10 - 0.6.11 does seem to fix it. Thanks!
Apart from checking the EPIC Updates site via Eclipse's update manager, is there any other way to get notification that a new version is available?
You can configure Automatic Updates in Install/Update preferences.