Opened 4 months ago

Closed 4 months ago

#70369 closed defect (fixed)

ruby33: fails to apply patches

Reported by: dbl001 (dbl) Owned by: kimuraw (kimura wataru)
Priority: Normal Milestone:
Component: ports Version: 2.9.3
Keywords: Cc: fhgwright (Fred Wright)
Port: ruby33

Description (last modified by reneeotten (Renee Otten))

On MacOS Sonoma 14.5 it's 'stuck' applying patches.

% sudo port upgrade outdated
--->  Computing dependencies for ruby33
--->  Fetching archive for ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from https://packages.macports.org/ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from http://bos.us.packages.macports.org/ruby33
--->  Applying patches to ruby33
^CError: Aborted: SIGINT received.
(ai) davidlaxer@BlueDiamond-2 clamav % sudo port clean ruby33
Enter PIN for 'Certificate For PIV Authentication (Yubico PIV Authentication)': 
--->  Cleaning ruby33
(ai) davidlaxer@BlueDiamond-2 clamav % sudo port uninstall ruby33
The following versions of ruby33 are currently installed:
 1) ruby33 @3.3.1_0+yjit
 2) ruby33 @3.3.2_0+yjit
 3) ruby33 @3.3.3_0+yjit
 4) ruby33 @3.3.4_0+yjit (active)
Enter option(s) [1-4/all]: y
Please enter numbers separated by a space which are indices from the above list.
Enter option(s) [1-4/all]: all
--->  Uninstalling ruby33 @3.3.1_0+yjit
--->  Uninstalling ruby33 @3.3.2_0+yjit
--->  Uninstalling ruby33 @3.3.3_0+yjit
Note: It is not recommended to uninstall/deactivate a port that has dependents as it breaks the dependents.
The following ports will break:
 asciidoctor @2.0.22_0
 asciidoctor @2.0.23_0
Continue? [y/N]: y
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating ruby33 @3.3.4_0+yjit
--->  Cleaning ruby33
--->  Uninstalling ruby33 @3.3.4_0+yjit
(ai) davidlaxer@BlueDiamond-2 clamav % sudo port install ruby33
--->  Computing dependencies for ruby33
--->  Fetching archive for ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from https://packages.macports.org/ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from http://mirror.fcix.net/macports/packages/ruby33
--->  Attempting to fetch ruby33-3.3.4_1+yjit.darwin_23.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/ruby33
--->  Fetching distfiles for ruby33
--->  Verifying checksums for ruby33
--->  Extracting ruby33
--->  Applying patches to ruby33


Change History (4)

comment:1 Changed 4 months ago by reneeotten (Renee Otten)

Cc: fhgwright added
Description: modified (diff)
Owner: set to kimuraw
Status: newassigned
Summary: ---> Applying patches to ruby33ruby33: fails to apply patches

comment:2 Changed 4 months ago by nihilismus (Antonio Hernández Blas)

The patch patch-vm_insnhelper.c.diff (introduced for revision 1) seems to be wrong, according to this comment: https://github.com/macports/macports-ports/commit/f2be812917312f8d90913f3ce7d832fd0bcca707#r144207104

comment:3 Changed 4 months ago by tglsfdc (Tom Lane)

Yeah, that patch is wrong, causing patch to complain "Reversed (or previously applied) patch detected! Assume -R? [y]", and then it waits for a y/n response that won't be forthcoming since it's not actually attached to a terminal.

BTW, not the fault of the ruby33 port I imagine, but: I lsof'd the stuck process before finding that error message, and noted that the process has a bunch of open file descriptors that patch(1) would have no use for, including some open https sockets. Seems like some parent process(es) in the build procedure are being very sloppy about not marking their files F_CLOEXEC. This could conceivably cause some real issues, for example if EOF on a socket isn't detected when it should be because random child processes are holding the file open.

comment:4 Changed 4 months ago by aeiouaeiouaeiouaeiouaeiouaeiou

Resolution: fixed
Status: assignedclosed

In 7e436691694545b636c0db91de76df2e71a365fe/macports-ports (master):

ruby33: refactor failing patch

Closes: #70348 (reported upstream)
Closes: #70369

Note: See TracTickets for help on using tickets.