Comments (6)
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?
Sorry one more config thing, if you are using NFS3.60 or below can you had safehandles on to the /etc/aund.conf file too?
from aund.
Does the -d command line option do the same? With -d, a failed save looks like this:
fs_unixify_path: [TSTFIL]->[./TSTFIL]->[./TSTFIL]->[./TSTFIL]
fs_acornify_name: [.]->[]
{2=./TSTFIL} )
(file server: {@=5,%=6} save [TSTFIL]
fs_unixify_path: [TSTFIL]->[./TSTFIL]->[./TSTFIL]->[./TSTFIL]
fs_acornify_name: [.]->[]
aund: send data: Connection timed out
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:
Cli: BOB has 3
Env: URD: . CSD: . LIB: .
{3=.} {5=.} {6=.} returning: urd=3, csd=5, lib=6, opt4=0
)
output from aund and the client is happy.
I am using NFS 2.62 (BBC B).
from aund.
Attaching gdb to the stuck aund process gives this backtrace:
(gdb) bt
#0 0x00007fe728b9a51a in recvfrom () from /usr/lib/libc.so.6
#1 0x0000555fdb6bf8fd in aun_recv (outsize=0x7fff3e4e1668,
vfrom=0x7fff3e4e1674, want_port=151) at aun.c:93
#2 0x0000555fdb6b9e4f in fs_data_recv (c=c@entry=0x7fff3e4e1760,
fd=fd@entry=9, size=8508320, size@entry=8523680, ackport=ackport@entry=145)
at fs_fileio.c:1005
#3 0x0000555fdb6bb6eb in fs_save (c=0x7fff3e4e1760) at fs_fileio.c:856
#4 0x0000555fdb6b6d55 in file_server (pkt=pkt@entry=0x555fdb6cb480 <buf>,
len=<optimized out>, from=from@entry=0x7fff3e4e17c0) at fileserver.c:153
#5 0x0000555fdb6b68f8 in main (argc=<optimized out>, argv=0x7fff3e4e17c0)
at aund.c:196
from aund.
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.
from aund.
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?
from aund.
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.
from aund.
Related Issues (13)
- No error returned for invalid handles HOT 1
- Building refers to files in your home directory HOT 6
- AUND allows the creation of a directory over an existing file HOT 2
- AUND allows a save over an opened randomio file
- Normal Server Logging
- Link fails with library crypt missing on Raspberry Pi HOT 1
- Core dump in posix_spawn unless -f is set for foreground HOT 2
- Attemping *. when not logged in goes into a timeout loop HOT 3
- The "null" user management option has missing methods, results in coredump. HOT 1
- posix_spawn causes compiler issue HOT 1
- Errors when sending large amounts of data HOT 20
- Handling of read-only files and a file descriptor leak HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aund.