By contrast, here's the strace when saving to an ext4 filesystem:
25780 access("/home/user/filename.pdf", F_OK) = -1 ENOENT (No such file or
directory)
25780 write(1, "\rSaving...\33[37m\33[40m\33[K\33(B\33[m\33[3"..., 47) = 47
25780 getpid() = 25780
25780 mkdir("/home/user/.muttYpPdUJ", 0700) = 0
25780 openat(AT_FDCWD, "/home/user/.muttYpPdUJ/filename.pdf",
O_WRONLY|O_CREAT|O_EXCL|O_NOFOLLOW, 0600) = 5
25780 close(5) = 0
25780 link("/home/user/.muttYpPdUJ/filename.pdf", "/home/user/filename.pdf") = 0
25780 lstat("/home/user/.muttYpPdUJ/filename.pdf", {st_mode=S_IFREG|0600,
st_size=0, ...}) = 0
25780 lstat("/home/user/filename.pdf", {st_mode=S_IFREG|0600, st_size=0, ...})
= 0
25780 unlink("/home/user/.muttYpPdUJ/filename.pdf") = 0
25780 unlink("/home/user/.muttYpPdUJ/filename.pdf") = -1 ENOENT (No such file
or directory)
25780 rmdir("/home/user/.muttYpPdUJ") = 0
25780 openat(AT_FDCWD, "/home/user/filename.pdf", O_WRONLY|O_CREAT|O_NOFOLLOW,
0600) = 5
25780 lstat("/home/user/filename.pdf", {st_mode=S_IFREG|0600, st_size=0, ...})
= 0
25780 fstat(5, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0
25780 fcntl(5, F_GETFL) = 0x28001 (flags
O_WRONLY|O_LARGEFILE|O_NOFOLLOW)
CIFS share mounted as
\\server\share on /home/user/mnt/share type cifs
(rw,relatime,vers=2.1,sec=ntlmssp,cache=strict,username=user,domain=DOMAIN,uid=1000,forceuid,gid=1000,forcegid,addr=XXX.XXX.XXX.XXX,file_mode=0600,dir_mode=0700,nounix,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1,user=user)
On Thu, Jun 20, 2019 at 04:24:29PM +0200, Lionel Elie Mamane wrote:
> Package: mutt
> Version: 1.7.2-1+deb9u1
> Severity: important
>
> When saving an attachment from into a directory on a CIFS share
> (Windows 2012R2 server), mutt creates an empty file and then fails
> with the error message "file exists (errno=17)". Saving is successful
> if one tries again to same filename and then chooses "overwrite".
>
> Here's the relevant part of an strace:
>
> 25780 restart_syscall(<... resuming interrupted poll ...>) = 1
> 25780 read(0, "\r", 1) = 1
> 25780 rt_sigaction(SIGINT, {sa_handler=0x556436f378e0, sa_mask=[],
> sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f374591b840}, NULL, 8) = 0
> 25780 access("vente-2019/filename.pdf", F_OK) = -1 ENOENT (No such file or
> directory)
> 25780 write(1, "\rSaving...\33[37m\33[40m\33[K\33(B\33[m\33[3"..., 47) = 47
> 25780 getpid() = 25780
> 25780 mkdir("vente-2019/.muttySzSP2", 0700) = 0
> 25780 openat(AT_FDCWD, "vente-2019/.muttySzSP2/filename.pdf",
> O_WRONLY|O_CREAT|O_EXCL|O_NOFOLLOW, 0600) = 5
> 25780 close(5) = 0
> 25780 link("vente-2019/.muttySzSP2/filename.pdf", "vente-2019/filename.pdf")
> = 0
> 25780 lstat("vente-2019/.muttySzSP2/filename.pdf", {st_mode=S_IFREG|0600,
> st_size=0, ...}) = 0
> 25780 lstat("vente-2019/filename.pdf", {st_mode=S_IFREG|0600, st_size=0,
> ...}) = 0
> 25780 unlink("vente-2019/.muttySzSP2/filename.pdf") = 0
> 25780 rmdir("vente-2019/.muttySzSP2") = 0
> 25780 write(1, "\7", 1) = 1
> 25780 write(1, "\rfopen: File exists (errno = 17)", 32) = 32
>
> -- Package-specific info:
> NeoMutt 20170113 (1.7.2)
> Copyright (C) 1996-2016 Michael R. Elkins and others.
> Mutt comes with ABSOLUTELY NO WARRANTY; for details type `mutt -vv'.
> Mutt is free software, and you are welcome to redistribute it
> under certain conditions; type `mutt -vv' for details.
>
> System: Linux 4.9.0-9-amd64 (x86_64)
> libidn: 1.33 (compiled with 1.33)
> hcache backends: tokyocabinet
>
> Compiler:
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Debian
> 6.3.0-18+deb9u1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs
> --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
> --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared
> --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext
> --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/
> --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes
> --with-default-libstdcxx-abi=new --enable-gnu-unique-object
> --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie
> --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
> --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre
> --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64
> --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64
> --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar
> --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch
> --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
> --enable-multilib --with-tune=generic --enable-checking=release
> --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
>
> Configure options: '--build=x86_64-linux-gnu' '--prefix=/usr'
> '--includedir=\${prefix}/include' '--mandir=\${prefix}/share/man'
> '--infodir=\${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var'
> '--disable-silent-rules' '--libdir=\${prefix}/lib/x86_64-linux-gnu'
> '--libexecdir=\${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode'
> '--disable-dependency-tracking' '--with-mailpath=/var/mail'
> '--enable-compressed' '--enable-debug' '--enable-fcntl' '--enable-hcache'
> '--enable-gpgme' '--enable-imap' '--enable-smtp' '--enable-pop'
> '--enable-sidebar' '--enable-nntp' '--enable-notmuch' '--disable-fmemopen'
> '--with-curses' '--with-gnutls' '--with-gss' '--with-idn' '--with-mixmaster'
> '--with-sasl' '--without-gdbm' '--without-bdb' '--without-qdbm'
> '--with-tokyocabinet' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2
> -fdebug-prefix-map=/build/mutt-bO92sq/mutt-1.7.2=. -fstack-protector-strong
> -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now'
> 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
>
> Compilation CFLAGS: -Wall -pedantic -Wno-long-long -g -O2
> -fdebug-prefix-map=/build/mutt-bO92sq/mutt-1.7.2=. -fstack-protector-strong
> -Wformat -Werror=format-security -fno-delete-null-pointer-checks
>
> Compile options:
> +CRYPT_BACKEND_CLASSIC_PGP +CRYPT_BACKEND_CLASSIC_SMIME +CRYPT_BACKEND_GPGME
> +DEBUG +DL_STANDALONE +ENABLE_NLS -EXACT_ADDRESS -HOMESPOOL -LOCALES_HACK
> -SUN_ATTACHMENT +HAVE_BKGDSET +HAVE_COLOR +HAVE_CURS_SET +HAVE_FUTIMENS
> +HAVE_GETADDRINFO +HAVE_GETSID +HAVE_ICONV +HAVE_LANGINFO_CODESET
> +HAVE_LANGINFO_YESEXPR +HAVE_LIBIDN +HAVE_META +HAVE_REGCOMP +HAVE_RESIZETERM
> +HAVE_START_COLOR +HAVE_TYPEAHEAD +HAVE_WC_FUNCS +ICONV_NONTRANS
> +USE_COMPRESSED +USE_DOTLOCK +USE_FCNTL -USE_FLOCK -USE_FMEMOPEN
> -USE_GNU_REGEX
> +USE_GSS +USE_HCACHE +USE_IMAP +USE_NOTMUCH +USE_NNTP +USE_POP +USE_SASL
> +USE_SETGID +USE_SIDEBAR +USE_SMTP +USE_SSL_GNUTLS -USE_SSL_OPENSSL
> -DOMAIN
> MIXMASTER="mixmaster"
> -ISPELL
> SENDMAIL="/usr/sbin/sendmail"
> MAILPATH="/var/mail"
> PKGDATADIR="/usr/share/mutt"
> SYSCONFDIR="/etc"
> EXECSHELL="/bin/sh"
>
> patch-attach-headers-color-neomutt
> patch-compose-to-sender-neomutt
> patch-compress-neomutt
> patch-cond-date-neomutt
> patch-encrypt-to-self-neomutt
> patch-fmemopen-neomutt
> patch-forgotten-attachments-neomutt
> patch-forwref-neomutt
> patch-ifdef-neomutt
> patch-index-color-neomutt
> patch-initials-neomutt
> patch-keywords-neomutt
> patch-kyoto-neomutt
> patch-limit-current-thread-neomutt
> patch-lmdb-neomutt
> patch-multiple-fcc-neomutt
> patch-nested-if-neomutt
> patch-new-mail-neomutt
> patch-nntp-neomutt
> patch-notmuch-neomutt
> patch-progress-neomutt
> patch-quasi-delete-neomutt
> patch-reply-with-xorig-neomutt
> patch-sensible-browser-neomutt
> patch-sidebar-neomutt
> patch-skip-quoted-neomutt
> patch-status-color-neomutt
> patch-timeout-neomutt
> patch-tls-sni-neomutt
> patch-trash-neomutt
>
> To learn more about NeoMutt, visit: http://www.neomutt.org/
> If you find a bug in NeoMutt, please raise an issue at:
> https://github.com/neomutt/neomutt/issues
> or send an email to: <[email protected]>
>
>
> -- System Information:
> Debian Release: 9.9
> APT prefers stable-updates
> APT policy: (600, 'stable-updates'), (600, 'stable'), (400, 'testing'),
> (300, 'unstable'), (1, 'experimental')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 4.9.0-9-amd64 (SMP w/8 CPU cores)
> Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8),
> LANGUAGE=en_GB.utf8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/dash
> Init: systemd (via /run/systemd/system)
>
> Versions of packages mutt depends on:
> ii libassuan0 2.5.2-1
> ii libc6 2.28-10
> pn libcomerr2 <none>
> ii libgnutls30 3.6.7-4
> ii libgpg-error0 1.35-1
> ii libgpgme11 1.12.0-6
> ii libgssapi-krb5-2 1.17-2
> ii libidn11 1.33-1
> ii libk5crypto3 1.17-2
> ii libkrb5-3 1.17-2
> ii libncursesw5 6.0+20161126-1+deb9u2
> ii libnotmuch4 0.23.7-3
> ii libsasl2-2 2.1.27~101-g0780600+dfsg-3
> ii libtinfo5 6.0+20161126-1+deb9u2
> ii libtokyocabinet9 1.4.48-11+b1
>
> Versions of packages mutt recommends:
> ii libsasl2-modules 2.1.27~101-g0780600+dfsg-3
> ii locales 2.28-10
> ii mime-support 3.60
>
> Versions of packages mutt suggests:
> ii aspell 0.60.7~20110707-3+b2
> ii ca-certificates 20161130+nmu1+deb9u1
> ii exim4-daemon-light [mail-transport-agent] 4.89-2+deb9u4
> ii gnupg 2.2.12-1
> ii ispell 3.4.00-5
> pn mixmaster <none>
> ii openssl 1.1.0j-1~deb9u1
> pn urlview <none>
>
> Versions of packages mutt is related to:
> ii mutt 1.7.2-1+deb9u1
>
> -- no debconf information
>
--
Lionel Mamane
Tél: +352 46 67 74
Fax: +352 46 67 76
This message and any attachments may be intended to be confidential,
intended solely for the addressee and/or contain legally privileged
information. Any unauthorised use or dissemination is prohibited.
Unless cryptographically protected, emails are susceptible to
interception, alteration and spoofing, so in case of doubt, please
check by independent means.
We do not make any commitment by email, ever; if this emails appears
to contain a commitment, we will not recognise the latter as valid,
nor as engaging our liability. We make commitments only by a written
paper document signed by at least one person entitled to engage our
liability.