Matlab rapports “Exception in thread ”AWT-EventQueue-0“ java.lang.NullPointerException”

Hi interroger sur une erreur java qui se produit à plusieurs reprises dans matlab. Il se produit généralement lorsque matlab est à faire à du lourd avec java. Cela peut par exemple être maintenant la touche ctrl+z ou ctrl+y.

Je l'ai fait par erreur effacer le message d'erreur avant que j'ai copié, mais je pense que je peux passer le cœur du problème de toute façon.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
...
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Personne ne sait pourquoi cette erreur se produit? J'ai trouvé quelques informations sur ce à partir de matlab c2007, et ce à cause de qui java swing est thread dangereux et matlab manque de soutien pour assurer la sécurité des threads. Cependant, qui est censé avoir été corrigé dans matlab r2008b. Alors, pourquoi dois-je faire maintenant?

MODIFIER
On a la trace de la pile:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.netbeans.editor.BaseDocument.notifyUnmodify(BaseDocument.java:1465)
at org.netbeans.editor.BaseDocument.notifyModifyCheckEnd(BaseDocument.java:816)
at org.netbeans.editor.BaseDocumentEvent.redo(BaseDocumentEvent.java:336)
at javax.swing.undo.UndoManager.redoTo(Unknown Source)
at javax.swing.undo.UndoManager.redo(Unknown Source)
at com.mathworks.mwswing.undo.MUndoManager.redo(MUndoManager.java:255)
at org.netbeans.editor.ActionFactory$RedoAction.actionPerformed(ActionFactory.java:767)
at org.netbeans.editor.BaseAction.actionPerformed(BaseAction.java:259)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at com.mathworks.widgets.SyntaxTextPaneBase.processKeyEvent(SyntaxTextPaneBase.java:1187)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
L'exception est vous dire qu'un objet est null lorsque vous appelez une méthode sur elle, mais sans la trace de la pile complète personne ne peut vous dire quel est l'objet qui est qui. Veuillez inclure toute trace de la pile. Vous pouvez trouver une liste des causes typiques de ici: nullpointerexception
Je crains que tout cela est impossible, l'erreur n'est pas vraiment reproduit. Il se produit à quelques reprises seulement, mais peut encore être vraiment ennuyeux. Le code appartient à la base de matlab et de la source de cose n'est pas disponible. En fait, j'ai obtenu l'erreur pour les différents objets. Les événements de la souris, matlab gui... je pense que le problème est dû à un stade précoce. Probablement en raison de certains corrompus de l'objet ou du fil de départ avant qu'il est censé le faire. Cependant, je comprends, si vous avez des problèmes lorsque vous ne pouvez pas voir la totalité de la pile.
Eh bien, dans ce cas, il n'y a pas beaucoup que nous pouvons faire à ce sujet, est-il? Problèmes de Threading fait sens pour moi, compte tenu de la Event Dispatch Thread est susceptible de causer des troubles. J'avais commencer à regarder matlabs forums si il y a un bug connu causant un comportement aléatoire comme vous le décrivez.
Ok j'ai réussi à force de l'erreur à nouveau. Voir modifier. Cependant, le lien de La commentaire précédent peut-être donné la réponse. L'erreur se produit dans la plupart des cas, lorsque matlab doit faire des travaux lourds, par exemple, maintenez la touche ctrl+y (refaire) après une longue ctrl+z (annuler) pour de longs morceaux de code. Ces tâches peuvent être à long ted, lorsque pompée rapidement. Je ne suis pas sûr. Et sur la numérisation de matlab forums: il y a beaucoup de questions à ce sujet, mais précieusement quelques réponses.
Veuillez voir ma réponse. Ce n'est pas un définitive réponse, mais une explication raisonnable à votre problème (je pense). Malheureusement, il semble y avoir aucune solution à ce problème, au moins aussi loin que je peux voir. Bonne chance tout de même! 🙂

OriginalL'auteur patrik | 2014-07-29