[PATCH] Fix bug #13121 - Non-smbd processes using kernel oplocks can hang smbd

Jeremy Allison jra at samba.org
Sat Nov 25 01:54:46 UTC 2017


On Fri, Nov 24, 2017 at 09:42:51AM +1300, Gary Lockyer via samba-technical wrote:
> Have been able to get this to fail by running
> make TESTS="kernel-oplock" test
> in a loop on my dev box.

If it's failing with "Bad child exit code 10"
it means the parent open isn't causing a lease
break realtime signal in 5 seconds. That seems
unlikely.

It's *possible* it's a timing related thing,
can you check by upping the alarm(5) to alarm(10)
using the following patch ?

diff --git a/source4/torture/smb2/oplock.c b/source4/torture/smb2/oplock.c
index b6d9f842336..baeac35a791 100644
--- a/source4/torture/smb2/oplock.c
+++ b/source4/torture/smb2/oplock.c
@@ -4876,7 +4876,7 @@ static int do_child_process(int pipefd, const char *name)
        }
 
        /* Ensure the pause doesn't hang forever. */
-       alarm(5);
+       alarm(10);
 
        /* Wait for RT_SIGNAL_LEASE. */
        ret = pause();

I haven't heard complaints this is flapping on sn-devel
which is using:

Linux sn-devel-144 3.13.0-135-generic #184-Ubuntu SMP Wed Oct 18 11:55:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

How often have you been able to get this to
fail when running in a loop ?



More information about the samba-technical mailing list