summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-19Update moved objects in original_iseqAlan Wu
Without doing this, enabling a TracePoint on a method could lead to use of moved objects. This was found by running `env RUBY_ISEQ_DUMP_DEBUG=to_binary make test-all`, which sets orignal_iseq then runs the compaction tests and the tracepoint tests. Please excuse the lack of tests. I was not able to figure out how to reliably trigger a move on a specific iseq imemo to make a good regression test. To manually confirm the problem and this fix, you can run: ``` env RUBY_ISEQ_DUMP_DEBUG=to_binary make test-all \ TESTOPTS="test/ruby/test_gc_compact.rb \ test/gdbm/test_gdbm.rb \ test/ruby/test_settracefunc.rb" ``` Or the following script: ```ruby tp = TracePoint.new(:line) {} 1.times do # put it in a block to not keep these objects alive objects = 10_000.times.map { Object.new } objects.hash end 1.times do # this allocation pattern can realistically happen in an app # at load time beek = 10_000.times.map do eval(<<-RUBY) def foo a + b 1.times { 4 + 234234 } nil + 234 end RUBY Object.new Object.new end beek.hash end tp.enable(target: self.:foo) { 234 } # allocate original iseq GC.verify_compaction_references(toward: :empty) GC.compact tp.enable(target: self.:foo) { 234234 } # crash ``` [Bug #16098] Notes: Merged: https://github.com/ruby/ruby/pull/2391
2019-08-20Check whether syscall(2) is deprecated by actual warningsNobuyoshi Nakada
2019-08-20Check for minimum required OSX version earlierNobuyoshi Nakada
2019-08-20Bail out if unsupported old MacOSX is requiredNobuyoshi Nakada
2019-08-20Fixed the check for OSX versionNobuyoshi Nakada
Should compare minimum required version, and with the particular macro defined for each version. Also made the error messages consistent.
2019-08-20retrieve current path on macOSDavid Carlier
Notes: Merged: https://github.com/ruby/ruby/pull/2390
2019-08-20* 2019-08-20 [ci skip]git
2019-08-20io.c: make ioctl_req_t int in AndroidYusuke Endoh
The second argument of ioctl seems to be int in Android. Android is not a supported platform, but this one-line change allows ruby to build by Android NDK r20.
2019-08-19Reduce sub-shell and use `&&` instead of `;`Kazuhiro NISHIYAMA
2019-08-19Drop duplicated sample code (#2389) [ci skip]Kenichi Kamiya
* Drop duplicated sample code * Drop another style sample https://github.com/ruby/ruby/pull/2389#issuecomment-522489520 * Update sample list
2019-08-19Make portable for standalone test-unit gem.Hiroshi SHIBATA
* It can invoke test-unit with envutil.rb * refute_match of test-unit couldn't handle String instance.
2019-08-19Remove unused variable to suppress warning (#2388) [ci skip]Kenichi Kamiya
``` sample/observ.rb:30: warning: assigned but unused variable - clock ```
2019-08-19Mark Travis osx cron-onlyTakashi Kokubun
because it has often hanged like https://travis-ci.org/ruby/ruby/jobs/573691637, and we also have almost the same test suite on GitHub Actions now, which seems to be stable in `make check` so far.
2019-08-19Update a sample code (#2387)Kenichi Kamiya
Kernel#inspect does not call #to_s now To follow https://github.com/ruby/ruby/commit/fd7dc23d281f38a71fa7f9c32812cd468c4b1788
2019-08-19Update the canonical repository urlHiroshi SHIBATA
2019-08-19crash report on mac little updateDavid CARLIER
displaying vm info as Linux and FreeBSD. checking libproc as it is present only from 10.5 version. https://github.com/ruby/ruby/pull/2384
2019-08-19Accurate a sample to show having some ext (#2385)Kenichi Kamiya
2019-08-19Prefer Regexp#=~ to Regexp#match when the RHS may be nilNobuyoshi Nakada
2019-08-19Use modifier for pid_tNobuyoshi Nakada
2019-08-19unsigned int should have enough bits for rb_thread_shield_waitingNobuyoshi Nakada
2019-08-19Fix FL_USER19Nobuyoshi Nakada
* include/ruby/ruby.h: cast via `unsigned int` explicitly, to get rid of signed extension by implicit integer promotion.
2019-08-19Omit version.h when mergingNAKAMURA Usaku
2019-08-19cont.c: remove unused STACK_GROW_DIR_DETECTIONYusuke Endoh
to suppress a waring for "unused variable"
2019-08-19Roughly retry `brew update`Takashi Kokubun
as it failed randomly https://github.com/ruby/ruby/runs/196712109
2019-08-19Make it as clear as possible that RubyVM is MRI-specific and only exists on ↵Benoit Daloze
MRI (#2113) [ci skip] * Make it clear as possible that RubyVM is MRI-specific and only exists on MRI * See [Bug #15743]. * Use "CRuby VM" instead of "Ruby VM" for clarity. * Use YARV rather than "CRuby VM" for documenting RubyVM::InstructionSequence * Avoid introducing a new "CRuby VM" term in documentation
2019-08-19missing/memcmp.c: suppress a `-Wparentheses` warningYusuke Endoh
2019-08-19* expand tabs. [ci skip]git
2019-08-19Set flag to allow unprivileged users to create symlinks (#2381)Nobuyoshi Nakada
* [Win32] set flag to allow unprivileged users to create symlinks Notes: Merged-By: nobu <nobu@ruby-lang.org>
2019-08-19lib/rdoc/markup/parser.rb: remove a unused variable initializationYusuke Endoh
2019-08-19Make AppVeyor notification colors consistentTakashi Kokubun
It was using the same one as original AppVeyor's notification, but it's just inconsistent with others like Travis and GitHub Actions.
2019-08-19Stop reporting test-bundled-gems resultsTakashi Kokubun
by marking continue-on-error. I dropped it to test Slack notification, and I finished to test it.
2019-08-19Workaround errors on multi-line commit messageTakashi Kokubun
by using toJson with fields.
2019-08-19Make Slack notification availableTakashi Kokubun
for macOS / Windows as well. Docker-based GitHub Action does not work on these OSes.
2019-08-19* 2019-08-19 [ci skip]git
2019-08-19Implement Slack notification for ActionsTakashi Kokubun
2019-08-18Revert "Try notifying Slack from Actions"Takashi Kokubun
This reverts commit d8807e8b1a9d09ee1543e18618b4ef7e8203c616. We'd need more features. Reverting to customize this later.
2019-08-18Try notifying Slack from ActionsTakashi Kokubun
https://github.com/8398a7/action-slack https://github.com/marketplace/actions/action-slack
2019-08-18Reoder Travis matrix.includeTakashi Kokubun
to clarify what's running for every commit.
2019-08-18Use master branch instead of trunk.Hiroshi SHIBATA
2019-08-18Ignore tags on default gems from ruby core repository.Hiroshi SHIBATA
2019-08-18Drop before_test for mswin tooTakashi Kokubun
for consistency. In the pull request, `before_test` was dropped only for msys2 to fix msys2-only failure. But there's no need to keep it inconsistent now.
2019-08-18Appveyor - vc120 use OpenSSL 1.0.2, vc140 use 1.1.1 (#1998)MSP-Greg
* appveyor.yml - OpenSSL vc120 -> 1.0.2, vc140 -> 1.1.1 * Try just using build_script
2019-08-18Fix document of `GC.start` (#2382)Masataka Pocke Kuwabara
2019-08-18Skip open_spec.rb:L95 because ruby repo doesn't have json as default gems.Hiroshi SHIBATA
2019-08-18[bundler/bundler] Remove unnecessary requireDavid Rodríguez
https://github.com/bundler/bundler/commit/8ef571ed4e
2019-08-18[bundler/bundler] No need to activate the `fileutils` default gemDavid Rodríguez
The version we're vendoring actually relaxed this restriction back to 2.3.0+, so we can always use the vendored version. https://github.com/bundler/bundler/commit/d366cbfe5d
2019-08-18[bundler/bundler] Remove unnecessary rubygems monkeypatchDavid Rodríguez
Instead, make sure we always load the local copy of bundler during specs, and never end up using the default copy. https://github.com/bundler/bundler/commit/ac655ffeda
2019-08-18[bundler/bundler] Don't use system bundler on this specDavid Rodríguez
If we use system bundler, when booting the "outermost" bundler process, bundler will save the path to the system bundler in BUNDLE_BIN_PATH, and use it again when booting the "innermost" bundler process (`bundle exec echo foo`). That means that second process will use the system bundler path again. However, we have `-rsupport/hax` in RUBYOPT, so that file will load from the local copy of bundler, and that file will load `bundler/version` from the project (not from system), because -Ilib is in the LOAD_PATH. That will end up causing redefinition errors because the same constant will be loaded from two different locations. In general, this is expected behavior, normally you will wrap the process with `Bundler.with_original_env` to reset the environment. However, the easiest fix here is to not use system bundler, because it's not really necessary and thus doesn't help the readability of the spec. https://github.com/bundler/bundler/commit/a3d72a34ab
2019-08-18[bundler/bundler] Fix spec using the deprecated `bundle config` modeDavid Rodríguez
https://github.com/bundler/bundler/commit/789dd1864f
2019-08-18[bundler/bundler] Require relatively from exe/ when possibleDavid Rodríguez
https://github.com/bundler/bundler/commit/e4cbb91b7d