Bug 689868 - pattern matching failure
Summary: pattern matching failure
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: bash
Version: 15
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Roman Rakus
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-03-22 17:18 UTC by Michał Piotrowski
Modified: 2014-01-13 00:13 UTC (History)
5 users (show)

Fixed In Version: bash-4.2.8-2.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-04-02 05:58:34 UTC


Attachments (Terms of Use)
quilt trace (8.12 KB, application/octet-stream)
2011-03-22 17:18 UTC, Michał Piotrowski
no flags Details
testcase (10.00 KB, application/octet-stream)
2011-03-28 19:56 UTC, Michał Piotrowski
no flags Details

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@redhat.com> - 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.


Note You need to log in before you can comment on or make changes to this bug.