summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-12Remove unused function declarationsS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/3886
2020-12-11Lock GC while searching the best iseqTakashi Kokubun
To fix http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3286265
2020-12-12[DOC] Process::Status.wait return nil if no child processes [ci skip]Nobuyoshi Nakada
2020-12-12trap on non-main ractorKoichi Sasada
trap can accept blopck/Proc and it can violate Rator isolation, so the Proc should be isolatable when trap is used on non-main ractor. Notes: Merged: https://github.com/ruby/ruby/pull/3888
2020-12-12fix lambda's warning and testsKoichi Sasada
There are warning condition bugs and test bugs. b53ccb9c69abd24e3bdad66cbe4c7e7480eaef16
2020-12-12fix ivar with shareable objects issueKoichi Sasada
Instance variables of sharable objects are accessible only from main ractor, so we need to check it correctly. Notes: Merged: https://github.com/ruby/ruby/pull/3887
2020-12-12Let Fiber#raise work with transferring fibersnicholas a. evans
This automatically choosess whether to use transfer on a transferring fiber or resume on a yielding fiber. If the fiber is resuming, it raises a FiberError. Notes: Merged: https://github.com/ruby/ruby/pull/3795
2020-12-12* 2020-12-12 [ci skip]git
2020-12-12Remove unused link [ci skip]Kazuhiro NISHIYAMA
2020-12-11Strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-12-11[ruby/reline] Fix breaking to input Emoji with ZWJ.ima1zumi
https://github.com/ruby/reline/commit/f21dfdbb11
2020-12-11RDoc states that Process::Status.wait returns nil if cannot waitNobuyoshi Nakada
2020-12-11[DOC] Fixed the RDoc location of Process::Status.wait [ci skip]Nobuyoshi Nakada
2020-12-10Allow an MJIT worker to show a backtrace on SEGVTakashi Kokubun
An MJIT worker thread doesn't have ec, and it's required for SDR() and rb_backtrace_print_as_bugreport(). Therefore it must be checked.
2020-12-10Save a core file from bootstraptestTakashi Kokubun
2020-12-11Removed needless gemspec of webrickHiroshi SHIBATA
2020-12-11Bump webrick-1.7.0 for version management with ruby/webrick.Hiroshi SHIBATA
2020-12-11[DOC] Moved RDoc of abort [ci skip]Nobuyoshi Nakada
2020-12-11addr2line.c: support debuglink by build_idYusuke Endoh
Currently, addr2line.c supports only one path format of debuglink: "/usr/lib/debug/usr/bin/ruby.debug". However, recent debian packages seem to use another format by build_id: "/usr/lib/debug/.build-id/ab/cdef1234.debug". https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L292 https://github.com/Debian/debhelper/blob/5d1bb29841043d8e47ebbdd043e6cd086cad508e/dh_strip#L353 This changeset makes ruby backtrace support the second format. Notes: Merged: https://github.com/ruby/ruby/pull/3627
2020-12-11Link zlib always if availableYusuke Endoh
Major Linux distribution packages including Debian, Ubuntu, and Fedora use `--compress-debug-sections=no` to build ruby, and then extract and compress debug symbols as separate files. However, the configure option makes ruby not link zlib, thus the generated binary cannot uncompress the compressed separate debug symbol files, and fails to show C level backtrace when a critical error like segfault occurs. This change makes ruby always link zlib if it is available so that it can show C level backtrace correctly. Related: Debian packages require https://github.com/ruby/ruby/pull/3627 to load debug symbol files. Notes: Merged: https://github.com/ruby/ruby/pull/3884
2020-12-11Exclude parenthesized function declarations such as NORETURNNobuyoshi Nakada
Fixes https://github.com/ruby/ruby/pull/3883
2020-12-11show deprecation warning correctly for lambda(&b)Koichi Sasada
lambda(&b) where b is given block of method (like: def foo(&b)) should warn correctly. [Feature #17361] Also labmda(&labmda_block) or lambda(&:to_s) (Symbol#to_proc) should not warn (but I'm not sure who cares about it).
2020-12-11add RUNOPT and RUNOPT0 for dev rules.Koichi Sasada
run, runruby, ... accept RUNOPT and RUNOPT0 configuration to pass some commandline argument like that: $(BTESTRUBY) $(RUNOPT0) $(TESTRUN_SCRIPT) $(RUNOPT) RUNOPT0 is options for ruby interpreter (-w, -v, ...) RUNOPT is options for the script (ARGV/ARGF)
2020-12-11Remove unimplemented parameter from commentMasaki Matsushita
:resolv_timeout of TCPSocket.new is not implemented for now.
2020-12-11revert da3bca513f437b05b3953c3712ff48621fc5e008Koichi Sasada
It seems introduce critical problems. Now I could not find out the issue. http://ci.rvm.jp/results/trunk-test@ruby-sky1/3286048
2020-12-11Import fiddle-1.0.4 (#3860)Kenta Murata
I don't use tool/sync_default_gem.rb because the last sync was incomplete. Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Co-authored-by: sinisterchipmunk <sinisterchipmunk@gmail.com> Co-authored-by: Sutou Kouhei <kou@clear-code.com> Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-10Unfortunately getinstancevariable was still not leafTakashi Kokubun
https://github.com/ruby/ruby/runs/1533401436
2020-12-10Reintroduce the fix againTakashi Kokubun
2020-12-10Fix the path properlyTakashi Kokubun
:disappointed:
2020-12-10Try fixing the -I positionTakashi Kokubun
https://github.com/ruby/ruby/runs/1532260149 :thinking:
2020-12-10Make ruby -We the same as ruby -W -eJeremy Evans
This changes the behavior, which I'm not sure is acceptable. However, it's odd to allow an option to be combined, but change the behavior of the option when combined. Notes: Merged: https://github.com/ruby/ruby/pull/3867
2020-12-10Make getinstancevariable a leaf instructionJeremy Evans
It can no longer issue a warning. Notes: Merged: https://github.com/ruby/ruby/pull/3879
2020-12-10Remove the uninitialized instance variable verbose mode warningJeremy Evans
This speeds up all instance variable access, even when not in verbose mode. Uninitialized instance variable warnings were rarely helpful, and resulted in slower code if you wanted to avoid warnings when run in verbose mode. Implements [Feature #17055] Notes: Merged: https://github.com/ruby/ruby/pull/3879
2020-12-10Actions mingw - add tool/test for WEBrick in spec tests (#3882)MSP-Greg
Some spec tests require WEBrick, and the spec tests are run from install with the MinGW CI. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-12-11Show C backtrace appropriately at core dump for GCC 8 or laterYusuke Endoh
When ruby is compiled by GCC 8 or later, some frames of C level backtrace information lacks. ``` $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }' ... -- C level backtrace information ------------------------------------------- /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport+0x611) [0x558a5fdcbc21] ../ruby/vm_dump.c:758 [0x558a5fbc789a] /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558a5fd1eaed] ../ruby/signal.c:959 /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f687e6713c0] /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f687e31355b] ../sysdeps/unix/syscall-template.S:78 /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558a5fd1fe60] ../ruby/signal.c:480 [0x558a5fda50d3] [0x558a5fdb085c] [0x558a5fdb0fe7] [0x558a5fdbae1a] [0x558a5fdaf484] /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558a5fdb2fbf] ../ruby/vm.c:1265 /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558a5fc72f2c] ../ruby/numeric.c:5198 [0x558a5fda50d3] [0x558a5fdb085c] [0x558a5fdb0fe7] [0x558a5fdbaf21] [0x558a5fdaf484] /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x558a5fbcc4fd] ../ruby/eval.c:317 /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x558a5fbd110f] ../ruby/eval.c:375 /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x558a5fb2c083] ../ruby/main.c:50 ``` By this one-line change, it shows all locations. ``` $ ./miniruby -e '1.times { Process.kill(:SEGV, $$) }' ... -- C level backtrace information ------------------------------------------- /home/mame/work/ruby-gcc-9/miniruby(rb_print_backtrace+0x11) [0x558247adec21] ../ruby/vm_dump.c:758 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_bugreport) ../ruby/vm_dump.c:956 /home/mame/work/ruby-gcc-9/miniruby(rb_bug_for_fatal_signal+0x15a) [0x5582478da89a] ../ruby/error.c:773 /home/mame/work/ruby-gcc-9/miniruby(sigsegv+0x4d) [0x558247a31aed] ../ruby/signal.c:959 /lib/x86_64-linux-gnu/libpthread.so.0(__restore_rt+0x0) [0x7f82202f73c0] /lib/x86_64-linux-gnu/libc.so.6(kill+0xb) [0x7f821ff9955b] ../sysdeps/unix/syscall-template.S:78 /home/mame/work/ruby-gcc-9/miniruby(rb_f_kill+0x350) [0x558247a32e60] ../ruby/signal.c:480 /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428 /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acde1a] ../ruby/vm_insnhelper.c:4412 /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:789 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165 /home/mame/work/ruby-gcc-9/miniruby(rb_yield_1+0x29f) [0x558247ac5fbf] ../ruby/vm.c:1265 /home/mame/work/ruby-gcc-9/miniruby(int_dotimes+0x5c) [0x558247985f2c] ../ruby/numeric.c:5198 /home/mame/work/ruby-gcc-9/miniruby(vm_call_cfunc_with_frame+0x123) [0x558247ab80d3] ../ruby/vm_insnhelper.c:2821 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method_each_type+0x7c) [0x558247ac385c] ../ruby/vm_insnhelper.c:3324 /home/mame/work/ruby-gcc-9/miniruby(vm_call_method+0xc7) [0x558247ac3fe7] ../ruby/vm_insnhelper.c:3428 /home/mame/work/ruby-gcc-9/miniruby(vm_sendish+0x14) [0x558247acdf21] ../ruby/vm_insnhelper.c:4412 /home/mame/work/ruby-gcc-9/miniruby(vm_exec_core) ../ruby/insns.def:770 /home/mame/work/ruby-gcc-9/miniruby(rb_vm_exec+0x1a4) [0x558247ac2484] ../ruby/vm.c:2165 /home/mame/work/ruby-gcc-9/miniruby(rb_ec_exec_node+0xed) [0x5582478df4fd] ../ruby/eval.c:317 /home/mame/work/ruby-gcc-9/miniruby(ruby_run_node+0x4f) [0x5582478e410f] ../ruby/eval.c:375 /home/mame/work/ruby-gcc-9/miniruby(main+0x73) [0x55824783f083] ../ruby/main.c:50 ``` Details: In short, it is an uninitialized variable bug. Until GCC 7, all function locations are represented by a pair of DW_AT_low_pc and DW_AT_high_pc in DWARF information. But since GCC 8, some functions are split to multiple chunks, which are represented by DW_AT_ranges. DW_AT_ranges are represented as offsets from a base address. According to DWARF specification, it is the base address of the compilation unit, but GCC seems to use zero as default. The function "di_read_cu" in addr2line.c had a comment about the fact. However, the base address wasn't initialized as zero. Notes: Merged: https://github.com/ruby/ruby/pull/3881
2020-12-11* 2020-12-11 [ci skip]git
2020-12-11Suppress a "clobbered" warning by gcc on macOSNobuyoshi Nakada
2020-12-10Fix a link [ci skip]Kazuhiro NISHIYAMA
2020-12-10include/ruby/memory_view.h: fix the return type of ↵Kenta Murata
rb_memory_view_prepare_item_desc
2020-12-10include/ruby/memory_view.h: fix typoKenta Murata
2020-12-10Use `abort(message)` instead of `puts` and `exit`Kazuhiro NISHIYAMA
2020-12-10Add connect_timeout to TCPSocketMasaki Matsushita
Add connect_timeout to TCPSocket.new in the same way as Socket.tcp. Closes [Feature #17187]
2020-12-10Fixed the test failures called WEBrick.new directlyHiroshi SHIBATA
2020-12-10ObjectSpace._id2ref should not support unshareableKoichi Sasada
ObjectSpace._id2ref(id) can return any objects even if they are unshareable, so this patch raises RangeError if it runs on multi-ractor mode and the found object is unshareable. Notes: Merged: https://github.com/ruby/ruby/pull/3878
2020-12-10remove bz2NARUSE, Yui
2020-12-10Unpoison freelist to chainNobuyoshi Nakada
2020-12-10Right size literal regular expression buffers on compileLourens Naudé
Notes: Merged: https://github.com/ruby/ruby/pull/2696
2020-12-10Added help message for gem i webrick in rdocHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3729
2020-12-10Added help message for gem i webrick in gem server commandHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3729
2020-12-10Completely removed webrickHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3729