Linux CIFS filesystem development
 help / color / mirror / Atom feed
From: matoro <matoro_mailinglist_kernel@matoro.tk>
To: Steve French <smfrench@gmail.com>
Cc: Linux Cifs <linux-cifs@vger.kernel.org>, Bruno Haible <bruno@clisp.org>
Subject: Re: CIFS lockup regression on SMB1 in 6.10
Date: Thu, 15 Aug 2024 23:47:53 -0400	[thread overview]
Message-ID: <ec1664df9755a0fef8abf6b8f70ae6cf@matoro.tk> (raw)
In-Reply-To: <CAH2r5mta2N-hE=uJERWxz3w3hzDxwTpvhXsRhEM=sAzGaufsWw@mail.gmail.com>

On 2024-08-15 23:31, Steve French wrote:
> What is the simplest repro you have seen - e.g. is there a git tree
> with very small source that fails with configure that you could share?
> 
> On Thu, Aug 15, 2024 at 4:22 PM matoro
> <matoro_mailinglist_kernel@matoro.tk> wrote:
>> 
>> On 2024-08-15 15:37, Steve French wrote:
>> > Do you have any data on whether this still fails with current Linux
>> > kernel (6.11-rc3 e.g.)?
>> >
>> >
>> > On Thu, Aug 15, 2024 at 1:08 PM matoro
>> > <matoro_mailinglist_kernel@matoro.tk> wrote:
>> >>
>> >> Hi all, I run a service where user home directories are mounted over SMB1
>> >> with unix extensions.  After upgrading to kernel 6.10 it was reported to me
>> >> that users were observing lockups when performing compilations in their
>> >> home
>> >> directories.  I investigated and confirmed this to be the case.  It would
>> >> cause the build processes to get stuck in I/O.  After the lockup triggered
>> >> then all further reads/writes to the CIFS-mounted directory would get
>> >> stuck.
>> >> Even the df(1) command would block indefinitely.  Shutdown was also
>> >> prevented
>> >> as the directory could no longer be unmounted.
>> >>
>> >> Triggering the issue is a little bit tricky.  I used compiling cpython as a
>> >> test case.  Parallel compilation does not seem to be required to trigger
>> >> it,
>> >> because in some tests the hang would occur during ./configure phase, but it
>> >> does seem to provoke it more easily, as the most common point where the
>> >> lockup was observed was immediately after "make -j4".  However, sometimes
>> >> it
>> >> would take 10+ minutes of ongoing compilation before the lockup would
>> >> trigger.  I never observed a complete successful compilation on kernel
>> >> 6.10.
>> >>
>> >> The furthest back I was able to confirm that the lockup is observed was
>> >> v6.10-rc3.  The furthest forward I was able to confirm is good was v6.9.9
>> >> in
>> >> the stable tree.  Unfortunately, between those two tags there seems to be a
>> >> wide range of commits where the CIFS functionality is completely broken,
>> >> and
>> >> reads/writes return total nonsense results.  For example, any git commands
>> >> return "git error: bad signature 0x00000000".  So I cannot execute a
>> >> compilation on commits in this range in order to test whether they observe
>> >> the lockup issue.  Therefore I wasn't able to test most of the range, and
>> >> wasn't able to complete a traditional bisect.  I tried adjusting the
>> >> read/write buffers down to 8192 from the defaults, but this did not help.
>> >> I
>> >> also tried toggling several options that might be related, namely
>> >> CONFIG_FSCACHE, to no effect.  There are no logs emitted to dmesg when the
>> >> lockup occurs.
>> >>
>> >> Thanks - please let me know if there is any further information I can
>> >> provide.  For now I am rolling all hosts back to kernel 6.9.
>> >>
>> >
>> >
>> > --
>> > Thanks,
>> >
>> > Steve
>> 
>> Hi Steve, just tested.  Not only is it still there in 6.11-rc3, but it's 
>> much
>> worse - I got an immediate lockup just from ./configure
>> 
>> Thank you for looking at this.

I've been using the cpython source to test, 
https://github.com/python/cpython.  Just a plain ./configure and make -j4.  
But it seems to affect any substantial build process, I was also able to 
trigger it with coreutils build, really anything that generates I/O load.

Here's what my effective mount options look like:
type cifs 
(rw,nosuid,relatime,vers=1.0,cache=strict,username=nobody,uid=30000,forceuid,gid=30000,forcegid,addr=fd05:0000:0000:0000:0000:0000:0000:0001,soft,unix,posixpaths,serverino,mapposix,acl,reparse=nfs,rsize=1048576,wsize=65536,bsize=1048576,retrans=1,echo_interval=60,actimeo=1,closetimeo=1)

  reply	other threads:[~2024-08-16  3:47 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-15 17:53 CIFS lockup regression on SMB1 in 6.10 matoro
2024-08-15 19:37 ` Steve French
2024-08-15 21:22   ` matoro
2024-08-16  3:31     ` Steve French
2024-08-16  3:47       ` matoro [this message]
2024-08-20 19:33       ` Kris Karas (Bug Reporting)
     [not found]         ` <CAH2r5mugVqy=jd_9x1xKYym6id1F2O-QuSX8C0HKbZPHybgCDQ@mail.gmail.com>
2024-08-23 20:51           ` Kris Karas (Bug Reporting)
2024-09-03  4:55             ` matoro
     [not found]               ` <CAH2r5mtDbD2uNdodE5WsOmzSoswn67eHAqGVjZJPHbX1ipkhSw@mail.gmail.com>
2024-09-05 14:40                 ` Kris Karas (Bug Reporting)
     [not found]               ` <2322699.1725442054@warthog.procyon.org.uk>
     [not found]                 ` <c8027078-bd61-449e-8199-908af20b1f10@moonlit-rail.com>
2024-09-05 15:40                   ` Kris Karas (Bug Reporting)
2024-09-14 22:15                     ` matoro
2024-09-15  0:51                       ` Kris Karas (Bug Reporting)
     [not found]                         ` <CAH2r5mtEdn5tWBn3cs6chxxRdWNT1VFjYwYcsWU7sZkAqsW8rw@mail.gmail.com>
2024-09-15  0:57                           ` Fwd: " Steve French

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ec1664df9755a0fef8abf6b8f70ae6cf@matoro.tk \
    --to=matoro_mailinglist_kernel@matoro.tk \
    --cc=bruno@clisp.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=smfrench@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox