[#115884] Windows Ruby 3.2.2: Non-English character added to Windows Registry String Value — Jay Mav via ruby-core <ruby-core@...>
Hello,
3 messages
2023/12/24
[ruby-core:115656] [Ruby master Bug#20048] UDPSocket#remote_address spec errors
From:
"mtasaka (Mamoru Tasaka) via ruby-core" <ruby-core@...>
Date:
2023-12-08 05:35:22 UTC
List:
ruby-core #115656
Issue #20048 has been updated by mtasaka (Mamoru Tasaka).
Not sure if this is the right resolution, but at least the following change makes the above tests pass:
```
diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c
index 683f9fa4b4..ad4f7267fb 100644
--- a/ext/socket/raddrinfo.c
+++ b/ext/socket/raddrinfo.c
@@ -976,6 +976,11 @@ rsock_getaddrinfo(VALUE host, VALUE port, struct addrinfo *hints, int socktype_h
}
if (!resolved) {
+#ifdef HAVE_CONST_AI_ADDRCONFIG
+ if (!hostp) {
+ hints->ai_flags &= ~AI_ADDRCONFIG;
+ }
+#endif
error = rb_getaddrinfo(hostp, portp, hints, &ai);
if (error == 0) {
res = (struct rb_addrinfo *)xmalloc(sizeof(struct rb_addrinfo));
```
`man getaddrinfo` says `If hints.ai_flags includes the AI_ADDRCONFIG flag, .... The loopback address is not considered for this case as valid as a configured address` , but perhaps some loopback mechanism is needed.
----------------------------------------
Bug #20048: UDPSocket#remote_address spec errors
https://bugs.ruby-lang.org/issues/20048#change-105593
* Author: vo.x (Vit Ondruch)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.3.0dev (2023-12-07 master 071df40495) [x86_64-linux]
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
Testing of Fedora Rawhide, we have recently started to observe following errors:
~~~
$ make -C redhat-linux-build test-spec MSPECOPT="-fs ../spec/ruby/library/socket/udpsocket"
... snip ...
1)
An exception occurred during: before :each
UDPSocket#local_address using IPv4 using an implicit hostname the returned Addrinfo uses the correct IP address ERROR
Socket::ResolutionError: getaddrinfo: Name or service not known
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:66:in `connect'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:66:in `block (4 levels) in <top (required)>'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:4:in `<top (required)>'
2)
An exception occurred during: before :each
UDPSocket#local_address using IPv6 using an implicit hostname the returned Addrinfo uses the correct IP address ERROR
Socket::ResolutionError: getaddrinfo: Name or service not known
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:66:in `connect'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:66:in `block (4 levels) in <top (required)>'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/local_address_spec.rb:4:in `<top (required)>'
3)
An exception occurred during: before :each
UDPSocket#remote_address using IPv4 using an implicit hostname the returned Addrinfo uses the correct IP address ERROR
Socket::ResolutionError: getaddrinfo: Name or service not known
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:65:in `connect'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:65:in `block (4 levels) in <top (required)>'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:4:in `<top (required)>'
4)
An exception occurred during: before :each
UDPSocket#remote_address using IPv6 using an implicit hostname the returned Addrinfo uses the correct IP address ERROR
Socket::ResolutionError: getaddrinfo: Name or service not known
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:65:in `connect'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:65:in `block (4 levels) in <top (required)>'
/builddir/build/BUILD/ruby-3.3.0-071df40495/spec/ruby/library/socket/udpsocket/remote_address_spec.rb:4:in `<top (required)>'
Finished in 0.020615 seconds
11 files, 95 examples, 123 expectations, 0 failures, 4 errors, 0 tagged
make: *** [uncommon.mk:983: yes-test-spec] Error 1
make: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-071df40495/redhat-linux-build'
~~~
Please note that the build environment does not have network connection enabled by default. As soon as the network connection is available, the test cases pass just fine.
This started to happen between these two commits:
https://github.com/ruby/ruby/compare/c8b60c8ac2c8bbd077150792b5b207e983ab3634...071df40495e31f6d3fd14ae8686b01edf9a689e3
Where the culprit likely is commit:git|d2ba8ea54a4089959afdeecdd963e3c4ff391748
Originally reported [here](https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LEQADI6FCX74KSWJZKSJRBAJIS7EMUQS/)
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/