Bug 689868

Summary: pattern matching failure
Product: [Fedora] Fedora Reporter: Michał Piotrowski <mkkp4x4>
Component: bashAssignee: Roman Rakus <rrakus>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: bugs.michael, maxamillion, rrakus, tsmetana, twaugh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: bash-4.2.8-2.fc15 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-04-02 05:58:34 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:
Attachments:
Description Flags
quilt trace
none
testcase none

Description Michał Piotrowski 2011-03-22 17:18:35 UTC
Created attachment 486851 [details]
quilt trace

Description of problem:

$ quilt push -a

Applying patch patches/symfony_0001_add_options_to_i18n_class.patch
patching file lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/form/sfFormDoctrine.class.php
Patch patches/symfony_0001_add_options_to_i18n_class.patch appears to
be empty; applied

Applying patch patches/symfony_0002_memcache_throw_error_when_configuration_unavailable.patch
patching file lib/vendor/symfony/lib/cache/sfMemcacheCache.class.php
Patch patches/symfony_0002_memcache_throw_error_when_configuration_unavailable.patch
appears to be empty; applied

Applying patch patches/symfony_0003_fix_doctrine_locking.patch
patching file lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Locking/Manager/Pessimistic.php
Patch patches/symfony_0003_fix_doctrine_locking.patch appears to be
empty; applied

Applying patch patches/symfony_0004_remove_creation_of_doctrine_lock_tracking_from_constructor.patch
patching file lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Locking/Manager/Pessimistic.php
Patch patches/symfony_0004_remove_creation_of_doctrine_lock_tracking_from_constructor.patch
appears to be empty; applied

Applying patch patches/symfony_0005_i18n_extract_follow_link.patch
patching file lib/vendor/symfony/lib/i18n/extract/sfI18nApplicationExtract.class.php
Patch patches/symfony_0005_i18n_extract_follow_link.patch appears to
be empty; applied

Applying patch patches/sfSphinxPlugin_0001_revert_sphinx_1_10_beta_compatibility_update.patch
patching file plugins/sfSphinxPlugin/lib/sfSphinxClient.class.php
Patch patches/sfSphinxPlugin_0001_revert_sphinx_1_10_beta_compatibility_update.patch
appears to be empty; applied

Now at patch patches/sfSphinxPlugin_0001_revert_sphinx_1_10_beta_compatibility_update.patch

$ quilt pop -a
Patch patches/sfSphinxPlugin_0001_revert_sphinx_1_10_beta_compatibility_update.patch
appears to be empty, removing
rmdir: failed to remove
`.pc/sfSphinxPlugin_0001_revert_sphinx_1_10_beta_compatibility_update.patch':
Directory not empty


I runned quilt with --trace option and I think that the problem lies here

++ '[' -e lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Locking/Manager/Pessimistic.php ']'
++ diff -q quilt.sbUu1a/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Locking/Manager/Pessimistic.ph
p lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Locking/Manager/Pessimistic.php
++ failed=1

Strange thing is that it worked on F14 when I used it last time, so it might not be diffutils problem.

I'm attaching quilt trace

Comment 1 Tim Waugh 2011-03-23 10:07:04 UTC
Just noting this from the devel mailing list so that it doesn't get forgotten:

"I downgraded patch, diffutils and quilt - and the problem still occurs. Strange."

Comment 2 Michał Piotrowski 2011-03-23 10:19:12 UTC
I can do some simple test case for this issue later.

Comment 3 Michał Piotrowski 2011-03-23 10:21:08 UTC
(In reply to comment #2)
> I can do some simple test case for this issue later.

Of course, if it will be useful. It seems to me that the problem should be reproducible on every tree that uses quilt.

Comment 4 Tim Waugh 2011-03-28 14:54:17 UTC
I don't have any experience of using quilt.  Please attach a simple test case -- thanks.

Comment 5 Michał Piotrowski 2011-03-28 19:56:07 UTC
Created attachment 488241 [details]
testcase

Comment 6 Michał Piotrowski 2011-03-28 19:59:46 UTC
I created a simple test case. Just do

$ quilt push -a
Applying patch patches/p2.patch
patching file data.txt
Patch patches/p2.patch appears to be empty; applied

Applying patch patches/p3.patch
patching file data.txt
Patch patches/p3.patch appears to be empty; applied

Applying patch patches/p4.patch
patching file data.txt
Patch patches/p4.patch appears to be empty; applied

Applying patch patches/p5.patch
patching file data.txt
Patch patches/p5.patch appears to be empty; applied

Now at patch patches/p5.patch

and later

$ quilt pop -a

to see

Patch patches/p5.patch appears to be empty, removing
rmdir: failed to remove `.pc/p5.patch': Directory not empty

Best regards,
Michal

Comment 7 Michael Schwendt 2011-03-29 19:50:03 UTC
Downgrading bash to 4.2.0-0.1.rc2.fc15 fixes it.
Why I tried that?

/usr/share/quilt/push does:

elif [ -z "$(shopt -s nullglob ; echo "$QUILT_PC/$patch/"*)" ]
then
	printf $"Patch %s appears to be empty; applied\n" \
	       "$(print_patch $patch)"

and the bash %changelog mentions suspicious entries, such as:

* Wed Feb 16 2011 Roman Rakus <rrakus> - 4.2.0-2
- pattern matching glitch, patch from upstream

Comment 8 Michał Piotrowski 2011-03-29 20:18:45 UTC
Thanks for tracking down the source of the problem

Comment 9 Michael Schwendt 2011-03-29 20:51:03 UTC
With old bash:

$ cd quilt-test
$ QUILT_PC=.pc
$ patch=p2.patch
$ shopt -s nullglob ; echo "$QUILT_PC/$patch/"*
.pc/p2.patch/data.txt
$

With current bash:

$ cd quilt-test
$ QUILT_PC=.pc
$ patch=p2.patch
$ shopt -s nullglob ; echo "$QUILT_PC/$patch/"*

$

That's why the -z test results differ.

Comment 10 Roman Rakus 2011-03-30 15:02:05 UTC
Thanks for the report. The problem is in bash-4.2-xdupmbstowcs2-patch. I will revert it.

Comment 11 Fedora Update System 2011-03-31 13:57:58 UTC
bash-4.2.8-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/bash-4.2.8-2.fc15

Comment 12 Fedora Update System 2011-03-31 19:43:25 UTC
Package bash-4.2.8-2.fc15:
* should fix your issue,
* was pushed to the Fedora 15 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing bash-4.2.8-2.fc15'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/bash-4.2.8-2.fc15
then log in and leave karma (feedback).

Comment 13 Fedora Update System 2011-04-02 05:58:29 UTC
bash-4.2.8-2.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.