Debugger crash: "Computing hasChildren"

flameout wrote on Sun Oct 22 20:48:43 MEST 2006:
Newbie (to pretty much everything in question here).  Eclipse 3.2.1 build
M20060921-0945, EPIC 0.4.17, ActiveState ActivePerl 5.8.8.819, PadWalker
(via ActiveState PPM) 0.10.  (Tried to get PadWalker 1.0 from CPAN to "nmake"
under XP, but the nmake failed.) 

Trying to get get EPIC Perl debugging working on a moderately complex script
with a number of modules.  The debugger in my configuration does work on
a very simple test script, but always gets an internal error on the script
in question.

The script, which is a production script that we run frequently on an ancient
SunOS configuration in Perl 5.04, appears to start normally and execute
when "Run". (At least, on this new PC port, it exits normally with an early
coded application error.)

The error appears to happen during setup and before the first breakpoint
is reached. Sometimes a message box pops up with the title "Computing hasChildren"
and the message, "An internal error occurred during: "Computing hasChildren".

Other times, a different dialog box pops up indentifying the source of the
error and the Java error:

"An internal error occurred during: "Computing hasChildren".
java.lang.NullPointerException

Google turned up some references to "Computing hasChildren" errors in a
PHP plug-in about 6 months ago, but it appeared to have been fixed.

Would appreciate any suggestions, including whether this should be submitted
as a bug.  Thanks.
flameout wrote on Sun Oct 22 20:50:14 MEST 2006:
PS: Probably shouldn't have called it a crash -- the configuration remains
up, open and functional, with the tasks terminated.  It just isn't debugging
the script.
flameout wrote on Sun Oct 22 20:57:06 MEST 2006:
From the error log:

!SESSION 2006-10-22 13:09:51.875 -----------------------------------------------
eclipse.buildId=M20060921-0945
java.version=1.5.0_09
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.core.jobs 4 2 2006-10-22 13:11:10.640
!MESSAGE An internal error occurred during: "Computing hasChildren".
!STACK 0
java.lang.NullPointerException
	at org.epic.debug.PerlDebugThread.hasStackFrames(PerlDebugThread.java:59)
	at org.eclipse.debug.internal.ui.elements.adapters.ThreadContentAdapter.hasChildren(ThreadContentAdapter.java:27)
	at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter.computeIsContainer(AsynchronousContentAdapter.java:126)
	at org.eclipse.debug.internal.ui.viewers.provisional.AsynchronousContentAdapter$2.run(AsynchronousContentAdapter.java:72)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:58)

jploski wrote on Sun Oct 22 22:08:45 MEST 2006:
It is a bug and you should submit it to the tracker. I am going to commit
a tentative "fix" which will keep the NPE from occuring at this location,
but I do not understand the root cause of the problem. It would be nice
if you could provide the code which triggers it.

It could be a cascading exception with the actual error occuring earlier
in the control flow. The EPIC debugger's exception handling is still pathetic
(it does not abort when it should, does not log all exceptions like it should).
Maybe you can find out more details by looking at the .log with a text editor
and examining stdout of the workbench.

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