News:

Precision Simulator update 10.173 (24 February 2024) is now available.
Navburo update 13 (23 November 2022) is now available.
NG FMC and More is released.

Main Menu

Boost server stopping after client disconnects

Started by asboyd, Tue, 17 May 2022 07:13

asboyd

Hi Hardy,
I have just noticed that the Boost server seems to stop after a client using the boost server disconnects.
I tried it with both the new bridge and widePSX. Both can connect to the main and boost servers, but as soon as you disconnect the bridge the boost server stops and you have to manually restart it. I have not noticed this before.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

Hardy Heinlin

You need to wait 2 seconds. The boost server will automatically restart after 2 seconds.

Otherwise, whenever you see a problem, please check Aerowinx/Logs/errors.txt.


Regards,

|-|ardy

asboyd

Hi Hardy,
I managed to find out how to get the boost server to crash and not restart. If I start WidePSX (without MSFS running) the boost tab in the instructor/network screen shows the client connect and then disconnect, the boost server restarts and shows listening.
If I close and start WidePSX again (without MSFS running) the client stops and this time the boost server stops and sits with the start button showing.
the error log shows:
[Aerowinx Precision Simulator - Exceptions]

java.net.SocketException: Connection reset
   at java.net.SocketInputStream.read(Unknown Source)
   at java.net.SocketInputStream.read(Unknown Source)
   at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
   at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
   at sun.nio.cs.StreamDecoder.read(Unknown Source)
   at java.io.InputStreamReader.read(Unknown Source)
   at java.io.BufferedReader.fill(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at NetServerThread.run(NetServerThread.java:210)
java.net.SocketException: Connection reset
   at java.net.SocketInputStream.read(Unknown Source)
   at java.net.SocketInputStream.read(Unknown Source)
   at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
   at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
   at sun.nio.cs.StreamDecoder.read(Unknown Source)
   at java.io.InputStreamReader.read(Unknown Source)
   at java.io.BufferedReader.fill(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at NetServerThread.run(NetServerThread.java:210)

I am having the same issue if I try to run PSXMSFS a second time after it fails to connect to MSFS.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

Hardy Heinlin

Hi Alex.

Quote from: asboyd on Thu, 19 May 2022 02:58
If I start WidePSX (without MSFS running) the boost tab in the instructor/network screen shows the client connect and then disconnect ...

PSX shouldn't disconnect the boost client without a reason. So there must be a reason. Anyway, it seems the problem is not the missing restart but the initial disconnection. Unfortunately, I don't know what's happening in your network. Your log just says "Unknown Source" ...


Regards,

|-|ardy

asboyd

Will try to get a log from WidePSX as it is on the same machine as my PSX, therefore the network should not be part of the issue.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

asboyd

OK...
So I tried starting PSX on my Instructor machine (the one that runs main server and boost)
I then started WidePSX and clicked connect. I got connection to both main and boost.
As MSFS was not running I did not get connection for FS. I then stopped WidePSX by exiting the program.

PSX indicated the boost server had a loss of client and went back to listening for client.
I then ran WidePSX again and the same thing happened. both Main and Boost connected.

When I closed WidePSX this time the Boost server stopped and indicated loss of client was last action.
The Boost server "Start" button appeared.

When I attempted to run WidePSX again I failed to connect to the boost server as it wa not running .
Screen shot of both here:



I left 1 minute between each start of WidePSX to ensure PSX had enough time to restart if it was going to.

The error log is almost exactly the same as last time

[Aerowinx Precision Simulator - Exceptions]

java.net.SocketException: Connection reset
   at java.net.SocketInputStream.read(Unknown Source)
   at java.net.SocketInputStream.read(Unknown Source)
   at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
   at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
   at sun.nio.cs.StreamDecoder.read(Unknown Source)
   at java.io.InputStreamReader.read(Unknown Source)
   at java.io.BufferedReader.fill(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at NetServerThread.run(NetServerThread.java:210)
java.net.SocketException: Connection reset
   at java.net.SocketInputStream.read(Unknown Source)
   at java.net.SocketInputStream.read(Unknown Source)
   at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
   at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
   at sun.nio.cs.StreamDecoder.read(Unknown Source)
   at java.io.InputStreamReader.read(Unknown Source)
   at java.io.BufferedReader.fill(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at java.io.BufferedReader.readLine(Unknown Source)
   at NetServerThread.run(NetServerThread.java:210)

Cheers,
AlexB
Alex Boyd... Sydney, Australia

Hardy Heinlin

Can you try this?

1. Start PSX solo and start the boost server
2. Start Aerowinx/Developers/BoostClientExample.jar
3. On the BoostClientExample cycle the Connect checkbox on and off in 3 sec intervals

Does that work?


Regards,

|-|ardy

asboyd

Your example works as I would expect. The Boost server stops and starts... Looks like it could be the clients that have an issue...

If the boost server stops though, won't some clients disconnect when they lose connection?

If you have several clients that require the boost server this may be an issue.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

Hardy Heinlin

The boost server allows just one client. If you need a second boost server, e.g. for a motion platform, you can start a second boost server on another PSX main client.

asboyd

Ah,
I will have to set one of my other machines to be a boost as well then...

But it still does not resolve the client issues I am seeing with PSXMSFS and WidePSX...

Ah well...
I will keep playing with my net and setup...

Cheers,
AlexB
Alex Boyd... Sydney, Australia

CHEDHKG

Quote from: asboyd on Fri, 20 May 2022 02:59
Ah,
I will have to set one of my other machines to be a boost as well then...

But it still does not resolve the client issues I am seeing with PSXMSFS and WidePSX...

Ah well...
I will keep playing with my net and setup...

Cheers,
AlexB

I am interested too in the outcome, since that could make PSXMSFS more robust.
I have also encountered this behavior, but have not been able to reproduce it at will.

Do you systematically have the same outcome, ie. Boost server stopped ? and with both WidePSX and PSXMSFS ?

-Stephan

asboyd

If I follow the process I documented, the boost server always locks up... Either with Wide PSX or PSXMSFS...

I will run wireshark and see what is happening on my network and see if I can spot anything causing the issue.
It could be IP socket related...

Will let you know what I find.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

Jeroen Hoppenbrouwers

Quote from: asboyd on Fri, 20 May 2022 06:51
I will run wireshark and see what is happening on my network and see if I can spot anything causing the issue.
It could be IP socket related...

zOMG if our real world customers would give such feedback and pro-active behaviour  :-)

Actually the last time we got a reply like this we lured the guy over from an airline and he's now our VP of Engineering  :-D


Hoppie

asboyd

Did a basic trace and capture file is here:
https://www.dropbox.com/s/5uhb0gs7432b42h/PSX_WidePSX_Boost.zip?dl=0
I noticed after the second closer I get a port reused message. (Near end of trace).
If you filter by TCP port 10749 you see a lot of messages during a good connection, then only the TCP port reused problem.
I am going to try and roll back my Java to see if it is Java related.

Cheers,
AlexB
Alex Boyd... Sydney, Australia

CHEDHKG

Quote from: asboyd on Sat, 21 May 2022 02:33
Did a basic trace and capture file is here:
https://www.dropbox.com/s/5uhb0gs7432b42h/PSX_WidePSX_Boost.zip?dl=0
I noticed after the second closer I get a port reused message. (Near end of trace).
If you filter by TCP port 10749 you see a lot of messages during a good connection, then only the TCP port reused problem.
I am going to try and roll back my Java to see if it is Java related.

Cheers,
AlexB

Alex,
according to the dump, you use the same IP for PSX and WidePSX or MSFS, right ?

asboyd

During the test MSFS (separate PC) is not running.
WidePSX runs on the same machine as PSX and connects via IP to MSFS.
I have not tried to trace PSXMSFS yet. That will have top wait until I get a chance to do one.

Cheers,
AlexB
Alex Boyd... Sydney, Australia