#73 do_rsync:29: invalid mode specification
Closed: Fixed Opened by unixops.

Ever since April 30th quick-fedora-mirror script is failing with the output 'do_rsync:29: invalid mode specification'


Could you provide some detail? What is the rsync command line? What operating system and rsync version are you running? What content are you mirroring? What are the log entries leading up to the failure?

$ ./quick-fedora-mirror -d 7
Mirror starting: Wed May 2 10:45:14 MDT 2018

Log: Run start: cfg /etc/quick-fedora-mirror.conf, tmp /data/quick-fedora-mirror/quick-mirror.Y93IfiUZez
Times:
LASTTIME=1525278260
starttime=1525279509
TIMEFILE=/data/quick-fedora-mirror/timefile
Dirs:
tempd=/data/quick-fedora-mirror/quick-mirror.Y93IfiUZez
DESTD=/data/web/htdocs/mirror.colorado.edu/fedora/
Rsync:
REMOTE=rsync://mirrors.kernel.org
MASTERMODULE=fedora-buffet
RSYNC=/usr/bin/rsync
RSYNCOPTS=-aSH -f R .~tmp~ --stats --preallocate --delay-updates --out-format=@ %i %10l %n%L
Modules:
MODULES=fedora-epel
MODULEMAPPING=fedora alt epel archive fedora-secondary
Misc:
VERBOSE=7
============================================================
Log: Remote file list download start
Downloading file lists
do_rsync:29: invalid mode specification

$ uname -a
Linux kludge.colorado.edu 3.10.0-693.21.1.el7.x86_64 #1 SMP Fri Feb 23 18:54:16 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)

$ rsync --version
rsync version 3.1.2 protocol version 31

Please run with -d8 so I can see what is being executed.

I set up an RHEL7 VM and can reproduce. It's just a behavior variance between the current zsh version and the older one that RHEL7 has.

$ quick-fedora-mirror -d8
Mirror starting: Wed May 2 11:24:42 MDT 2018
Log: Run start: cfg /etc/quick-fedora-mirror.conf, tmp /data/quick-fedora-mirror/quick-mirror.Sv5Cs0A8UH
Times:
LASTTIME=1525278260
starttime=1525281876
TIMEFILE=/data/quick-fedora-mirror/timefile
Dirs:
tempd=/data/quick-fedora-mirror/quick-mirror.Sv5Cs0A8UH
DESTD=/data/web/htdocs/mirror.colorado.edu/fedora/
Rsync:
REMOTE=rsync://mirrors.kernel.org
MASTERMODULE=fedora-buffet
RSYNC=/usr/bin/rsync
RSYNCOPTS=-aSH -f R .~tmp~ --stats --preallocate --delay-updates --out-format=@ %i %10l %n%L
Modules:
MODULES=fedora-epel
MODULEMAPPING=fedora alt epel archive fedora-secondary
Misc:
VERBOSE=8
+./quick-fedora-mirror:1363> [[ -n '' ]]
+./quick-fedora-mirror:1372> fetch_file_lists
+fetch_file_lists:5> local extra flname module rsyncreturn
+fetch_file_lists:7> sep
+sep:0> (( VERBOSE >= 2 ))
+sep:0> echo '============================================================'
============================================================
+fetch_file_lists:8> logit o Remote file list download start
+logit:2> local 'item=o'
+logit:3> shift
+logit:4> local 'err='
+logit:5> [[ o == E ]]
+logit:6> [[ o == e ]]
+logit:8> [[ $LOGITEMS -regex-match $item || $LOGITEMS -regex-match '@' ]]
+logit:11> (( VERBOSE >= 3 ))
+logit:12> db3 Log: Remote file list download start
+db3:0> (( VERBOSE >= 3 ))
+db3:0> echo '>>' Log: Remote file list download start

Log: Remote file list download start
+fetch_file_lists:9> db2 Downloading file lists
+db2:0> (( VERBOSE >= 2 ))
+db2:0> echo Downloading file lists
Downloading file lists
+fetch_file_lists:11> typeset -g -A checksums
+fetch_file_lists:12> module=fedora-epel
+fetch_file_lists:14> moduledir=epel
+fetch_file_lists:15> mkdir epel
+fetch_file_lists:16> flname=fullfiletimelist-epel
+fetch_file_lists:17> [[ -f /data/web/htdocs/mirror.colorado.edu/fedora//epel/fullfiletimelist-epel ]]
+fetch_file_lists:18> cp -p /data/web/htdocs/mirror.colorado.edu/fedora//epel/fullfiletimelist-epel epel
+fetch_file_lists:19> ln epel/fullfiletimelist-epel epel/fullfiletimelist-epel.old
+fetch_file_lists:21> checksums[$module]=+fetch_file_lists:21> sha1sum /data/web/htdocs/mirror.colorado.edu/fedora//epel/fullfiletim
elist-epel
+fetch_file_lists:21> checksums[$module]=+fetch_file_lists:21> cut '-d ' -f1
+fetch_file_lists:21> checksums[$module]=aaa7b90ab9a2bba57dc15755136b42500977bc66
+fetch_file_lists:24> echo epel/fullfiletimelist-epel
+fetch_file_lists:27> extra=( --no-dirs --relative --compress )
+fetch_file_lists:28> do_rsync rsync://mirrors.kernel.org/fedora-buffet/ . filelist-transferlist extra
+do_rsync:12> local 'src=rsync://mirrors.kernel.org/fedora-buffet/' 'dest=.' 'files=filelist-transferlist' 'opts=extra'
+do_rsync:13> local 'runcount=0'
+do_rsync:14> mktemp -p . rsync-out-XXXXXX.log
+do_rsync:14> local 'log=./rsync-out-mdTfEk.log'
+do_rsync:15> mktemp -p . rsync-err-XXXXXX.log
+do_rsync:15> local 'errlog=./rsync-err-twzOYC.log'
+do_rsync:16> local sleep rr rvbash rvzsh
+do_rsync:17> local 'rsyncto=--timeout=600'
+do_rsync:19> local -a verboseopts
+do_rsync:22> (( VERBOSE >= 7 ))
+do_rsync:22> verboseopts+=( --progress )
+do_rsync:23> (( VERBOSE >= 5 ))
+do_rsync:23> verboseopts+=( -v )
+do_rsync:24> (( VERBOSE >= 4 ))
+do_rsync:24> verboseopts+=( -v )
+do_rsync:27> (( VERBOSE <= 3 ))
do_rsync:29: invalid mode specification
+./quick-fedora-mirror:1373> rm -rf /data/quick-fedora-mirror/quick-mirror.Sv5Cs0A8UH

Should be fixed by 16535e80777ff51bd14cf4be0372ab03621e01c3. Please pull and let me know.

I now have a functioning RHEL7 test environment so I should be able to catch things like this sooner. Sorry for the bother.

Metadata Update from @tibbs:
- Issue assigned to tibbs

Metadata Update from @tibbs:
- Issue tagged with: bug, incompatibility

Confirmed working in RHEL7 with commit 16535e80777ff51bd14cf4be0372ab03621e01c3.

Thanks for the quick turnaround!

Thanks for the confirmation.

Metadata Update from @tibbs:
- Issue untagged with: bug, incompatibility
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

Metadata