ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
@ 2021-04-10  4:41 hanlyusarang
  2021-04-10  6:28 ` [ruby-core:103366] " mame
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: hanlyusarang @ 2021-04-10  4:41 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been reported by hanlyusarang (Hanlyu Sarang).

----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:103366] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
  2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
@ 2021-04-10  6:28 ` mame
  2021-04-10 17:48 ` [ruby-core:103379] " hanlyusarang
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: mame @ 2021-04-10  6:28 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been updated by mame (Yusuke Endoh).


Sorry for a less informative reply, but Ruby is not yet tested well with 64 bit Raspberry Pi. I have no environment to reproduce the issue. Contribution is welcome.

I see a similar random failure on our CI (raspbian10-aarch64, still beta) but I'm unsure if it is the same issue. And I cannot log in to the machine. @znz can you check it out?
http://rubyci.s3.amazonaws.com/raspbian10-aarch64/ruby-master/log/20210410T023158Z.fail.html.gz

----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792#change-91457

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:103379] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
  2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
  2021-04-10  6:28 ` [ruby-core:103366] " mame
@ 2021-04-10 17:48 ` hanlyusarang
  2021-04-10 19:56 ` [ruby-core:103380] " xtkoba+ruby
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: hanlyusarang @ 2021-04-10 17:48 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been updated by hanlyusarang (Hanlyu Sarang).


Another FYI: The RaspberryPI 4B uses a microSD card (class 10) for the OS and all installed software. I was building Ruby on a 32GB version of this card. 

The I/O on a microSD card is much slower than on a 5400 RPM HD, and much, much slower than on an SSD. I know from experience that the speed difference between the microSD card and the SSD is something on the order of 10 for intensive I/O operations.

If the test routine that failed was using a timeout mechanism. then perhaps the amount of time allowed was insufficient. But when I build Ruby on the same machine and type of card using a 32-bit Debian-like OS, no test failures. So, maybe the media speed is not a factor?

----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792#change-91472

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:103380] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
  2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
  2021-04-10  6:28 ` [ruby-core:103366] " mame
  2021-04-10 17:48 ` [ruby-core:103379] " hanlyusarang
@ 2021-04-10 19:56 ` xtkoba+ruby
  2021-04-10 20:17 ` [ruby-core:103381] " hanlyusarang
  2021-05-23 20:23 ` [ruby-core:104002] " xtkoba+ruby
  4 siblings, 0 replies; 6+ messages in thread
From: xtkoba+ruby @ 2021-04-10 19:56 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been updated by xtkoba (Tee KOBAYASHI).


The test code at [bootstraptest/test_io.rb:87](https://github.com/ruby/ruby/blob/0fb782ee38ea37fd5fe8b1f775f8ad866a82a3f0/bootstraptest/test_io.rb#L87) is as follows. Try running it separately and see what happens.

```ruby
at_exit { p :foo }

megacontent = "abc" * 12345678
#File.open("megasrc", "w") {|f| f << megacontent }

t0 = Thread.main
Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }

r1, w1 = IO.pipe
r2, w2 = IO.pipe
t1 = Thread.new { w1 << megacontent; w1.close }
t2 = Thread.new { r2.read; r2.close }
IO.copy_stream(r1, w2) rescue nil
w2.close
r1.close
t1.join
t2.join
```

Timeout does not tell whether the code execution just takes longer than expected or hangs up forever.

----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792#change-91473

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:103381] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
  2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
                   ` (2 preceding siblings ...)
  2021-04-10 19:56 ` [ruby-core:103380] " xtkoba+ruby
@ 2021-04-10 20:17 ` hanlyusarang
  2021-05-23 20:23 ` [ruby-core:104002] " xtkoba+ruby
  4 siblings, 0 replies; 6+ messages in thread
From: hanlyusarang @ 2021-04-10 20:17 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been updated by hanlyusarang (Hanlyu Sarang).


The test code took almost two minutes to run, and it failed:

# TEST RESULTS:
pi> ruby test.rb 
:foo
test.rb:13:in `copy_stream': Interrupt
	from test.rb:13:in `<main>'

# LINE 13: IO.copy_stream(r1, w2) rescue nil

# TEST CODE:
at_exit { p :foo }

megacontent = "abc" * 12345678
#File.open("megasrc", "w") {|f| f << megacontent }

t0 = Thread.main
Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }

r1, w1 = IO.pipe
r2, w2 = IO.pipe
t1 = Thread.new { w1 << megacontent; w1.close }
t2 = Thread.new { r2.read; r2.close }
IO.copy_stream(r1, w2) rescue nil
w2.close
r1.close
t1.join
t2.join


----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792#change-91474

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [ruby-core:104002] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
  2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
                   ` (3 preceding siblings ...)
  2021-04-10 20:17 ` [ruby-core:103381] " hanlyusarang
@ 2021-05-23 20:23 ` xtkoba+ruby
  4 siblings, 0 replies; 6+ messages in thread
