Bug 2277103 - rubygem-ethon broken by libffi 3.4.6
Summary: rubygem-ethon broken by libffi 3.4.6
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: rubygem-ethon
Version: 42
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Vít Ondruch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-04-25 07:27 UTC by Vít Ondruch
Modified: 2025-02-26 13:01 UTC (History)
10 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Vít Ondruch 2024-04-25 07:27:39 UTC
I have not investigated in detail, but it seems that rubygem-ethon is FTBFS since libffi 3.4.6 has landed in Fedora:

https://kojipkgs.fedoraproject.org/work/tasks/4352/116814352/build.log

This is the specific failure:

~~~
Failed examples:
rspec ./spec/ethon/easy/informations_spec.rb:85 # Ethon::Easy::Informations#request_size returns 53
/usr/bin/rspec: warning: Exception in finalizer #<FFI::AutoPointer::CallableReleaser:0x000003ff98753d98 @ptr=#<FFI::Pointer address=0x000002aa166e3b30>, @proc=#<Method: Ethon::Curl.easy_cleanup(*)>, @autorelease=true>
/usr/share/gems/gems/ffi-1.15.5/lib/ffi/enum.rb:162:in `to_native': invalid enum value, "hi" (ArgumentError)
        raise ArgumentError, "invalid enum value, #{val.inspect}"
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	from /usr/share/gems/gems/ffi-1.15.5/lib/ffi/autopointer.rb:175:in `easy_cleanup'
	from /usr/share/gems/gems/ffi-1.15.5/lib/ffi/autopointer.rb:175:in `call'
	from /usr/share/gems/gems/ffi-1.15.5/lib/ffi/autopointer.rb:175:in `release'
	from /usr/share/gems/gems/ffi-1.15.5/lib/ffi/autopointer.rb:150:in `call'
~~~

Reproducible: Always

Comment 2 Carlos O'Donell 2024-04-25 11:03:08 UTC
We only ran mass-prebuild (https://gitlab.com/fedora/packager-tools/mass-prebuild) against the 3.4.4 build and not 3.4.6 since we expected only minor changes.

At the time we ran mass-prebuild, about 11 months ago, rubygem-ethon was not built in the reverse dependencies list. Indeed it looks like it has only a indirect dependency via 'rubygem(ffi) > 1.3.0'. The rubygem-ffi build was successful with 3.4.4, so perhaps a place to start would be to investigate rubygem-ffi built with the new libffi-3.4.6.

Comment 3 Vít Ondruch 2024-04-25 12:22:19 UTC
BTW after reporting this ticket, I have checked another FTBFS in rubygem-curb (bug 2277105). They both have in common the they are using Curl and both were rebuild after the Curl update. So the Curl update might be the root cause after all. Not sure. I don't have cycles to investigate closer. Sorry :(

Comment 4 DJ Delorie 2024-05-02 03:49:25 UTC
I reviewed the build logs, and I think the root error is here:

Ethon::Easy::Informations
  . . .
  #request_size
    returns 53 (FAILED - 1)

from spec/ethon/easy/informations_spec.rb line 120

I don't know if that test uses libffi, but the part of the log complaining about libffi:

  /usr/share/gems/gems/ffi-1.15.5/lib/ffi/enum.rb:162:in `to_native': invalid enum value, "hi" (ArgumentError)

seems to be part of *reporting* the error, not the error itself.  I suspect this "bug" might be present in previous versions, but without an error to report, went unnoticed.

Also, I don't get this FTBFS in rawhide today, with libcurl-8.7.1-1.fc41.x86_64 and libffi-3.4.6-1.fc41.x86_64.  I note your build is on S/390 but there were no S/390 changes between libffi 3.4.4 and 3.4.6.

Comment 5 Carlos O'Donell 2024-05-31 13:23:17 UTC
Given that DJ did a review and couldn't identify the issue we're passing this back to rubygem-ethon for further review.

Comment 6 Aoife Moloney 2025-02-26 13:01:43 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.


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