[#97086] [Ruby master Bug#16612] Enumerator::ArithmeticSequence#last with float range produces incorrect value — muraken@...
Issue #16612 has been updated by mrkn (Kenta Murata).
4 messages
2020/02/07
[#97095] [PATCH] Modify shebang of libexec/y2racc and libexec/racc2y. — Wang Mingyu <wangmy@...>
change /usr/local/bin/ruby to /usr/bin/env ruby.
3 messages
2020/02/08
[#97307] [Ruby master Feature#16663] Add block or filtered forms of Kernel#caller to allow early bail-out — headius@...
Issue #16663 has been reported by headius (Charles Nutter).
29 messages
2020/02/28
[ruby-core:97066] [Ruby master Misc#16360] Enabling IBM PowerPC/Z cases in Travis CI
From:
jaruga@...
Date:
2020-02-05 16:28:18 UTC
List:
ruby-core #97066
Issue #16360 has been updated by jaruga (Jun Aruga).
https://bugs.ruby-lang.org/issues/16360#note-7
I am still debugging for the "stack level too deep (SystemStackError)" issue that happens on only ppc64le.
When I was debugging with following file,
```
$ cat spec/ruby/library/socket/socket/udp_server_loop_debug3_spec.rb
require_relative '../../../spec_helper'
require 'socket'
describe 'Socket.udp_server_loop debug' do
it 'blocks the caller' do
# socket_block = -> do
# Socket.ip_address_list
# end
socket_block = proc { Socket.ip_address_list }
# This line is okay.
puts "[DEBUG] 1 Socket.ip_address_list"
p Socket.ip_address_list
# This line is error.
# See spec/mspec/lib/mspec/matchers/block_caller.rb
puts "[DEBUG] 2 Socket.ip_address_list with mspec block_caller"
socket_block.should_not block_caller
end
end
```
running like this.
.travis.yml
```
- $SETARCH make test-spec MSPECOPT="-ff -V" SPECOPTS="../spec/ruby/library/socket/socket/udp_server_loop_debug3_spec.rb"
```
The "[DEBUG] 1" `p Socket.ip_address_list` is okay.
But "[DEBUG] 2" when `proc { Socket.ip_address_list }` is used with mspec block_caller, it's not okay. The result is like this.
https://travis-ci.org/junaruga/ruby/jobs/646473964#L2792
Here is the strace's log.
It might be related to the socket with network device and Thread.
```
[pid 17528] getsockname(5, {sa_family=AF_NETLINK, pid=17527, groups=00000000}, [12]) = 0
[pid 17528] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7d7fd6d8d620} ---
```
Rei Odaira, is it possible to run `make test-spec SPECOPTS="spec/ruby/library/socket/socket/udp_server_loop_spec.rb"` on your ppc64le environment? Does it work on your environment?
Thanks.
----------------------------------------
Misc #16360: Enabling IBM PowerPC/Z cases in Travis CI
https://bugs.ruby-lang.org/issues/16360#change-84168
* Author: jaruga (Jun Aruga)
* Status: Open
* Priority: Normal
----------------------------------------
We added `arm64-linux` and `arm32-linux` cases to Travis CI by [the ticket](https://bugs.ruby-lang.org/issues/16234).
The `arm32-linux` case is going to be stable after [this pull-request](https://github.com/ruby/ruby/pull/2686) will be merged.
So, I would like to talk about this topic.
Currently Travis CI has following 4 multiple CPU architectures cases.
* `x86_64-linux` (Intel, 64-bit, Little-endian)
* `arm64-linux` (ARM, 64-bit, Little-endian)
* `i686-linux` (Intel, 32-bit, Little-endian)
* `arm32-linux` (ARM, 32-bit, Little-endian)
And a exciting news came from Travis CI this month.
Now Travis supports `arch: ppc64le` and `arch: s390x` as `arch: arm64` as well.
Build your open source projects on IBM Power and IBM Z CPU architecture
https://blog.travis-ci.com/2019-11-12-multi-cpu-architecture-ibm-power-ibm-z
So, how do you think about adding following 2 cases to Travis CI too?
* `ppc64le-linux` (IBM PowerPC, 64-bit, Little-endian)
* `s390x-linux` (IBM Z/Linux One, 64-bit, Big-endian)
## ppc64le, s390x use cases in Ruby project
* Searching tickets in Redmine, there were some architecture specific issues in the past.
* https://rubyci.org/ has s390x. But it seems it does not have ppc64le.
* s390x is a big-endian. It looks good to check the big-endian specific issue.
## ppc64le, s390x use cases in Linux distributions
For example Ubuntu is supporting ppc64le, s390x, providing the container image.
> https://hub.docker.com/_/ubuntu
> Supported architectures: (more info)
> amd64, arm32v7, arm64v8, i386, ppc64le, s390x
Fedora project is supporting ppc64le, s390x too.
> https://hub.docker.com/_/fedora
> Supported architectures: (more info)
> amd64, arm32v7, arm64v8, ppc64le, s390x
Are you interested in adding the ppc64le and s390x test cases to Travis CI?
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>