Debugger exception (number/size of vars)

mjscott2702 wrote on Tue Jun 26 01:02:51 MEST 2007:
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.(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.(ArrayValue.java:25)


and so on ....
mjscott2702 wrote on Tue Jun 26 01:39:54 MEST 2007:
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
mjscott2702 wrote on Tue Jun 26 01:45:21 MEST 2007:
Seems to be fixed in 0.6.10? Sorry - I should have checked for updates first!

Michael
mjscott2702 wrote on Fri Jun 29 23:47:41 MEST 2007:
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.(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.(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.(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)
jploski wrote on Fri Jun 29 23:57:55 MEST 2007:
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.
mjscott2702 wrote on Sun Jul  1 23:30:01 MEST 2007:
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?
jploski wrote on Sun Jul  1 23:39:04 MEST 2007:
You can configure Automatic Updates in Install/Update preferences.

Note: The above is an archived snapshot of a forum thread. Use the original thread at sf.net to post comments.