[#97063] [Ruby master Bug#16608] ConditionVariable#wait should return false when timeout exceeded — shugo@...

Issue #16608 has been reported by shugo (Shugo Maeda).

10 messages 2020/02/05

[#97084] [Ruby master Feature#16614] New method cache mechanism for Guild — ko1@...

Issue #16614 has been reported by ko1 (Koichi Sasada).

18 messages 2020/02/07

[#97248] [Ruby master Bug#16651] Extensions Do Not Compile on Mingw64 — cfis@...

Issue #16651 has been reported by cfis (Charlie Savage).

17 messages 2020/02/24

[#97289] [Ruby master Bug#16658] `method__cache__clear` DTrace hook was dropped without replacement — v.ondruch@...

Issue #16658 has been reported by vo.x (Vit Ondruch).

9 messages 2020/02/27

[#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

[#97310] [Ruby master Feature#16665] Add an Array#except_index method — alexandr1golubenko@...

Issue #16665 has been reported by alex_golubenko (Alex Golubenko).

12 messages 2020/02/29

[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>

In This Thread

Prev Next