From: xtkoba+ruby @ 2021-05-23 20:23 UTC (permalink / raw)
  To: ruby-core

Issue #17792 has been updated by xtkoba (Tee KOBAYASHI).


Interruption in `copy_stream` is what this test is intended for, and so the result of the test in #note-4 is a success. But taking about 2 minutes to finish is unexpected to me. Possibly due to a bug in the pthread library?

FWIW, the `megacontent-copy_stream` test in `bootstraptest/test_io.rb` is known to fail on Cygwin (#1388, #5055, #7781; all rejected). This is different from the case here in that it never finishes on Cygwin (which I have confirmed).

I also have found that the timeout issue of this test is reported for kFreeBSD (https://bugs.debian.org/881779).

----------------------------------------
Bug #17792: make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64
https://bugs.ruby-lang.org/issues/17792#change-92139

* Author: hanlyusarang (Hanlyu Sarang)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [aarch64-linux]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
I am building Ruby 3.01 from sources on a RaspberryPI 4B running Ubuntu 20.10 ARM64.

This is my first day using this PI4B + Ubuntu 20.10 ARM64, and this is the first time I have attempted to build Ruby on it.
I received a few notes during compilation and one failure during testing.

Note that on the previous day, I built the same Ruby sources on the same machine running RaspberryPI OS (32-bit Debian), no problems. FYI, you can use either a 32-bit or a 64-bit OS on the RasberryPI 4B.

Anyway, here are the details of what I experienced on the PI4B using Ubuntu 20.10 ARM64:

During the make, I get a few notes:

compiling parse.c
parse.y: In function ‘node_assign’:
parse.y:11265:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
11265 | node_assign(struct parser_params *p, NODE *lhs, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~
parse.y: In function ‘new_const_op_assign’:
parse.y:12283:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12283 | new_const_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~~~~~~~
parse.y: In function ‘new_op_assign’:
parse.y:12196:1: note: parameter passing for argument of type ‘struct lex_context’ changed in GCC 9.1
12196 | new_op_assign(struct parser_params *p, NODE *lhs, ID op, NODE *rhs, struct lex_context ctxt, const YYLTYPE *loc)
      | ^~~~~~~~~~~~~
compiling proc.c

The build is successful, but when I run make test, I get one failure

/home/pi/builds/ruby-3.0.1# make test
	BASERUBY = /usr/bin/ruby --disable=gems
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -std=gnu99 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -fPIE -I. -I.ext/include/aarch64-linux -I./include -I. -I./enc/unicode/12.1.0
	CPPFLAGS =   
	DLDFLAGS = -Wl,--compress-debug-sections=zlib -fstack-protector-strong -pie  
	SOLIBS = -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm 
	LANG = en_US.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

./revision.h unchanged
#655 test_io.rb:87:in `block in <top (required)>': 
       at_exit { p :foo }
   
       megacontent = "abc" * 12345678
       #File.open("megasrc", "w") {|f| f << megacontent }
   
       t0 = Thread.main
       Thread.new { sleep 0.001 until t0.stop?; Process.kill(:INT, $$) }
   
       r1, w1 = IO.pipe
       r2, w2 = IO.pipe
       t1 = Thread.new { w1 << megacontent; w1.close }
       t2 = Thread.new { r2.read; r2.close }
       IO.copy_stream(r1, w2) rescue nil
       w2.close
       r1.close
       t1.join
       t2.join
  #=> killed by SIGKILL (signal 9) (timeout)  megacontent-copy_stream
test_io.rb              FAIL 1/9
Fiber count: 10000 (skipping)
FAIL 1/1486 tests failed
make: *** [uncommon.mk:766: yes-btest-ruby] Error 1

I went ahead and did the make install, which succeeded.
I now have an installation of Ruby which I will be working with over the next few months to see if it works OK.

If you need more info, please let me know.




-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-05-23 20:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-10  4:41 [ruby-core:103364] [Ruby master Bug#17792] make notes and make test fail with Ruby3.0.1p64 RaspberryPI 4B Ubuntu 20.10 ARM64 hanlyusarang
2021-04-10  6:28 ` [ruby-core:103366] " mame
2021-04-10 17:48 ` [ruby-core:103379] " hanlyusarang
2021-04-10 19:56 ` [ruby-core:103380] " xtkoba+ruby
2021-04-10 20:17 ` [ruby-core:103381] " hanlyusarang
2021-05-23 20:23 ` [ruby-core:104002] " xtkoba+ruby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).