Chokistream icon indicating copy to clipboard operation
Chokistream copied to clipboard

Trying to connect sometimes yields a false-flag NoRouteToHostException

Open ChainSwordCS opened this issue 1 year ago • 1 comments

As the title says. Sometimes I'll have to try connecting 3 or 4 times before it will successfully connect to the 3DS.

Additionally, I think this only happens when I've just started the 3DS (in the past few minutes), and for the first time trying to connect to the 3DS from Chokistream. It seems that re-connecting to the 3DS, assuming the 3DS has remained powered-on and connected to the network, never yields the issue.

This happens with NTR(-HR), ChirunoMod, and HzMod.

  • I haven't yet tried pinging the 3DS from the PC. It's a bit annoying to test because it's not 100% consistently reproducible. Remind me to do that later.
  • I haven't tried an alternative client to see if the same issue occurs. Remind me to do that later.

Versions/settings

  • Chokistream version = latest nightly
  • OS = Linux Mint
  • 3DS = New 3DS

Here's a video example: (weird format not supported by all players)

https://github.com/user-attachments/assets/3a5150a9-c88a-42f6-9e14-37f3c76da242

And here's the stack trace:

java.net.NoRouteToHostException: No route to host
	at java.base/sun.nio.ch.Net.connect0(Native Method)
	at java.base/sun.nio.ch.Net.connect(Net.java:579)
	at java.base/sun.nio.ch.Net.connect(Net.java:568)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:593)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:633)
	at java.base/java.net.Socket.connect(Socket.java:583)
	at java.base/java.net.Socket.<init>(Socket.java:507)
	at java.base/java.net.Socket.<init>(Socket.java:287)
	at chokistream.HZModClient.<init>(HZModClient.java:52)
	at chokistream.Main.initialize(Main.java:106)
	at chokistream.Main.initializeSwing(Main.java:117)
	at chokistream.SwingGUI$5.actionPerformed(SwingGUI.java:231)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
	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)

ChainSwordCS avatar Oct 11 '24 06:10 ChainSwordCS

Oh, I should mention, this has happened on multiple different wifi networks. It has also happened when my laptop was acting as a wifi hotspot, and the 3DS had already connected to it. Come to think of it, I don't remember if it happened on my other laptop, I'll have to check and make sure.

ChainSwordCS avatar Oct 11 '24 06:10 ChainSwordCS