| "make update-unicode -j4" exit with 0. |
| "make update-download -j4" exit with 0. |
| From https://github.com/ruby/rbs |
| * branch 33813a60752624d58dfe5ae770b39bfaf29fbaf1 -> FETCH_HEAD |
| HEAD is now at 33813a60 Use valid syntax |
| From https://github.com/ruby/debug |
| * branch 927587afb6aac69b358b86a01f602d207053e8d2 -> FETCH_HEAD |
| HEAD is now at 927587a Stop assuming Integer#times is written in C |
| "make update-rubyspec -j4" exit with 0. |
| "make update-src -j4" exit with 0. |
| "make after-update -j4" exit with 0. |
| From https://github.com/ruby/debug |
| * branch 927587afb6aac69b358b86a01f602d207053e8d2 -> FETCH_HEAD |
| HEAD is now at 927587a Stop assuming Integer#times is written in C |
| From https://github.com/ruby/rbs |
| * branch 33813a60752624d58dfe5ae770b39bfaf29fbaf1 -> FETCH_HEAD |
| HEAD is now at 33813a60 Use valid syntax |
| "make miniruby -j4" exit with 0. |
| "make ruby -j4" exit with 0. |
| "make all -j4" exit with 0. |
| "make install -j4" exit with 0. |
| From https://github.com/ruby/rbs |
| * branch 33813a60752624d58dfe5ae770b39bfaf29fbaf1 -> FETCH_HEAD |
| HEAD is now at 33813a60 Use valid syntax |
| From https://github.com/ruby/debug |
| * branch 927587afb6aac69b358b86a01f602d207053e8d2 -> FETCH_HEAD |
| HEAD is now at 927587a Stop assuming Integer#times is written in C |
| "make yes-btest TESTOPTS='-q -j4'" exit with 512. |
| Fstderr output is not empty |
| Assertion Failed: /tmp/ruby/src/trunk-yjit/yjit.c:417:rb_iseq_set_yjit_payload:NULL == iseq->body->yjit_payload |
| ruby 3.3.0dev (2023-10-09T15:09:52Z master a8d71535ff) +YJIT [x86_64-linux] |
| |
| -- Control frame information ----------------------------------------------- |
| c:0005 p:0000 s:0019 e:000018 METHOD <internal:numeric>:232 |
| c:0004 p:0004 s:0014 e:000013 BLOCK bootstraptest.test_ractor.rb_1523_1314.rb:5 |
| c:0003 p:0018 s:0011 e:000010 METHOD <internal:kernel>:187 |
| c:0002 p:0004 s:0006 e:000005 BLOCK bootstraptest.test_ractor.rb_1523_1314.rb:4 [FINISH] |
| c:0001 p:---- s:0003 e:000002 DUMMY [FINISH] |
| |
| -- Ruby level backtrace information ---------------------------------------- |
| bootstraptest.test_ractor.rb_1523_1314.rb:4:in `block (2 levels) in <main>' |
| <internal:kernel>:187:in `loop' |
| bootstraptest.test_ractor.rb_1523_1314.rb:5:in `block (3 levels) in <main>' |
| <internal:numeric>:232:in `times' |
| |
| -- Threading information --------------------------------------------------- |
| Total ractor count: 9 |
| Ruby thread count for this ractor: 1 |
| |
| -- C level backtrace information ------------------------------------------- |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_print_backtrace+0x14) [0x55b42ac596d1] /tmp/ruby/src/trunk-yjit/vm_dump.c:812 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_vm_bugreport) /tmp/ruby/src/trunk-yjit/vm_dump.c:1140 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_assert_failure+0x7a) [0x55b42a98a779] /tmp/ruby/src/trunk-yjit/error.c:1130 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_iseq_set_yjit_payload+0x3e) [0x55b42a98dfad] /tmp/ruby/src/trunk-yjit/yjit.c:417 |
| /tmp/ruby/build/trunk-yjit/miniruby(get_or_create_iseq_payload+0x14b) [0x55b42ad2c6ab] /tmp/ruby/src/trunk-yjit/yjit/src/core.rs:1038 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_yjit_threshold_hit+0x3a) [0x55b42ad246aa] /tmp/ruby/src/trunk-yjit/yjit/src/yjit.rs:71 |
| /tmp/ruby/build/trunk-yjit/miniruby(jit_compile+0x1a) [0x55b42ac4e4b4] /tmp/ruby/src/trunk-yjit/vm.c:395 |
| /tmp/ruby/build/trunk-yjit/miniruby(vm_exec_core) ../../src/trunk-yjit/insns.def:836 |
| /tmp/ruby/build/trunk-yjit/miniruby(vm_exec_loop+0x9) [0x55b42ac3aee2] /tmp/ruby/src/trunk-yjit/vm.c:2444 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_vm_exec) /tmp/ruby/src/trunk-yjit/vm.c:2420 |
| /tmp/ruby/build/trunk-yjit/miniruby(thread_do_start_proc+0x2a3) [0x55b42abec3c3] /tmp/ruby/src/trunk-yjit/thread.c:580 |
| /tmp/ruby/build/trunk-yjit/miniruby(thread_do_start+0xc) [0x55b42abeedd4] /tmp/ruby/src/trunk-yjit/thread.c:624 |
| /tmp/ruby/build/trunk-yjit/miniruby(thread_start_func_2) /tmp/ruby/src/trunk-yjit/thread.c:694 |
| /tmp/ruby/build/trunk-yjit/miniruby(rb_native_cond_initialize+0x0) [0x55b42abef1b4] /tmp/ruby/src/trunk-yjit/thread_pthread.c:1117 |
| /tmp/ruby/build/trunk-yjit/miniruby(register_cached_thread_and_wait) /tmp/ruby/src/trunk-yjit/thread_pthread.c:1164 |
| /tmp/ruby/build/trunk-yjit/miniruby(thread_start_func_1) /tmp/ruby/src/trunk-yjit/thread_pthread.c:1121 |
| /lib/x86_64-linux-gnu/libc.so.6(start_thread+0x2f3) [0x7f1abecb3b43] ./nptl/pthread_create.c:442 |
| /lib/x86_64-linux-gnu/libc.so.6(clone+0x44) [0x7f1abed44bb4] ../sysdeps/unix/sysv/linux/x86_64/clone.S:100 |
| |
| -- Other runtime information ----------------------------------------------- |
| |
| * Loaded script: bootstraptest.test_ractor.rb_1523_1314.rb |
| |
| * Loaded features: |
| |
| 0 enumerator.so |
| 1 thread.rb |
| 2 fiber.so |
| 3 rational.so |
| 4 complex.so |
| 5 ruby2_keywords.rb |
| 6 /tmp/ruby/build/trunk-yjit/x86_64-linux-fake.rb |
| |
| * Process memory map: |
| |
| 55b42a948000-55b42a988000 r--p 00000000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 55b42a988000-55b42ad63000 r-xp 00040000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 55b42ad63000-55b42aed8000 r--p 0041b000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 55b42aed9000-55b42aeee000 r--p 00590000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 55b42aeee000-55b42aef0000 rw-p 005a5000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 55b42aef0000-55b42af04000 rw-p 00000000 00:00 0 |
| 55b42c224000-55b42c5ae000 rw-p 00000000 00:00 0 [heap] |
| 55b42c8af000-55b42c8b2000 r-xp 00000000 00:00 0 |
| 55b42c8b2000-55b4348af000 ---p 00000000 00:00 0 |
| 7f1a94000000-7f1a942bb000 rw-p 00000000 00:00 0 |
| 7f1a942bb000-7f1a98000000 ---p 00000000 00:00 0 |
| 7f1a9c000000-7f1a9c021000 rw-p 00000000 00:00 0 |
| 7f1a9c021000-7f1aa0000000 ---p 00000000 00:00 0 |
| 7f1aa0000000-7f1aa0021000 rw-p 00000000 00:00 0 |
| 7f1aa0021000-7f1aa4000000 ---p 00000000 00:00 0 |
| 7f1aa4000000-7f1aa4021000 rw-p 00000000 00:00 0 |
| 7f1aa4021000-7f1aa8000000 ---p 00000000 00:00 0 |
| 7f1aa8000000-7f1aa802f000 rw-p 00000000 00:00 0 |
| 7f1aa802f000-7f1aac000000 ---p 00000000 00:00 0 |
| 7f1aac000000-7f1aac021000 rw-p 00000000 00:00 0 |
| 7f1aac021000-7f1ab0000000 ---p 00000000 00:00 0 |
| 7f1ab0000000-7f1ab0021000 rw-p 00000000 00:00 0 |
| 7f1ab0021000-7f1ab4000000 ---p 00000000 00:00 0 |
| 7f1ab4000000-7f1ab4032000 rw-p 00000000 00:00 0 |
| 7f1ab4032000-7f1ab8000000 ---p 00000000 00:00 0 |
| 7f1ab8873000-7f1ab8a91000 r--s 00000000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1ab8a91000-7f1abb410000 r--s 00000000 00:115 18614128 /tmp/ruby/build/trunk-yjit/miniruby |
| 7f1abb410000-7f1abb490000 rw-p 00000000 00:00 0 |
| 7f1abb498000-7f1abb499000 ---p 00000000 00:00 0 |
| 7f1abb499000-7f1abb699000 rw-p 00000000 00:00 0 |
| 7f1abb699000-7f1abb69a000 ---p 00000000 00:00 0 |
| 7f1abb69a000-7f1abb89a000 rw-p 00000000 00:00 0 |
| 7f1abb89a000-7f1abb89b000 ---p 00000000 00:00 0 |
| 7f1abb89b000-7f1abba9b000 rw-p 00000000 00:00 0 |
| 7f1abba9b000-7f1abba9c000 ---p 00000000 00:00 0 |
| 7f1abba9c000-7f1abbc9c000 rw-p 00000000 00:00 0 |
| 7f1abbc9c000-7f1abbc9d000 ---p 00000000 00:00 0 |
| 7f1abbc9d000-7f1abbe9d000 rw-p 00000000 00:00 0 |
| 7f1abbe9d000-7f1abbe9e000 ---p 00000000 00:00 0 |
| 7f1abbe9e000-7f1abc09e000 rw-p 00000000 00:00 0 |
| 7f1abc09e000-7f1abc09f000 ---p 00000000 00:00 0 |
| 7f1abc09f000-7f1abc29f000 rw-p 00000000 00:00 0 |
| 7f1abc29f000-7f1abc2a0000 ---p 00000000 00:00 0 |
| 7f1abc2a0000-7f1abc4b0000 rw-p 00000000 00:00 0 |
| 7f1abc4c0000-7f1abc550000 rw-p 00000000 00:00 0 |
| 7f1abc560000-7f1abc600000 rw-p 00000000 00:00 0 |
| 7f1abc600000-7f1abc601000 ---p 00000000 00:00 0 |
| 7f1abc601000-7f1abc6a2000 rw-p 00000000 00:00 0 |
| 7f1abc6a2000-7f1abc6a3000 ---p 00000000 00:00 0 |
| 7f1abc6a3000-7f1abc744000 rw-p 00000000 00:00 0 |
| 7f1abc744000-7f1abc745000 ---p 00000000 00:00 0 |
| 7f1abc745000-7f1abc7e6000 rw-p 00000000 00:00 0 |
| 7f1abc7e6000-7f1abc7e7000 ---p 00000000 00:00 0 |
| 7f1abc7e7000-7f1abc888000 rw-p 00000000 00:00 0 |
| 7f1abc888000-7f1abc889000 ---p 00000000 00:00 0 |
| 7f1abc889000-7f1abc92a000 rw-p 00000000 00:00 0 |
| 7f1abc92a000-7f1abc92b000 ---p 00000000 00:00 0 |
| 7f1abc92b000-7f1abc9cc000 rw-p 00000000 00:00 0 |
| 7f1abc9cc000-7f1abc9cd000 ---p 00000000 00:00 0 |
| 7f1abc9cd000-7f1abca6e000 rw-p 00000000 00:00 0 |
| 7f1abca6e000-7f1abca6f000 ---p 00000000 00:00 0 |
| 7f1abca6f000-7f1abcb10000 rw-p 00000000 00:00 0 |
| 7f1abcb10000-7f1abcb11000 ---p 00000000 00:00 0 |
| 7f1abcb11000-7f1abcbb2000 rw-p 00000000 00:00 0 |
| 7f1abcbb2000-7f1abcbb3000 ---p 00000000 00:00 0 |
| 7f1abcbb3000-7f1abcc54000 rw-p 00000000 00:00 0 |
| 7f1abcc54000-7f1abcc55000 ---p 00000000 00:00 0 |
| 7f1abcc55000-7f1abccf6000 rw-p 00000000 00:00 0 |
| 7f1abccf6000-7f1abccf7000 ---p 00000000 00:00 0 |
| 7f1abccf7000-7f1abcd98000 rw-p 00000000 00:00 0 |
| 7f1abcd98000-7f1abcd99000 ---p 00000000 00:00 0 |
| 7f1abcd99000-7f1abce3a000 rw-p 00000000 00:00 0 |
| 7f1abce3a000-7f1abce3b000 ---p 00000000 00:00 0 |
| 7f1abce3b000-7f1abcedc000 rw-p 00000000 00:00 0 |
| 7f1abcedc000-7f1abcedd000 ---p 00000000 00:00 0 |
| 7f1abcedd000-7f1abcf7e000 rw-p 00000000 00:00 0 |
| 7f1abcf7e000-7f1abcf7f000 ---p 00000000 00:00 0 |
| 7f1abcf7f000-7f1abd020000 rw-p 00000000 00:00 0 |
| 7f1abd020000-7f1abd021000 ---p 00000000 00:00 0 |
| 7f1abd021000-7f1abd0c2000 rw-p 00000000 00:00 0 |
| 7f1abd0c2000-7f1abd0c3000 ---p 00000000 00:00 0 |
| 7f1abd0c3000-7f1abd164000 rw-p 00000000 00:00 0 |
| 7f1abd164000-7f1abd165000 ---p 00000000 00:00 0 |
| 7f1abd165000-7f1abd206000 rw-p 00000000 00:00 0 |
| 7f1abd206000-7f1abd207000 ---p 00000000 00:00 0 |
| 7f1abd207000-7f1abd2a8000 rw-p 00000000 00:00 0 |
| 7f1abd2a8000-7f1abd2a9000 ---p 00000000 00:00 0 |
| 7f1abd2a9000-7f1abd34a000 rw-p 00000000 00:00 0 |
| 7f1abd34a000-7f1abd34b000 ---p 00000000 00:00 0 |
| 7f1abd34b000-7f1abd3ec000 rw-p 00000000 00:00 0 |
| 7f1abd3ec000-7f1abd3ed000 ---p 00000000 00:00 0 |
| 7f1abd3ed000-7f1abd48e000 rw-p 00000000 00:00 0 |
| 7f1abd48e000-7f1abd48f000 ---p 00000000 00:00 0 |
| 7f1abd48f000-7f1abd530000 rw-p 00000000 00:00 0 |
| 7f1abd530000-7f1abd531000 ---p 00000000 00:00 0 |
| 7f1abd531000-7f1abd5d2000 rw-p 00000000 00:00 0 |
| 7f1abd5d2000-7f1abd5d3000 ---p 00000000 00:00 0 |
| 7f1abd5d3000-7f1abd674000 rw-p 00000000 00:00 0 |
| 7f1abd674000-7f1abd675000 ---p 00000000 00:00 0 |
| 7f1abd675000-7f1abd716000 rw-p 00000000 00:00 0 |
| 7f1abd716000-7f1abd717000 ---p 00000000 00:00 0 |
| 7f1abd717000-7f1abd7b8000 rw-p 00000000 00:00 0 |
| 7f1abd7b8000-7f1abd7b9000 ---p 00000000 00:00 0 |
| 7f1abd7b9000-7f1abd85a000 rw-p 00000000 00:00 0 |
| 7f1abd85a000-7f1abd85b000 ---p 00000000 00:00 0 |
| 7f1abd85b000-7f1abd8fc000 rw-p 00000000 00:00 0 |
| 7f1abd8fc000-7f1abd8fd000 ---p 00000000 00:00 0 |
| 7f1abd8fd000-7f1abd99e000 rw-p 00000000 00:00 0 |
| 7f1abd99e000-7f1abd99f000 ---p 00000000 00:00 0 |
| 7f1abd99f000-7f1abda90000 rw-p 00000000 00:00 0 |
| 7f1abda9f000-7f1abeb10000 rw-p 00000000 00:00 0 |
| 7f1abeb19000-7f1abec1f000 rw-p 00000000 00:00 0 |
| 7f1abec1f000-7f1abec47000 r--p 00000000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1abec47000-7f1abeddc000 r-xp 00028000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1abeddc000-7f1abee34000 r--p 001bd000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1abee34000-7f1abee38000 r--p 00214000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1abee38000-7f1abee3a000 rw-p 00218000 00:115 13112687 /usr/lib/x86_64-linux-gnu/libc.so.6 |
| 7f1abee3a000-7f1abee47000 rw-p 00000000 00:00 0 |
| 7f1abee47000-7f1abee4a000 r--p 00000000 00:115 13112712 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 |
| 7f1abee4a000-7f1abee61000 r-xp 00003000 00:115 13112712 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 |
| 7f1abee61000-7f1abee65000 r--p 0001a000 00:115 13112712 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 |
| 7f1abee65000-7f1abee66000 r--p 0001d000 00:115 13112712 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 |
| 7f1abee66000-7f1abee67000 rw-p 0001e000 00:115 13112712 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 |
| 7f1abee67000-7f1abee75000 r--p 00000000 00:115 13112739 /usr/lib/x86_64-linux-gnu/libm.so.6 |
| 7f1abee75000-7f1abeef1000 r-xp 0000e000 00:115 13112739 /usr/lib/x86_64-linux-gnu/libm.so.6 |
| 7f1abeef1000-7f1abef4c000 r--p 0008a000 00:115 13112739 /usr/lib/x86_64-linux-gnu/libm.so.6 |
| 7f1abef4c000-7f1abef4d000 r--p 000e4000 00:115 13112739 /usr/lib/x86_64-linux-gnu/libm.so.6 |
| 7f1abef4d000-7f1abef4e000 rw-p 000e5000 00:115 13112739 /usr/lib/x86_64-linux-gnu/libm.so.6 |
| 7f1abef4e000-7f1abef50000 r--p 00000000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef50000-7f1abef64000 r-xp 00002000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef64000-7f1abef7d000 r--p 00016000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef7d000-7f1abef7e000 ---p 0002f000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef7e000-7f1abef7f000 r--p 0002f000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef7f000-7f1abef80000 rw-p 00030000 00:115 13112696 /usr/lib/x86_64-linux-gnu/libcrypt.so.1.1.0 |
| 7f1abef80000-7f1abef88000 rw-p 00000000 00:00 0 |
| 7f1abef88000-7f1abef92000 r--p 00000000 00:115 13112716 /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1 |
| 7f1abef92000-7f1abeff1000 r-xp 0000a000 00:115 13112716 /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1 |
| 7f1abeff1000-7f1abf008000 r--p 00069000 00:115 13112716 /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1 |
| 7f1abf008000-7f1abf009000 r--p 0007f000 00:115 13112716 /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1 |
| 7f1abf009000-7f1abf00a000 rw-p 00080000 00:115 13112716 /usr/lib/x86_64-linux-gnu/libgmp.so.10.4.1 |
| 7f1abf00a000-7f1abf00c000 r--p 00000000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf00c000-7f1abf01d000 r-xp 00002000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf01d000-7f1abf023000 r--p 00013000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf023000-7f1abf024000 ---p 00019000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf024000-7f1abf025000 r--p 00019000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf025000-7f1abf026000 rw-p 0001a000 00:115 13112818 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11 |
| 7f1abf02a000-7f1abf02c000 rw-p 00000000 00:00 0 |
| 7f1abf02c000-7f1abf02e000 r--p 00000000 00:115 13112669 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
| 7f1abf02e000-7f1abf058000 r-xp 00002000 00:115 13112669 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
| 7f1abf058000-7f1abf063000 r--p 0002c000 00:115 13112669 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
| 7f1abf064000-7f1abf066000 r--p 00037000 00:115 13112669 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
| 7f1abf066000-7f1abf068000 rw-p 00039000 00:115 13112669 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 |
| 7fff803f9000-7fff80bf8000 rw-p 00000000 00:00 0 [stack] |
| 7fff80bf8000-7fff80bfc000 r--p 00000000 00:00 0 [vvar] |
| 7fff80bfc000-7fff80bfe000 r-xp 00000000 00:00 0 [vdso] |
| ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] |
| #1314 test_ractor.rb:1523: |
| workers = (0...8).map do |
| Ractor.new do |
| loop do |
| 10_000.times.map { Object.new } |
| Ractor.yield Time.now |
| end |
| end |
| end |
| |
| 1_000.times { idle_worker, tmp_reporter = Ractor.select(*workers) } |
| "ok" |
| #=> "" (expected "ok") |
| FAIL 1/0 tests failed |
| make: *** [uncommon.mk:877: yes-btest] Error 1 |
| "make yes-test-basic TESTS='-j4'" exit with 0. |
| "make yes-test-all TESTOPTS='--stderr-on-failure' TESTS='-j4'" exit with 0. |
| "make yes-test-rubyspec MSPECOPT='--error-output stderr --debug' TESTS='-j4'" exit with 0. |