Date: Thu, 03 Feb 2022 13:24:01 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 261690] NFSv4 mount on Linux client hangs during complex access patterns (gcc bootstrapping on client) Message-ID: <bug-261690-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D261690 Bug ID: 261690 Summary: NFSv4 mount on Linux client hangs during complex access patterns (gcc bootstrapping on client) Product: Base System Version: 13.0-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: bf@cebitec.uni-bielefeld.de A ZFS dataset mounted from a FreeBSD-13.0-p7 NFS server via NFSv4.1 on a Linux Ubuntu 20.04.3 client with 5.4.0-81-generic kernel is used to build gcc-11.2.0 from source (sources and object files on NFS). The build process will become stuck in kernel space at different points in time. The same setup with FreeBSD 11.4-RELEASE-p5 as server works flawlessly. *** How to reproduce: Server: FreeBSD 13.0-RELEASE-p7 *** vfs.nfs.enable_uidtostring=3D1 vfs.nfsd.enable_stringtouid=3D1 vfs.nfsd.server_min_nfsvers=3D3 *** rpcbind_enable=3D"YES" nfs_server_enable=3D"YES" nfsv4_server_enable=3D"YES" nfs_reserved_port_only=3D"YES" nfsuserd_flags=3D"-manage-gids -usertimeout 10 -usermax 2300 20" mountd_enable=3D"YES" mountd_flags=3D"-r" rpc_lockd_enable=3D"YES" rpc_statd_enable=3D"YES" Client: Ubuntu 20.04.3 LTS 5.4.0-81-generic ZFS dataset exported sec=3Dsys, mounted on Linux client via NFSv4.1 (NFSv4.0 shows the same behaviour). On Linux client, vanilla build of gcc-11.2.0, sources and build dir on the same NFS mount: cd /vol/perf/bsd13-3x7/bf # this is on the NFS mount tar xf gcc-11.2.0.tar.gz cd gcc-11.2.0 ./contrib/download_prerequisites cd .. mkdir obj cd obj ../gcc-11.2.0/configure --prefix=3D/vol/bsd13-3x7/bf/gcc \ --enable-languages=3Dc,c++,fortran,go --disable-multilib make -j20 *** After some time the compiler processes become stuck in kernel space: [Wed Feb 2 17:01:39 2022] cc1plus D 0 940194 940193 0x00004320 [Wed Feb 2 17:01:39 2022] Call Trace: [Wed Feb 2 17:01:39 2022] __schedule+0x2e3/0x740 [Wed Feb 2 17:01:39 2022] schedule+0x42/0xb0 [Wed Feb 2 17:01:39 2022] io_schedule+0x16/0x40 [Wed Feb 2 17:01:39 2022] wait_on_page_bit+0x11c/0x200 [Wed Feb 2 17:01:39 2022] ? file_fdatawait_range+0x30/0x30 [Wed Feb 2 17:01:39 2022] wait_on_page_writeback+0x43/0x90 [Wed Feb 2 17:01:39 2022] __filemap_fdatawait_range+0x98/0x100 [Wed Feb 2 17:01:39 2022] filemap_write_and_wait+0x60/0xa0 [Wed Feb 2 17:01:39 2022] nfs_wb_all+0x1f/0x130 [nfs] [Wed Feb 2 17:01:39 2022] nfs4_file_flush+0x73/0xa0 [nfsv4] [Wed Feb 2 17:01:39 2022] filp_close+0x37/0x70 [Wed Feb 2 17:01:39 2022] __close_fd+0x7d/0xa0 [Wed Feb 2 17:01:39 2022] __x64_sys_close+0x22/0x50 [Wed Feb 2 17:01:39 2022] do_syscall_64+0x57/0x190 [Wed Feb 2 17:01:39 2022] entry_SYSCALL_64_after_hwframe+0x44/0xa9 [Wed Feb 2 17:01:39 2022] RIP: 0033:0x7f4c3121a4ab [Wed Feb 2 17:01:39 2022] Code: Bad RIP value. [...] [Wed Feb 2 17:02:30 2022] nfs: server allerbeeke not responding, still try= ing [Wed Feb 2 17:02:30 2022] nfs: server allerbeeke not responding, still try= ing *** What happens on the wire: Capture on the FreeBSD server with: tcpdump -i mce0 -w /var/tmp/fbsd-nfs4-server.pcap host bildhorst pcap file is available on our Nextcloud: https://docs.cebitec.uni-bielefeld.de/s/n5ZYmjnYd2fjQZ3 On the close system call the Linux client seems to flush the file to disk w= ith a series of SEQUENCE,PUTFH,WRITE,GETATTR compounds which the FreeBSD server simply ceases to reply to after some time (right at the end of the capture). Also notable, a few calls seem to get multiple replies, e.g. frame 1604448 = in that capture (also SEQUENCE,PUTFH,WRITE,GETATTR) got two replies with diffe= rent seq IDs in 1604458 and 1604459. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-261690-227>