NPE when clicking on AudioNode in SceneComposer

Clicking on a AudioNode spartial in the SceneComposer causes a NullPointerException in the current nightly.
See stacktrace bellow.

at org.openide.nodes.Sheet$Set.put(
at com.jme3.gde.core.sceneexplorer.nodes.JmeAudioNode.createSheet(
at org.openide.nodes.AbstractNode.getSheet(
at org.openide.nodes.AbstractNode.getPropertySets(
at com.jme3.gde.core.sceneexplorer.nodes.AbstractSceneExplorerNode.syncSceneData(
at com.jme3.gde.core.scene.NodeSyncAppState.update(
at com.jme3.gde.core.scene.SceneApplication.update(
at com.jme3.system.awt.AwtPanelsContext.updateInThread(
at com.jme3.system.awt.AwtPanelsContext.access$100(
at com.jme3.system.awt.AwtPanelsContext$AwtPanelsListener.update(
at com.jme3.system.lwjgl.LwjglOffscreenBuffer.runLoop(

1 Like

Yep, known issue.

I see - would it be possible for me to check out the source and fix it by myself or is somebody working in this area?

Do you know whats the issue? :slight_smile: Its a missing threadlocal variable. Yes, we intend to make all existing features work until the next release :wink:

No I didn’t know, but I was quite sure that I can find it if I have the source XD But its even better, if somebody else takes care about this;)

Is there someplace where I can see the known issues for the nightly? Would spare me to post already known issues… Or should
I just stop posting issues for the nightly because its WIP anyway?

Btw - Just wanted to say that you all (including the community) doing a great job. I am working with JME for some months now and no
big issues so far!

We don’t track every single little issue in the trackers as mostly theres one developer caring for a certain part of the engine anyway and he knows what still needs to be done. So best just post on the forum if you find something that nobody mentioned yet (forum search). Otherwise there is the issue tracker in googlecode: but as said, its mainly used to track larger scope things or heisen- and schroedinbugs :wink:

I am completely fine with this. Thanks for the information!

@normen mhh not sure that’s the same issue. the threadlocal one was when playing an audioNode, and the NPE was on the audioRenderer.
Also I fixed it :stuck_out_tongue:

This one seems to be when building the property sheet…

@nehon: So maybe this is your “fix”? :wink: Could be its because you mixed the new SceneExplorerProperties with other normal properties. At any instance I’ll look into this among other things before release.

Thanks! Let me know, when its in the nightly, then I can retest it as well.

Hmm, the NPE occurs in:
set.put(makeProperty(obj, Status.class, “getStatus”, “setStatus”, “Status”));
Status.class => AudioNode.Status.class

So maybe because “getStatus” of AudioNode returns AudioSource.Status and not the deprecated
AudioNode.Status and therefore the setter/getter cannot be found.

Edit: Btw - what does Exceptions.printStackTrace(ex) do in a netbeans plugin environment? Is it logged somewhere? If my assumption is correct, changing this line to:
set.put(makeProperty(obj, AudioSource.Status.class, “getStatus”, “setStatus”, “Status”));

should fix this NPE.

1 Like

yep sounds like a fix.

Great! Can you make the fix, or is normen doing it?

Sorry for the maybe silly questions - reading the forums for some time now, but still do not have a clue, who is doing what XD

@TsrKanal said: Sorry for the maybe silly questions - reading the forums for some time now, but still do not have a clue, who is doing what XD
yeah got the same feeling and it's been 3 years that I'm in the core team ;-P.

That’s oss, either he or I will do it eventually :wink: