[#103680] [Ruby master Bug#17843] Ruby on Rails error[BUG] Segmentation fault at 0x0000000000000110 ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-darwin15] (#42110) — nayaronfire@...

Issue #17843 has been reported by nayaronfire (kk nayar).

7 messages 2021/05/01

[#103686] [Ruby master Misc#17845] Windows Ruby - ucrt build? — Greg.mpls@...

Issue #17845 has been reported by MSP-Greg (Greg L).

22 messages 2021/05/01

[#103690] [Ruby master Bug#17846] Percent mode changes the output from ERB beyond what is documented — wolf@...

Issue #17846 has been reported by graywolf (Gray Wolf).

8 messages 2021/05/02

[#103724] [Ruby master Feature#17849] Fix Timeout.timeout so that it can be used in threaded Web servers — duerst@...

Issue #17849 has been reported by duerst (Martin Dst).

22 messages 2021/05/05

[#103756] [Ruby master Feature#17853] Add Thread#thread_id — komamitsu@...

Issue #17853 has been reported by komamitsu (Mitsunori Komatsu).

11 messages 2021/05/06

[#103801] [Ruby master Feature#17859] Start IRB when running just `ruby` — deivid.rodriguez@...

Issue #17859 has been reported by deivid (David Rodr刕uez).

18 messages 2021/05/12

[#103866] [Ruby master Bug#17866] Incompatible changes with Psych 4.0.0 — hsbt@...

Issue #17866 has been reported by hsbt (Hiroshi SHIBATA).

13 messages 2021/05/17

[#103892] [Ruby master Bug#17871] TestGCCompact#test_ast_compacts test failing again — jaruga@...

Issue #17871 has been reported by jaruga (Jun Aruga).

11 messages 2021/05/19

[#103912] [Ruby master Bug#17873] Update of default gems in Ruby 3.1 — hsbt@...

Issue #17873 has been reported by hsbt (Hiroshi SHIBATA).

38 messages 2021/05/20

[#103971] [Ruby master Bug#17880] [BUG] We are killing the stack canary set by `opt_setinlinecache` — jean.boussier@...

Issue #17880 has been reported by byroot (Jean Boussier).

8 messages 2021/05/22

[#103974] [Ruby master Feature#17881] Add a Module#const_added callback — jean.boussier@...

Issue #17881 has been reported by byroot (Jean Boussier).

29 messages 2021/05/22

[#104004] [Ruby master Feature#17883] Load bundler/setup earlier to make `bundle exec ruby -r` respect Gemfile — mame@...

Issue #17883 has been reported by mame (Yusuke Endoh).

21 messages 2021/05/24

[#104109] [Ruby master Feature#17930] Add column information into error backtrace — mame@...

Issue #17930 has been reported by mame (Yusuke Endoh).

34 messages 2021/05/31

[ruby-core:103921] [Ruby master Bug#17871] TestGCCompact#test_ast_compacts test failing again

From: jaruga@...
Date: 2021-05-20 17:51:09 UTC
List: ruby-core #103921
Issue #17871 has been updated by jaruga (Jun Aruga).


Running the each test in test/ruby/test_gc_compact.rb on the above environment, here is the result. The failed test is not only the test_ast_compacts test.

* test_enable_autocompact : ok
* test_disable_autocompact : ok
* test_major_compacts : ok
* test_implicit_compaction_does_something : ok
* test_gc_compact_stats : error
* test_complex_hash_keys : error
* test_ast_compacts : error
* test_compact_count : error

Here are the the commands I executed.

```
$ make test-all TESTS="-v -n test_enable_autocompact test/ruby/test_gc_compact.rb"
  # => ok
$ make test-all TESTS="-v -n test_disable_autocompact test/ruby/test_gc_compact.rb"
  # => ok
$ make test-all TESTS="-v -n test_major_compacts test/ruby/test_gc_compact.rb"
  # => ok
$ make test-all TESTS="-v -n test_implicit_compaction_does_something test/ruby/test_gc_compact.rb"
  # => ok
```

```
$ make test-all TESTS="-v -n test_gc_compact_stats test/ruby/test_gc_compact.rb"
  # => error (Segmentation fault)
$ make test-all TESTS="-v -n test_complex_hash_keys test/ruby/test_gc_compact.rb"
  # => error (Segmentation fault)
$ make test-all TESTS="-v -n test_ast_compacts test/ruby/test_gc_compact.rb"
  # => error (<internal:gc>:213: [BUG] Couldn't unprotect page 0x00000216f95c4000)
$ make test-all TESTS="-v -n test_compact_count test/ruby/test_gc_compact.rb"
  # => error (Segmentation fault)
```


----------------------------------------
Bug #17871: TestGCCompact#test_ast_compacts test failing again
https://bugs.ruby-lang.org/issues/17871#change-92051

* Author: jaruga (Jun Aruga)
* Status: Open
* Priority: Normal
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
This issue was found by @mame yesterday on our new Power 9 server. I would like to open the ticket.

The test failure was reported and fixed on the #17306 6 months ago.
However on the latest master `adcbae8d49ec04d365ce13274783b1495c3c7d0e`, Power 9 (ppc64le) Ubuntu focal, I see the TestGCCompact#test_ast_compacts test fails.

```
$ lscpu | head -3
Architecture:                    ppc64le
Byte Order:                      Little Endian
CPU(s):                          8

$ lscpu | grep ^Model
Model:                           2.2 (pvr 004e 1202)
Model name:                      POWER9 (architected), altivec supported

$ uname -m
ppc64le

$ cat /etc/os-release | head -3
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu

$ gcc --version
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 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.

$ autoconf
$ ./configure \
  --prefix=${HOME}/local/ruby-master-adcbae8 \
  --enable-shared
$ make
$ make install
$ make check 2>&1 | tee check.log
...
<internal:gc>:213: [BUG] Couldn't unprotect page 0x00000a1b33ba8000
ruby 3.1.0dev (2021-05-19T05:24:01Z master adcbae8d49) [powerpc64le-linux]

-- Control frame information -----------------------------------------------
c:0031 p:0003 s:0174 e:000173 METHOD <internal:gc>:213
c:0030 p:0026 s:0170 e:000169 METHOD /home/jaruga/git/ruby/ruby/test/ruby/test_gc_compact.rb:154
...
c:0001 p:0000 s:0003 E:001550 (none) [FINISH]
...

-- C level backtrace information -------------------------------------------
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_bugreport+0x1b4) [0x7441be9c78f4] vm_dump.c:759
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_bug_without_die+0x9c) [0x7441be740dec] error.c:777
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(die+0x0) [0x7441be6807dc] error.c:785
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_bug) error.c:787
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(unlock_page_body+0x10) [0x7441be771e80] gc.c:4889
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_fill_swept_page) gc.c:5184
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_page_sweep) gc.c:5392
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_sweep_step) gc.c:5562
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_sweep_rest+0x24) [0x7441be77208c] gc.c:5619
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_sweep) gc.c:5737
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_marks+0x15c) [0x7441be778d08] gc.c:8024
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_start) gc.c:8854
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_multi_ractor_p+0x0) [0x7441be77aa38] gc.c:8742
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_lock_leave) vm_sync.h:92
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(garbage_collect) gc.c:8744
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_start_internal) gc.c:9086
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(gc_compact) gc.c:10002
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(builtin_invoker0+0x24) [0x7441be988d34] vm_insnhelper.c:5429
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_exec_core+0x1914) [0x7441be9a8b14] vm_insnhelper.c:5569
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_exec+0x14c) [0x7441be9acfdc] vm.c:2169
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_yield+0x288) [0x7441be9b23c8] vm.c:1260
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_ary_collect+0x74) [0x7441be68ca24] array.c:3646
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(ractor_safe_call_cfunc_0+0x24) [0x7441be9885b4] vm_insnhelper.c:2760
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_cfunc_with_frame+0x140) [0x7441be993d30] vm_insnhelper.c:2943
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_sendish+0x364) [0x7441be9a2ad4] vm_insnhelper.c:4516
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_exec_core+0x294) [0x7441be9a7494] insns.def:754
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_exec+0x14c) [0x7441be9acfdc] vm.c:2169
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_yield+0x288) [0x7441be9b23c8] vm.c:1260
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_ary_each+0x54) [0x7441be683844] array.c:2534
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(ractor_safe_call_cfunc_0+0x24) [0x7441be9885b4] vm_insnhelper.c:2760
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_cfunc_with_frame+0x140) [0x7441be993d30] vm_insnhelper.c:2943
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method_each_type+0xc0) [0x7441be9ae6d0] vm_insnhelper.c:3433
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method+0xdc) [0x7441be9aeeec] vm_insnhelper.c:3537
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method_each_type+0x510) [0x7441be9aeb20] vm_insnhelper.c:3412
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method+0xdc) [0x7441be9aeeec] vm_insnhelper.c:3537
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_sendish+0x364) [0x7441be9a2ad4] vm_insnhelper.c:4516
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_exec_core+0x294) [0x7441be9a7494] insns.def:754
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_exec+0x14c) [0x7441be9acfdc] vm.c:2169
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_yield+0x288) [0x7441be9b23c8] vm.c:1260
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_ary_each+0x54) [0x7441be683844] array.c:2534
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(ractor_safe_call_cfunc_0+0x24) [0x7441be9885b4] vm_insnhelper.c:2760
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_cfunc_with_frame+0x140) [0x7441be993d30] vm_insnhelper.c:2943
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method_each_type+0xc0) [0x7441be9ae6d0] vm_insnhelper.c:3433
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method+0xdc) [0x7441be9aeeec] vm_insnhelper.c:3537
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method_each_type+0x510) [0x7441be9aeb20] vm_insnhelper.c:3412
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method+0xdc) [0x7441be9aeeec] vm_insnhelper.c:3537
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_sendish+0x364) [0x7441be9a2ad4] vm_insnhelper.c:4516
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_exec_core+0x294) [0x7441be9a7494] insns.def:754
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_exec+0x14c) [0x7441be9acfdc] vm.c:2169
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_iseq_eval+0x190) [0x7441be9b0bf0] vm.c:2406
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(require_internal+0x998) [0x7441be7cc8c8] load.c:594
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_require_string+0x44) [0x7441be7cd8f4] load.c:1142
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_f_require_relative+0x48) [0x7441be7cd9e8] load.c:857
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(ractor_safe_call_cfunc_1+0x28) [0x7441be988608] vm_insnhelper.c:2767
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_cfunc_with_frame+0x140) [0x7441be993d30] vm_insnhelper.c:2943
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method_each_type+0xc0) [0x7441be9ae6d0] vm_insnhelper.c:3433
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_call_method+0xdc) [0x7441be9aeeec] vm_insnhelper.c:3537
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(vm_exec_core+0x1aac) [0x7441be9a8cac] vm_insnhelper.c:4516
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_vm_exec+0x14c) [0x7441be9acfdc] vm.c:2169
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_iseq_eval_main+0xf0) [0x7441be9b0d50] vm.c:2417
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(rb_ec_exec_node+0xb8) [0x7441be74a218] eval.c:317
/home/jaruga/git/ruby/ruby/libruby.so.3.1.0(ruby_run_node+0x7c) [0x7441be74e94c] eval.c:375
/home/jaruga/git/ruby/ruby/ruby(main+0x90) [0xa1b10ce0bb0] ./main.c:47
...
make: *** [uncommon.mk:802: yes-test-all] Aborted (core dumped)
```

```
$ make test-all TESTOPTS="-n test_compact_count" TESTS=test/ruby/test_gc_compact.rb
...
# Running tests:

[1/1] TestGCCompact#test_compact_count<internal:gc>:213: [BUG] Couldn't protect page 0x00000f8747228000
ruby 3.1.0dev (2021-05-19T05:24:01Z master adcbae8d49) [powerpc64le-linux]

-- Control frame information -----------------------------------------------
c:0031 p:0003 s:0174 e:000173 METHOD <internal:gc>:213
<internal:gc>:213: [BUG] Couldn't unprotect page 0x00000f8747234000
ruby 3.1.0dev (2021-05-19T05:24:01Z master adcbae8d49) [powerpc64le-linux]

-- Control frame information -----------------------------------------------
c:0031 p:0003 s:0174 e:000173 METHOD <internal:gc>:213
<internal:gc>:213: [BUG] Segmentation fault at 0x00000f8747236360
ruby 3.1.0dev (2021-05-19T05:24:01Z master adcbae8d49) [powerpc64le-linux]

-- Control frame information -----------------------------------------------
c:0031 p:0003 s:0174 e:000173 METHOD <internal:gc>:213
make: *** [uncommon.mk:802: yes-test-all] Segmentation fault (core dumped)
```



---Files--------------------------------
check.log (1.14 MB)


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