NFS 4.2 "RPC struct is bad" revisited (with much more detail)
Date: Mon, 02 Dec 2024 00:20:00 UTC
We have continued to experience client-side corruption with NFS 4.2 on
FreeBSD 14.1 clients running against Debian NFS servers.
However, I was recently handed a reproducible way to trigger this
issue. With PHP and composer installed, in a writable NFS directory:
$ ls -ld .
drwxrwxrwx 3 287028 287028 3 Dec 1 23:01 .
$ df -h .
Filesystem Size Used Avail Capacity Mounted on
fs:/deleteme 10G 174M 9.8G 2% /mnt
Per "nfsstat -m" the flags are:
nfsv4,minorversion=2,tcp,resvport,nconnect=1,hard,cto,sec=sys,acdirmin=3,acdirmax=60,acregmin=5,acregmax=60,nametimeo=60,negnametimeo=60,rsize=65536,wsize=65536,readdirsize=65536,readahead=1,wcommitsize=8388608,timeout=120,retrans=2147483647
So I run:
$ composer create-project drupal/recommended-project:10.3.10 drupal10
After quite a lot of output, this finishes successfully.
However:
$ du -sxk drupal10/
du: drupal10/web/core/assets/vendor/ckeditor5/block-quote/translations:
RPC struct is bad
du: drupal10/web/core/assets/vendor/ckeditor5/list/translations: RPC
struct is bad
du: drupal10/web/core/assets/vendor/ckeditor5/heading/translations:
RPC struct is bad
127246 drupal10/
From that client, these directories (and it seems like it's always
these three directories) appear to be empty, not even . or .. present:
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/block-quote/translations
total 0
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/list/translations
total 0
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/heading/translations
total 0
I don't know why it's these directories specifically, but it's very
consistent. The filenames in all three directories seem to be the
same: 65 small javascript files with two-letter country codes for
filenames (e.g., , though the actual content of the files differs.
E.g., all three directories have a zh.js but the contents of each
zh.js file is different.
This behavior will survive unmounting & remounting the filesystem. If
I mount the same filesystem again at a different location on the same
client, it will be the same there. It can even survive reboots of the
affected client.
At the same time, if I look at these same directories from another
FreeBSD client at any point, everything is fine:
$ du -sxk drupal10
128109 drupal10
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/block-quote/translations | wc
65 578 2906
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/heading/translations | wc
65 578 2903
The NFS server also gives the correct results:
$ du -sxk drupal10/
128109 drupal10/
$ ls -la drupal10/web/core/assets/vendor/ckeditor5/block-quote/translations | wc
65 578 2843
This problem does appear to be related to READDIR/listing directory
contents. If (using some other client) I get the names of files in the
affected directory, I can read that with no problem:
$ sha1 drupal10/web/core/assets/vendor/ckeditor5/heading/translations/zh.js
SHA1 (drupal10/web/core/assets/vendor/ckeditor5/heading/translations/zh.js)
= cb1d75ec267f5673e99b3d0afa963f7c8656cb48
$ ls -l drupal10/web/core/assets/vendor/ckeditor5/heading/translations/zh.js
-rw-rw-r-- 1 deleteme deleteme 467 Nov 22 12:51
drupal10/web/core/assets/vendor/ckeditor5/heading/translations/zh.js
Under 14.1, if I wait a bit, this will slowly fix itself. After a few
minutes, one of the directories will become listable. Then a few
minutes later a second one. Then, a few more minutes after that, the
third. The correction appears to happen on a per-mount basis. I.e., if
I mount the same filesystem three times at three different locations,
they will all observe the issue initially, and it will clear at
different rates. Sometimes it might take hours.
This is a slight change from the behavior under 13.3 where once this
issue occurred, it was effectively permanent until the affected
directories were removed from another client.
This is the part where it makes sense to obtain a pcap showing the
traffic that causes the "RPC struct is bad" error. That's frequently
cached.
Easier said than done. On the client, frequently, after testing this:
# tcpdump -vvv -i net1 -n -w rpc-struct-is-bad.pcap host fs
tcpdump: listening on net1, link-type EN10MB (Ethernet), snapshot
length 262144 bytes
^C0 packets captured
362 packets received by filter
0 packets dropped by kernel
So this behavior appears to be cached on the client. After waiting a
bit (much more than 60 seconds), it looks like the client did try
again, and I think I got it. I'll include the Wireshark output below.
Hopefully all of this is enough to shed some light on the issue.
Thanks for any feedback!
Client request, as decoded by Wireshark:
Remote Procedure Call, Type:Call XID:0x3c21500b
Fragment header: Last fragment, 220 bytes
1... .... .... .... .... .... .... .... = Last Fragment: Yes
.000 0000 0000 0000 0000 0000 1101 1100 = Fragment Length: 220
XID: 0x3c21500b (1008816139)
Message Type: Call (0)
RPC Version: 2
Program: NFS (100003)
Program Version: 4
Procedure: COMPOUND (1)
[The reply to this request is in frame 22]
Credentials
Flavor: AUTH_UNIX (1)
Length: 28
Stamp: 0x674ce3c9
Machine Name: h3
length: 2
contents: h3
fill bytes: opaque data
UID: 287028
GID: 287028
Auxiliary GIDs (1) [25000]
GID: 25000
Verifier
Flavor: AUTH_NULL (0)
Length: 0
Network File System, Ops(4): SEQUENCE, PUTFH, READDIR, GETATTR
[Program Version: 4]
[V4 Procedure: COMPOUND (1)]
Tag: Readdir
length: 7
contents: Readdir
fill bytes: opaque data
minorversion: 2
Operations (count: 4): SEQUENCE, PUTFH, READDIR, GETATTR
Opcode: SEQUENCE (53)
sessionid: 67e43365b78a01ddd1e5050000000000
seqid: 0x000f73d7
slot id: 0
high slot id: 0
cache this?: No
Opcode: PUTFH (22)
FileHandle
length: 32
[hash (CRC-32): 0x87cdc24b]
FileHandle:
0100060153d075cb002f4a8000000000000000000a00d6bd000000003cf1ea00
Opcode: READDIR (26)
cookie: 0
cookie_verf: 0
dircount: 8704
maxcount: 8704
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
reqd_attr: RDAttr_Error (11)
reco_attr: FileId (20)
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
Opcode: GETATTR (9)
Attr mask[0]: 0x4010011b (Supported_Attrs, Type, Change,
Size, FSID, FileId, MaxRead)
reqd_attr: Supported_Attrs (0)
reqd_attr: Type (1)
reqd_attr: Change (3)
reqd_attr: Size (4)
reqd_attr: FSID (8)
reco_attr: FileId (20)
reco_attr: MaxRead (30)
Attr mask[1]: 0x0034a23a (Mode, NumLinks, Owner,
Owner_Group, RawDev, Space_Used, Time_Access, Time_Create,
Time_Metadata, Time_Modify)
reco_attr: Mode (33)
reco_attr: NumLinks (35)
reco_attr: Owner (36)
reco_attr: Owner_Group (37)
reco_attr: RawDev (41)
reco_attr: Space_Used (45)
reco_attr: Time_Access (47)
reco_attr: Time_Create (50)
reco_attr: Time_Metadata (52)
reco_attr: Time_Modify (53)
[Main Opcode: READDIR (26)]
And here's the server's reply (reassembled from two TCP packets):
Remote Procedure Call, Type:Reply XID:0x3c21500b
Fragment header: Last fragment, 4268 bytes
1... .... .... .... .... .... .... .... = Last Fragment: Yes
.000 0000 0000 0000 0001 0000 1010 1100 = Fragment Length: 4268
XID: 0x3c21500b (1008816139)
Message Type: Reply (1)
[Program: NFS (100003)]
[Program Version: 4]
[Procedure: COMPOUND (1)]
Reply State: accepted (0)
[This is a reply to a request in frame 19]
[Time from request: 0.000216000 seconds]
Verifier
Flavor: AUTH_NULL (0)
Length: 0
Accept State: RPC executed successfully (0)
Network File System, Ops(4): SEQUENCE PUTFH READDIR GETATTR
[Program Version: 4]
[V4 Procedure: COMPOUND (1)]
Status: NFS4_OK (0)
Tag: Readdir
length: 7
contents: Readdir
fill bytes: opaque data
Operations (count: 4)
Opcode: SEQUENCE (53)
Status: NFS4_OK (0)
sessionid: 67e43365b78a01ddd1e5050000000000
seqid: 0x000f73d7
slot id: 0
high slot id: 29
target high slot id: 29
status flags: 0x00000001, SEQ4_STATUS_CB_PATH_DOWN
.... .... .... .... .... .... .... ...1 =
SEQ4_STATUS_CB_PATH_DOWN: Set
.... .... .... .... .... .... .... ..0. =
SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING: Not set
.... .... .... .... .... .... .... .0.. =
SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED: Not set
.... .... .... .... .... .... .... 0... =
SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED: Not set
.... .... .... .... .... .... ...0 .... =
SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED: Not set
.... .... .... .... .... .... ..0. .... =
SEQ4_STATUS_ADMIN_STATE_REVOKED: Not set
.... .... .... .... .... .... .0.. .... =
SEQ4_STATUS_RECALLABLE_STATE_REVOKED: Not set
.... .... .... .... .... .... 0... .... =
SEQ4_STATUS_LEASE_MOVED: Not set
.... .... .... .... .... ...0 .... .... =
SEQ4_STATUS_RESTART_RECLAIM_NEEDED: Not set
.... .... .... .... .... ..0. .... .... =
SEQ4_STATUS_CB_PATH_DOWN_SESSION: Not set
.... .... .... .... .... .0.. .... .... =
SEQ4_STATUS_BACKCHANNEL_FAULT: Not set
.... .... .... .... .... 0... .... .... =
SEQ4_STATUS_DEVID_CHANGED: Not set
.... .... .... .... ...0 .... .... .... =
SEQ4_STATUS_DEVID_DELETED: Not set
Opcode: PUTFH (22)
Status: NFS4_OK (0)
Opcode: READDIR (26)
Status: NFS4_OK (0)
verifier: 0x0000000000000000
Directory Listing
Entry: eu.js
Value Follows: Yes
cookie: 269690263
Name: eu.js
length: 5
contents: eu.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47869
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bafd
Entry: gl.js
Value Follows: Yes
cookie: 276571741
Name: gl.js
length: 5
contents: gl.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48703
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be3f
Entry: ku.js
Value Follows: Yes
cookie: 282097910
Name: ku.js
length: 5
contents: ku.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48705
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be41
Entry: nl.js
Value Follows: Yes
cookie: 283039116
Name: nl.js
length: 5
contents: nl.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48371
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf3
Entry: pt.js
Value Follows: Yes
cookie: 283739169
Name: pt.js
length: 5
contents: pt.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48609
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bde1
Entry: de.js
Value Follows: Yes
cookie: 286454349
Name: de.js
length: 5
contents: de.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48426
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2a
Entry: pt-br.js
Value Follows: Yes
cookie: 287836878
Name: pt-br.js
length: 8
contents: pt-br.js
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48217
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc59
Entry: uz.js
Value Follows: Yes
cookie: 289190542
Name: uz.js
length: 5
contents: uz.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48083
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbd3
Entry: lt.js
Value Follows: Yes
cookie: 292503267
Name: lt.js
length: 5
contents: lt.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48369
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf1
Entry: cs.js
Value Follows: Yes
cookie: 292958093
Name: cs.js
length: 5
contents: cs.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48700
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be3c
Entry: sk.js
Value Follows: Yes
cookie: 293741377
Name: sk.js
length: 5
contents: sk.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48706
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be42
Entry: ms.js
Value Follows: Yes
cookie: 297104108
Name: ms.js
length: 5
contents: ms.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48081
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbd1
Entry: et.js
Value Follows: Yes
cookie: 298700082
Name: et.js
length: 5
contents: et.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48429
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2d
Entry: tk.js
Value Follows: Yes
cookie: 300125681
Name: tk.js
length: 5
contents: tk.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47955
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bb53
Entry: sr-latn.js
Value Follows: Yes
cookie: 309089285
Name: sr-latn.js
length: 10
contents: sr-latn.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48436
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd34
Entry: no.js
Value Follows: Yes
cookie: 314436706
Name: no.js
length: 5
contents: no.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48372
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf4
Entry: lv.js
Value Follows: Yes
cookie: 315813800
Name: lv.js
length: 5
contents: lv.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48431
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2f
Entry: fi.js
Value Follows: Yes
cookie: 320584473
Name: fi.js
length: 5
contents: fi.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48214
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc56
Entry: ro.js
Value Follows: Yes
cookie: 322655904
Name: ro.js
length: 5
contents: ro.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48433
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd31
Entry: zh.js
Value Follows: Yes
cookie: 323217790
Name: zh.js
length: 5
contents: zh.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48375
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf7
Entry: th.js
Value Follows: Yes
cookie: 327201823
Name: th.js
length: 5
contents: th.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47954
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bb52
Entry: hi.js
Value Follows: Yes
cookie: 332981880
Name: hi.js
length: 5
contents: hi.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48430
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2e
Entry: uk.js
Value Follows: Yes
cookie: 337730183
Name: uk.js
length: 5
contents: uk.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48220
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc5c
Entry: sl.js
Value Follows: Yes
cookie: 345684024
Name: sl.js
length: 5
contents: sl.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48434
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd32
Entry: bs.js
Value Follows: Yes
cookie: 347404539
Name: bs.js
length: 5
contents: bs.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48602
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bdda
Entry: es.js
Value Follows: Yes
cookie: 349525579
Name: es.js
length: 5
contents: es.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48428
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2c
Entry: az.js
Value Follows: Yes
cookie: 366619883
Name: az.js
length: 5
contents: az.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47868
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bafc
Entry: ca.js
Value Follows: Yes
cookie: 369688170
Name: ca.js
length: 5
contents: ca.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48603
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bddb
Entry: da.js
Value Follows: Yes
cookie: 376000730
Name: da.js
length: 5
contents: da.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48604
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bddc
Entry: ja.js
Value Follows: Yes
cookie: 380243387
Name: ja.js
length: 5
contents: ja.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48078
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbce
Entry: bg.js
Value Follows: Yes
cookie: 386685632
Name: bg.js
length: 5
contents: bg.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48600
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bdd8
Entry: hy.js
Value Follows: Yes
cookie: 387704532
Name: hy.js
length: 5
contents: hy.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48216
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc58
Entry: jv.js
Value Follows: Yes
cookie: 393320046
Name: jv.js
length: 5
contents: jv.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48079
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbcf
Entry: sq.js
Value Follows: Yes
cookie: 403421065
Name: sq.js
length: 5
contents: sq.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48435
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd33
Entry: bn.js
Value Follows: Yes
cookie: 405141322
Name: bn.js
length: 5
contents: bn.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48601
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bdd9
Entry: en-gb.js
Value Follows: Yes
cookie: 405890201
Name: en-gb.js
length: 8
contents: en-gb.js
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48701
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be3d
Entry: kn.js
Value Follows: Yes
cookie: 411501723
Name: kn.js
length: 5
contents: kn.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48368
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf0
Entry: de-ch.js
Value Follows: Yes
cookie: 417321901
Name: de-ch.js
length: 8
contents: de-ch.js
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48605
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bddd
Entry: ko.js
Value Follows: Yes
cookie: 425323582
Name: ko.js
length: 5
contents: ko.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48704
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be40
Entry: eo.js
Value Follows: Yes
cookie: 429568351
Name: eo.js
length: 5
contents: eo.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48606
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bdde
Entry: vi.js
Value Follows: Yes
cookie: 433844822
Name: vi.js
length: 5
contents: vi.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48611
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bde3
Entry: tr.js
Value Follows: Yes
cookie: 436805847
Name: tr.js
length: 5
contents: tr.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48610
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bde2
Entry: he.js
Value Follows: Yes
cookie: 441713088
Name: he.js
length: 5
contents: he.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48077
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbcd
Entry: sr.js
Value Follows: Yes
cookie: 443059815
Name: sr.js
length: 5
contents: sr.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48219
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc5b
Entry: it.js
Value Follows: Yes
cookie: 445333183
Name: it.js
length: 5
contents: it.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47953
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bb51
Entry: ru.js
Value Follows: Yes
cookie: 447922792
Name: ru.js
length: 5
contents: ru.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48218
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc5a
Entry: pl.js
Value Follows: Yes
cookie: 450740642
Name: pl.js
length: 5
contents: pl.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48432
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd30
Entry: km.js
Value Follows: Yes
cookie: 451165557
Name: km.js
length: 5
contents: km.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48080
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbd0
Entry: nb.js
Value Follows: Yes
cookie: 451928959
Name: nb.js
length: 5
contents: nb.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48608
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bde0
Entry: ar.js
Value Follows: Yes
cookie: 455961028
Name: ar.js
length: 5
contents: ar.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48599
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bdd7
Entry: fr.js
Value Follows: Yes
cookie: 458016628
Name: fr.js
length: 5
contents: fr.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48702
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000be3e
Entry: zh-cn.js
Value Follows: Yes
cookie: 458120880
Name: zh-cn.js
length: 8
contents: zh-cn.js
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48374
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf6
Entry: hr.js
Value Follows: Yes
cookie: 462395925
Name: hr.js
length: 5
contents: hr.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48607
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bddf
Entry: el.js
Value Follows: Yes
cookie: 469338289
Name: el.js
length: 5
contents: el.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48366
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcee
Entry: en-au.js
Value Follows: Yes
cookie: 474580618
Name: en-au.js
length: 8
contents: en-au.js
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48427
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd2b
Entry: sv.js
Value Follows: Yes
cookie: 487795952
Name: sv.js
length: 5
contents: sv.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48437
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bd35
Entry: ug.js
Value Follows: Yes
cookie: 497925439
Name: ug.js
length: 5
contents: ug.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48373
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf5
Entry: fa.js
Value Follows: Yes
cookie: 502070838
Name: fa.js
length: 5
contents: fa.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 47870
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bafe
Entry: id.js
Value Follows: Yes
cookie: 508050963
Name: id.js
length: 5
contents: id.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48367
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcef
Entry: hu.js
Value Follows: Yes
cookie: 513212780
Name: hu.js
length: 5
contents: hu.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48215
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bc57
Entry: ur.js
Value Follows: Yes
cookie: 533460897
Name: ur.js
length: 5
contents: ur.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48082
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bbd2
Entry: ne.js
Value Follows: Yes
cookie: 536311814
Name: ne.js
length: 5
contents: ne.js
fill bytes: opaque data
Attr mask[0]: 0x00100802 (Type, RDAttr_Error, FileId)
reqd_attr: Type (1)
ftype4: NF4REG (1)
reqd_attr: RDAttr_Error (11)
Status: NFS4_OK (0)
reco_attr: FileId (20)
fileid: 48370
Attr mask[1]: 0x00800000 (Mounted_on_FileId)
reco_attr: Mounted_on_FileId (55)
fileid: 0x000000000000bcf2
Value Follows: No
EOF: Yes
Opcode: GETATTR (9)
Status: NFS4_OK (0)
[Expert Info (Warning/Protocol): Per RFCs 3530 and 5661 an
attribute mask is required but was not provided.]
[Per RFCs 3530 and 5661 an attribute mask is required
but was not provided.]
[Severity level: Warning]
[Group: Protocol]
[Main Opcode: READDIR (26)]