Bug 439074

Summary: rsync 3.0.1pre -H fails assertion
Product: [Fedora] Fedora Reporter: Alexandre Oliva <oliva>
Component: rsyncAssignee: Simo Sorce <ssorce>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-03-27 19:57:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alexandre Oliva 2008-03-26 20:12:41 UTC
Description of problem:
rsync fails an assertion when using -H

Version-Release number of selected component (if applicable):
rsync-3.0.1-0.1.pre1.fc9.x86_64

How reproducible:
Every time

Steps to Reproduce:
1. .../fedora/linux/releases/test/9-Beta was rsynced from the web site
before the rsync update, with --exclude=/Fedora/*/iso/*.iso
--exclude=/Live/*/*.iso in case it matters (and to make the download much faster)

2. I took two copies of the beta

# cp -lR .../fedora/linux/releases/test/9-Beta/. .../somewhere
# cp -lR .../fedora/linux/releases/test/9-Beta/. .../elsewhere/9-Beta

3. Use rsync just to adjust the timestamps of the directories
# rsync -aH .../fedora/linux/releases/test/9-Beta/ .../elsewhere/9-Beta/

Actual results:
rsync: hlink.c:508: finish_hard_link: Assertion `(((unsigned char
*)(node->data))[0]) == 0' failed.

Expected results:
This works just fine with rsync-3.0.0-1.fc9

Additional info:

Comment 1 Alexandre Oliva 2008-03-26 20:59:44 UTC
Standalone minimal reproducer script (involves a 4M download, I couldn't shrink
it further):

# prepare works
rm -rf scratch1 scratch2
rsync -aH rsync://fedora.c3sl.ufpr.br/fedora/linux/releases/test/9-Beta/Fedora/
scratch1/ --include=/i386/os/repoview/[pswx]*.html --exclude=/i386/os/repoview/*
--include=/i386/os/repoview
--include={i386,x86_64}/os/Packages/Xaw3d-devel-1.5E-11.1.i386.rpm
--exclude={i386,x86_64}/os/Packages/* --include={i386,x86_64}/os/Packages
--exclude=/{i386,x86_64}/os/* --include=/{x86_64,i386}/os
--exclude=/{i386,x86_64}/* --include=/{i386,x86_64} --exclude=/* --progress

# first copy works, creates link
rsync -aH scratch1/ scratch2/

# second copy fails
rsync -aH scratch1/ scratch2/


Comment 2 Simo Sorce 2008-03-27 19:57:46 UTC
Wayne fixed it in 3.0.1pre2