Bug 1098151

Summary: TestIO#test_seek and TestIO#test_seek_symwhence unit tests failed on PPC
Product: [Fedora] Fedora Reporter: Karsten Hopp <karsten>
Component: rubyAssignee: Jeroen van Meeuwen <vanmeeuwen+fedora>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: medium    
Version: 22CC: bkabrda, dan, gustavold, hhorak, mmorsi, mtasaka, s, tagoh, vanmeeuwen+fedora, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: ppc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-19 20:25:02 UTC Type: Bug
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:    
Bug Blocks: 1071880    
Attachments:
Description Flags
build.log
none
patch to check if the kernel supports SEEK_DATA/SEEK_HOLE
none
revised lseek patch none

Description Karsten Hopp 2014-05-15 12:02:39 UTC
Created attachment 895873 [details]
build.log

Description of problem:
4) Error:
TestIO#test_seek:
Errno::EINVAL: Invalid argument @ rb_io_seek - /tmp/test_io20140515-16559-1kttlg6
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1696:in `seek'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1696:in `block (2 levels) in test_seek'
    /builddir/build/BUILD/ruby-2.1.1/lib/open-uri.rb:36:in `open'
    /builddir/build/BUILD/ruby-2.1.1/lib/open-uri.rb:36:in `open'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1694:in `block in test_seek'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1432:in `make_tempfile'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1671:in `test_seek'
  5) Error:
TestIO#test_seek_symwhence:
Errno::EINVAL: Invalid argument @ rb_io_seek - /tmp/test_io20140515-16559-yjley0
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1732:in `seek'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1732:in `block (2 levels) in test_seek_symwhence'
    /builddir/build/BUILD/ruby-2.1.1/lib/open-uri.rb:36:in `open'
    /builddir/build/BUILD/ruby-2.1.1/lib/open-uri.rb:36:in `open'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1730:in `block in test_seek_symwhence'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1432:in `make_tempfile'
    /builddir/build/BUILD/ruby-2.1.1/test/ruby/test_io.rb:1712:in `test_seek_symwhence'
15005 tests, 2457850 assertions, 0 failures, 2 errors, 31 skips

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Karsten Hopp 2014-05-15 12:03:22 UTC
Steps to Reproduce:
1: ppc-koji build --scratch f21 ruby-2.1.1-19.fc21.src.rpm

Comment 2 Dan Horák 2014-05-15 12:12:31 UTC
I think this is a known problem when you run the build on old kernel. There are new SEEK_* options in headers (found by configure and used in build), but they are not supported by the old kernel.

Comment 3 Karsten Hopp 2014-05-15 15:20:22 UTC
Created attachment 895977 [details]
patch to check if the kernel supports SEEK_DATA/SEEK_HOLE

taken from http://mla.n-z.jp/~w3ml/w3ml.cgi/ruby-changes/msg/33585 and
https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/45783/entry/test/ruby/test_io.rb

Tests succeeded on ppc and ppc64, but fail on the primary archs for an unrelated reason

Comment 4 Karsten Hopp 2014-05-15 16:05:43 UTC
hmm, close but not quite there yet. PPC failed later on with a statfs error.

Comment 5 Karsten Hopp 2014-05-16 22:40:58 UTC
Created attachment 896528 [details]
revised lseek patch

Scratch builds with this patch succeeded on PPC (RHEL-6 koji builder with kernel 2.6.32) and on primary archs with a much newer 3.x Fedora kernel.

http://koji.fedoraproject.org/koji/taskinfo?taskID=6857405
http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=1843890

Comment 6 Vít Ondruch 2014-05-19 09:54:57 UTC
Karsten,

Thanks for the patch. However, I hesitate to apply this patch and carry it in Fedora forever. Would you mind to propose this patch to Ruby upstream or should I?

Comment 7 Karsten Hopp 2014-05-27 09:36:21 UTC
as this is a stripped down version of the upstream patch, I'd expect that this patch becomes obsolete with the next ruby release. So there's no need to bounce that back to upstream, they are aware of the issue and fixed it already in ruby-trunk

Comment 8 Jaroslav Reznik 2015-03-03 15:48:48 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 9 Fedora End Of Life 2016-07-19 20:25:02 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.