"Label Job" error in Variables windows while debugging
While stepping through code with the debugger, I switched to the Variables tab. One of the variables was missing and was represented by an empty row. A dialog popped up complaining about an error during "Label Job". Detail box says "java.lang.NullPointerException".
See screenshot. I stepped the debugger a few more times after the initial error.
Eclipse: 3.6.1
Erlide: 0.9.0.201010061109
See screenshot. I stepped the debugger a few more times after the initial error.
Eclipse: 3.6.1
Erlide: 0.9.0.201010061109
Leave a comment
on 2011-01-21 16:24 *
By daniel.goertzen
Hmm, its not letting me attach the screenshot. If anyone wants it, email me.
on 2011-01-21 18:32 *
By Vlad Dumitrescu
Thanks for the report! Could you please attach the logs, from <workspace>/.metedata/.log?
on 2011-01-21 18:40 *
By daniel.goertzen
Here is .metadata/.log
!SESSION 2010-09-14 11:37:39.809 -----------------------------------------------
eclipse.buildId=I20100608-0911
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.cpp.product
!ENTRY org.eclipse.ui 4 4 2010-09-14 11:39:42.930
!MESSAGE Unable to find Action Set: org.eclipse.jdt.debug.ui.JDTDebugActionSet
!ENTRY org.eclipse.ui 4 4 2010-09-14 11:39:42.950
!MESSAGE Unable to find Action Set: com.rational.clearcase.ActionSet
!ENTRY org.eclipse.osgi 2 1 2010-09-14 11:55:03.068
!MESSAGE NLS missing message: ConsoleShowPreferencesAction__run_debug_console in: org.eclipse.debug.internal.ui.views.console.ConsoleMessages
!SESSION 2010-09-14 11:37:39.809 -----------------------------------------------
eclipse.buildId=I20100608-0911
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.cpp.product
Command-line arguments: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.cpp.product
!ENTRY org.eclipse.ui 4 4 2010-09-14 11:39:42.930
!MESSAGE Unable to find Action Set: org.eclipse.jdt.debug.ui.JDTDebugActionSet
!ENTRY org.eclipse.ui 4 4 2010-09-14 11:39:42.950
!MESSAGE Unable to find Action Set: com.rational.clearcase.ActionSet
!ENTRY org.eclipse.osgi 2 1 2010-09-14 11:55:03.068
!MESSAGE NLS missing message: ConsoleShowPreferencesAction__run_debug_console in: org.eclipse.debug.internal.ui.views.console.ConsoleMessages
on 2011-01-21 18:46 *
By Vlad Dumitrescu
Is it really that short? It can't be right....
Please do this: open Eclipse, reproduce the problem and then go to window->preferences->erlang->report problem. Fill in some details, and "send" will create a file that I'd like to look at.
Please do this: open Eclipse, reproduce the problem and then go to window->preferences->erlang->report problem. Fill in some details, and "send" will create a file that I'd like to look at.
on 2011-01-21 18:59 *
By Vlad Dumitrescu
!MESSAGE An internal error occurred during: "Label Job".
!STACK 0
java.lang.NullPointerException
at org.erlide.core.erlang.util.ModelUtils.findPreprocessorDef(ModelUtils.java:135)
at org.erlide.core.erlang.util.ModelUtils.findPreprocessorDef(ModelUtils.java:89)
at org.erlide.runtime.debug.IndexedErlangValue.checkRecord(IndexedErlangValue.java:95)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:137)
at org.erlide.runtime.debug.IndexedErlangValue.getListValueString(IndexedErlangValue.java:175)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:146)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:126)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getValueText(VariableLabelProvider.java:166)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getColumnText(VariableLabelProvider.java:112)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getLabel(VariableLabelProvider.java:92)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.getLabel(ElementLabelProvider.java:312)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLabel(ElementLabelProvider.java:215)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdater.run(ElementLabelProvider.java:160)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.run(ElementLabelProvider.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!STACK 0
java.lang.NullPointerException
at org.erlide.core.erlang.util.ModelUtils.findPreprocessorDef(ModelUtils.java:135)
at org.erlide.core.erlang.util.ModelUtils.findPreprocessorDef(ModelUtils.java:89)
at org.erlide.runtime.debug.IndexedErlangValue.checkRecord(IndexedErlangValue.java:95)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:137)
at org.erlide.runtime.debug.IndexedErlangValue.getListValueString(IndexedErlangValue.java:175)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:146)
at org.erlide.runtime.debug.IndexedErlangValue.getValueString(IndexedErlangValue.java:126)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getValueText(VariableLabelProvider.java:166)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getColumnText(VariableLabelProvider.java:112)
at org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getLabel(VariableLabelProvider.java:92)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.getLabel(ElementLabelProvider.java:312)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLabel(ElementLabelProvider.java:215)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdater.run(ElementLabelProvider.java:160)
at org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.run(ElementLabelProvider.java:74)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
on 2011-01-21 19:04 *
By Vlad Dumitrescu
The related code has been rewritten recently. Are you willing to try the latest beta release (0.9.5)? As with any new release, it might have a few rough edges...
on 2011-01-21 19:24 *
By daniel.goertzen
I updated to 0.9.5 and single step debugging just isn't working for me. I'm going to have to go back to 0.9.0. Sorry.
on 2011-01-21 19:31 *
By Vlad Dumitrescu
That's not good! What could be wrong? It works for me... I will look at it.
Regarding the variables, was there anything special about that value? (I suppose you know what value it should have had, approximately) Very large, or bitstrings, or anything less usually used.
Regarding the variables, was there anything special about that value? (I suppose you know what value it should have had, approximately) Very large, or bitstrings, or anything less usually used.
on 2011-01-21 19:34 *
By daniel.goertzen
I take that back, single stepping in 0.9.5 is working fine now. Must have been operator error.
on 2011-01-21 19:42 *
By daniel.goertzen
The bug is now happening in 0.9.5 too. The term "Resp" is...
[{result, <<1,0,0,0>>}, {data, <<27,187,81,14,83,67,56,62>>}]
When I go back a frame the term appears in the variable list correctly (under the name "Response")
[{result, <<1,0,0,0>>}, {data, <<27,187,81,14,83,67,56,62>>}]
When I go back a frame the term appears in the variable list correctly (under the name "Response")
on 2011-01-21 19:47 *
By Vlad Dumitrescu
Does the source code have a macro there?
The crash is in some code that looks for a macro definition and it is code that we're not proud of. Ticket #611 aims exactly to rework this part of the code.
Is this a big problem for you, so that I try to fix it somehow right away? Or could it wait until next release in 3 weeks?
The crash is in some code that looks for a macro definition and it is code that we're not proud of. Ticket #611 aims exactly to rework this part of the code.
Is this a big problem for you, so that I try to fix it somehow right away? Or could it wait until next release in 3 weeks?
on 2011-01-21 20:07 *
By daniel.goertzen
No macro in that function, but it is using a function that is included from another file. That file is automatically generated and has over 300 clauses.
Excerpts from file srpc_proto.erl:
-include("validate_request").
...
list_to_srpc_response(Req={_Key,Op}, Resp) ->
{RespType,_EncodeHint} = validate_request(Req),
...
Excerpts from file validate_request:
validate_request( {[systeminfo, macaddress], get}) -> {bin,none};
validate_request( {[systeminfo, numChannels], get}) -> {int,none};
validate_request( {[ids, Channel, on], call}) when is_integer(Channel) -> {none,none};
validate_request( {[ids, Channel, off], call}) when is_integer(Channel) -> {none,none};
validate_request( {[ids, Channel, autoconfigure], {call,Duration}}) when is_integer(Channel), is_integer(Duration) -> {none,autoconfigure};
... [300+ lines of this]
validate_request( {[config, account, Uid, gid], get}) when is_integer(Uid) -> {int,none}.
Excerpts from file srpc_proto.erl:
-include("validate_request").
...
list_to_srpc_response(Req={_Key,Op}, Resp) ->
{RespType,_EncodeHint} = validate_request(Req),
...
Excerpts from file validate_request:
validate_request( {[systeminfo, macaddress], get}) -> {bin,none};
validate_request( {[systeminfo, numChannels], get}) -> {int,none};
validate_request( {[ids, Channel, on], call}) when is_integer(Channel) -> {none,none};
validate_request( {[ids, Channel, off], call}) when is_integer(Channel) -> {none,none};
validate_request( {[ids, Channel, autoconfigure], {call,Duration}}) when is_integer(Channel), is_integer(Duration) -> {none,autoconfigure};
... [300+ lines of this]
validate_request( {[config, account, Uid, gid], get}) when is_integer(Uid) -> {int,none}.
on 2011-01-21 20:28 *
By Vlad Dumitrescu
Aha, then I understand what is happening! Unfortunately I don't think I can give you a quick fix.
I will create a new ticket with the more specific issue and close this one. Will add you as watcher, so that you get notified.
I will create a new ticket with the more specific issue and close this one. Will add you as watcher, so that you get notified.
on 2011-01-21 20:32 *
By Vlad Dumitrescu
Status changed from New to Invalid
Status changed from New to Invalid
see #720 instead
on 2011-01-21 20:39 *
By daniel.goertzen
I should add I am in no hurry to have this fixed. Despite the bug I was still able to find and fix my problem and am now moving onto other tasks.
on 2011-01-21 20:45 *
By Vlad Dumitrescu
Ok. Thank you very much for the report!