Error displaying variables

dkasak wrote on Fri Jun 27 06:59:36 MEST 2008:
I'm using Eclipse-3.3.2 and EPIC-0.6.24 from the 'testing' update URL. I
can debug apps, but if I display the variables view, I get an error very
quickly. The first line of code ( other than 'use' lines sets the current
path ):

my $current_dir = cwd;

This displays correctly in the variables view. The next line initializes
and empty hash:

my $forms = {};

After stepping through this line, the variables view shows an 'empty' variable,
with no name or value, and it's selected. Also, in the console that I started
Eclipse from, I get:

!ENTRY org.epic.debug **Error** 0 Jun 27, 2008 14:23:05.377
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 262
   at java.lang.String.charAt(libgcj.so.81)
   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.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
   at org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
   at org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.StringIndexOutOfBoundsException: String index out of range: 262
   at java.lang.String.charAt(libgcj.so.81)
   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.model.elements.VariableContentProvider.hasChildren(VariableContentProvider.java:62)
   at org.eclipse.debug.internal.ui.model.elements.ElementContentProvider.updateHasChildren(ElementContentProvider.java:223)
   at org.eclipse.debug.internal.ui.model.elements.ElementContentProvider$3.run(ElementContentProvider.java:200)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.epic.debug **Error** 0 Jun 27, 2008 14:23:05.386
!MESSAGE Debug Error
!STACK 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 256
   at java.lang.String.charAt(libgcj.so.81)
   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.model.elements.VariableLabelProvider.getLabel(VariableLabelProvider.java:92)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLabel(ElementLabelProvider.java:201)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdater.run(ElementLabelProvider.java:151)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.run(ElementLabelProvider.java:70)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
java.lang.StringIndexOutOfBoundsException: String index out of range: 256
   at java.lang.String.charAt(libgcj.so.81)
   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.model.elements.VariableLabelProvider.getLabel(VariableLabelProvider.java:92)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLabel(ElementLabelProvider.java:201)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdater.run(ElementLabelProvider.java:151)
   at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.run(ElementLabelProvider.java:70)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

The next line sets up another hash:

my $globals = {
    currentdir  => $current_dir,
    gladedir    => $current_dir . "/glade",
    forms       => \$forms
};

Stepping through this line produces an error dialog:

An IOException occurred while executing debugger command
could not match re.IP_POS in {syntax error at (eval 24)[/home/dkasak/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628]
line 10, at EOF
Missing right curly or square bracket at (eval 24)[/home/dkasak/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628]
line 12, at end of line

  DB<11> Unmatched right curly bracket at (eval 25)[/home/dkasak/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628]
line 9, at end of line
syntax error at (eval 25)[/home/dkasak/workspace/.metadata/.plugins/org.epic.debug/perl5db.pl:628]
line 9, near ";
}"}

At this point debugging is completely broken ( can't step through code any
more ).

Any ideas?

Dan
jploski wrote on Fri Jun 27 16:55:04 MEST 2008:
Switch to Sun's version of Java (from your current gcj) and see if the problem
is resolved then.
dkasak wrote on Mon Jun 30 02:44:13 MEST 2008:
That's it!

Thanks a lot Jan. You've fixed every one of my problems very promptly.

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