-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Aund gets stuck if the client stops talking #7
Comments
I have been trying to replicate this using the load and save functionality for very large files then stopping the client half way through, but the server does recognise that the connection has timed out. Can you add debug on to your /etc/aund.conf file and try the osfile method again please? |
Does the -d command line option do the same? With -d, a failed save looks like this:
Then, when attempting the '*I AM" which hangs, aund does not log any further messages. I can see from the client end that aund is acknowledging receipt of the command but then there seems to be no response with the result of the command. If I re-start aund I get the normal:
output from aund and the client is happy. I am using NFS 2.62 (BBC B). |
Attaching gdb to the stuck aund process gives this backtrace:
|
I think I found what is wrong, it is trying to send to each machine it finds in econet.cfg in turn, and if it does not get a reply, or the machine does not exist it gives an error. I think I will have to look at the errors and see if I can just quietly ignore some. |
as a check if you only have the two machines, the one client and the file server specified in the econet.cfg can you replicate the error? |
Yes, I can replicate this with only on client. I have found another client problem, though, in that the program I was testing with was failing to set bytes &10 and &11 of the OSFILE control block, i.e. the upper limit of the memory block to be saved. It looks like in this case NFS is sending the length, as calculated by a straight subtraction, but possibly not sending all the data. In one case it send a length of 8523680 (about 8.1Mb) but then sent 83 1K blocks. I can't tell at the moment if that is because of some internal thing within NFS or if the network comms (or the AUN <> Econet state machine) is not so robust and this much data shows it up. |
…present or reachable on the network. The server attempts to reply to each machine it knows about, so when it encounters a machine that is not listening or is not present on the current network it fails hard. Added code to ignore these "failures" so that the aund server continues running instead of exiting. Note: This may not be the full list yet. Github Issue #7
I came across when the client (B-Em emulating a BBC micro) malfunctioned and abandoned the dialogue in an OSFILE SAVE command part way through transferring the data. Upon re-starting the client, aund does not respond to *I AM. Re-starting aund restores operation.
The text was updated successfully, but these errors were encountered: