Menu

#39 Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError

0.5
closed-fixed
nobody
None
5
2024-06-14
2024-06-13
E. B.
No

This is using https://rakudave.synology.me/jnetmap/jnetmap-0.5.6-728_all.deb on linux Mint 21.3
nd when I ask java --version I am told:

openjdk 11.0.23 2024-04-16 LTS
OpenJDK Runtime Environment Zulu11.72+19-CA (build 11.0.23+9-LTS)
OpenJDK 64-Bit Server VM Zulu11.72+19-CA (build 11.0.23+9-LTS, mixed mode)

bug: the UI locks up when clicking on some of the built-in icons, but not when using my own icons (all in png format) .

using java executable in $PATH
java version 11
16:52:18 INFO: User directory: /home/user/.jNetMap
16:52:18 INFO: Loading preferences
16:52:18 INFO: Loading language: English
16:52:18 INFO: Loading icon-theme: Elementary
16:52:18 INFO: Loading /icons/Elementary
16:52:18 INFO: Loading device-theme: /devices/cisco
16:52:18 INFO: Loading /devices/cisco
16:52:19 INFO: Loading GUI
16:52:29 INFO: Opening '120624'
16:52:30 INFO: Ready

I now click on the map's various device icons which I have generated ...all OK, log files reflect the screen actions, this bug file remains at the line above.

However, when I click on one of the built-in icons( e.g. "switch") which comes as part of jnetmap, the following happens:

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
[there are 1024 o these lines]

clicking on any icons (built-in, or ones I have added) from now on: each mouse click generates this following burst of errors and I cannot click on the UI's tabs to choose log or edit or notes or info, nor the menu headers in the tool bar. The grey "scanning" activity bar, which should trigger every 5 minutes, is permanently set to show about 95% of its progress and never goes away.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at java.desktop/javax.swing.SizeRequirements.calculateAlignedPositions(SizeRequirements.java:463)
at java.desktop/javax.swing.BoxLayout.layoutContainer(BoxLayout.java:431)
at java.desktop/java.awt.Container.layout(Container.java:1537)
at java.desktop/java.awt.Container.doLayout(Container.java:1526)
at java.desktop/java.awt.Container.validateTree(Container.java:1722)
at java.desktop/java.awt.Container.validateTree(Container.java:1731)
at java.desktop/java.awt.Container.validateTree(Container.java:1731)
at java.desktop/java.awt.Container.validateTree(Container.java:1731)
at java.desktop/java.awt.Container.validateTree(Container.java:1731)
at java.desktop/java.awt.Container.validateTree(Container.java:1731)
at java.desktop/java.awt.Container.validate(Container.java:1657)
at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:745)
at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:742)
at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1889)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

I then get as many of these blocks shown above as mouse clicks until I kill the process (I m running as user $jnetmap or $jnetmap -o)

Discussion

  • E. B.

    E. B. - 2024-06-14

    further experimenting: I replaced the "built-in" icons with ones of my own and I get a different bug report:
    Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at ch.rakudave.jnetmap.model.IF.TransparentIF.getLatency(TransparentIF.java:149)
    (there are again 1024 of these "at ch.rakudave" lines)

    The above is repeated, and then I see

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.desktop/javax.swing.SizeRequirements.calculateAlignedPositions(SizeRequirements.java:463)
    at java.desktop/javax.swing.BoxLayout.layoutContainer(BoxLayout.java:431)
    at java.desktop/java.awt.Container.layout(Container.java:1537)
    at java.desktop/java.awt.Container.doLayout(Container.java:1526)
    at java.desktop/java.awt.Container.validateTree(Container.java:1722)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validate(Container.java:1657)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:745)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:742)
    at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1889)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

    which seems to occur for every mouse click from now on
    
     
  • rakudave

    rakudave - 2024-06-14
    • status: open --> pending
     
  • rakudave

    rakudave - 2024-06-14

    Looking at the stack trace, I'm surprised that this hasn't bitten anyone before. It's a logic issue on transparent interfaces (i.e. mostly on switches), regardless of the icon. The errors afterwards are probably just side-effects. Fixed in theory in 0.5.6-729 - can you try that?

     
  • E. B.

    E. B. - 2024-06-14

    It's fixed!

    All I see in the terminal now is the correct sort of messaging, e.g.
    jnetmap -o
    using java executable in $PATH
    java version 11
    19:04:33 INFO: User directory: /home/user/.jNetMap
    19:04:33 INFO: Loading preferences
    19:04:33 INFO: Loading language: English
    19:04:33 INFO: Loading icon-theme: Elementary
    19:04:33 INFO: Loading /icons/Elementary
    19:04:33 INFO: Loading device-theme: /devices/cisco
    19:04:33 INFO: Loading /devices/cisco
    19:04:34 INFO: Loading GUI
    19:04:42 INFO: Opening '120624'
    19:04:43 INFO: Ready

    Excellent work and thanks for doing it so quickly!

     
  • rakudave

    rakudave - 2024-06-14
    • status: pending --> closed-fixed
     

Log in to post a comment.