Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1308057
Summary: | rubygem-occi-core: FTBFS in rawhide | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Fedora Release Engineering <releng> | ||||||||||
Component: | rubygem-occi-core | Assignee: | František Dvořák <valtri> | ||||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||
Severity: | unspecified | Docs Contact: | |||||||||||
Priority: | unspecified | ||||||||||||
Version: | 24 | CC: | mtasaka, valtri, vondruch | ||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | rubygem-occi-core-4.3.2-4.fc24 | Doc Type: | Bug Fix | ||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2016-07-02 15:29:19 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: | |||||||||||||
Bug Depends On: | 1308101 | ||||||||||||
Bug Blocks: | 1305208, 1308055, 1308056 | ||||||||||||
Attachments: |
|
Description
Fedora Release Engineering
2016-02-13 22:22:15 UTC
Created attachment 1126231 [details]
build.log
Created attachment 1126232 [details]
root.log
Created attachment 1126233 [details]
state.log
Peculiar error from dnf: Skipping packages with conflicts: (add '--best --allowerasing' to command line to force their upgrade): rubygem-bigdecimal x86_64 1.2.8-54.fc24 fedora 87 k rubygem-did_you_mean x86_64 1.0.0-54.fc24 fedora 219 k rubygem-io-console x86_64 0.4.5-54.fc24 fedora 58 k Maybe fixing build of rubygems and its rebuild could help? Caused by this change https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=52591 This can be reproduced even on Fedora 23 if you modify /usr/share/ruby/set.rb , around lines like --------------------------------------------------------- # Replaces the elements with ones returned by collect(). def collect! block_given? or return enum_for(__method__) # ruby 2.2. definition #set = self.class.new #each { |o| set << yield(o) } #replace(set) # ruby 2.3 definition replace(self.class.new(self) { |o| yield(o) }) end -------------------------------------------------------- Backtrace actually shows this. Vit, is it "legal" to call collect! in class initializer? The code in question here is: --------------------------------------------------------- 1 module Occi 2 module Core 3 class Categories < Set 4 5 include Occi::Helpers::Inspect 6 include Occi::Helpers::Comparators::Categories 7 8 attr_accessor :model 9 10 def initialize(categories=[]) 11 categories.collect! { |category| convert category } if categories <================================== 12 super categories 13 end --------------------------------------------------------- (In reply to Mamoru TASAKA from comment #5) > Vit, is it "legal" to call collect! in class initializer? I have not a chance to dig deep enough to understand the problem, but generally, I can't see any reason why collect! should not be called. But since you identified the upstream change responsible for this issue and the code used to work but it does not work anymore, I would open upstream bug, since "microptimization" and "readability" can be hardly justification for regression. This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle. Changing version to '24'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase Is it by a chance fixed by Ruby 2.3.1 (in Fedora 24/Rawhide)? No, still the same error, built with ruby 2.3.1-56.fc25 (http://koji.fedoraproject.org/koji/taskinfo?taskID=14276169) I guess we should report that to bugs.ruby-lang.org? In the meantime it could be worked-around by patch in rubygem-occi-core. Created attachment 1162501 [details]
example of collect in initializer
Attaching the simple example showing the problem.
If you would ask this upstream, I would appreciate it (I think it is best to report this upstream) Reported upstream to move forward with this issue. rubygem-occi-core-4.3.2-4.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-87be38c14e Worked around using this patch (based on the ruby change 52591): http://pkgs.fedoraproject.org/cgit/rpms/rubygem-occi-core.git/plain/ftbfs-ruby23.patch Theoretically there could be some side effects (it's a hack! :-)), but this gem and all dependencies are covered by tests so it should be all right. Thanks! valtri's rubygem-occi-core-4.3.2-4.fc25 completed http://koji.fedoraproject.org/koji/buildinfo?buildID=773958 rubygem-occi-core-4.3.2-4.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-87be38c14e rubygem-occi-core-4.3.2-4.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. |