summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-22benchmark/app_erb.yml: remove unused variablek0kubun
https://github.com/ruby/ruby/commit/3efcb74036af32cbcc889d06d8c6c546289e89f4#r31762996 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-22thread_sync.c (rb_mutex_t): eliminate fork_gennormal
The true bug fork_gen was hiding was rb_mutex_abandon_locking_mutex failing to unconditionally clear the waitq of mutexes it was waiting on. So we fix rb_mutex_abandon_locking_mutex, instead, and eliminate rb_mutex_cleanup_keeping_mutexes. This commit was tested heavily on a single-core Pentium-M which was my most reliable reproducer of the "crash.rb" script from [Bug #15383] [Bug #14578] [Bug #15383] Note: [Bug #15430] turned out to be an entirely different problem: RLIMIT_NPROC limit was hit on the CI VMs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21test/ruby/test_thread.rb: reduce thread count to avoid SIGKILLnormal
Perhaps this error report is down to resource limits on a VM: http://rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20181221T230003Z.fail.html.gz But rb_mutex_t.fork_gen is still redundant, I think. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21test/ruby/test_thread.rb: add diagnosis code for [Bug #15430]normal
I can't find stderr in the test-all output of the CI machine, so maybe the assertion will show what's going on. http://rubyci.s3.amazonaws.com/centos7/ruby-trunk/log/20181221T170003Z.log.html.gz#test-all git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21.travis.yml: use -v for osx to find a blocking testk0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21../arith_seq/../extract.c: remove unused variablek0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21.travis.yml: give up parallel build for osxk0kubun
Even building ruby seems to hang for unknown reasons. https://travis-ci.org/ruby/ruby/jobs/471021727 Travis's osx environment is too fragile. Avoid anything dangerous. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21* 2018-12-22svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21.travis.yml: avoid using -j3 for osxk0kubun
osx build has failed too often. we don't know why. To know which test hangs forever, we might want to have hard timeout for all test case (like 9min, slightly less than no-output timeout) in test-all. But it's a little hard to implement and I would workaround an unknown cause somehow. It's known that -j is harmful for some tests in test-all. Let's try to remove it first, and if it doesn't work, I'll resurrect -v option to easily know which test is the culprit. Slow correctness is much better than fast false-positive. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21* properties.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21test/excludes/_wercker: give up testing TestGemRemoteFetcherk0kubun
The tests are really fragile with --jit-wait and it doesn't have interface to modify this timeout at all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21test_jit.rb: show debug info for success_count testk0kubun
to investigate https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20181221T092505Z.fail.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21range.c: reject ArithmeticSequence in rb_range_valuesmrkn
Reject ArithmeticSequence in rb_range_values so that methods like Array#[] raises TypeError for ArithmeticSequence as an index. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21thread_sync.c (rb_mutex_cleanup_keeping_mutexes): update fork_gennormal
... when clearing waitq. Otherwise, we risk redundantly clearing valid waiters in future calls to `mutex_ptr`. Note: I am not sure if this fixes [Bug #15430], and even if it did, fork_gen is a belt-and-suspenders redundancy for [Bug #15383] which wastes one word for every Mutex object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21thread_sync.c (rb_mutex_abandon_keeping_mutexes): remove unnecessary checknormal
rb_mutex_abandon_all functions fine when passed a NULL value, so let the compiler deal with the complexity of the branch instead of the person reading the code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21eval_error.c (show_cause): check if cause is an Exception or notmame
Fixes [Bug #15447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-21enumerator.c: Fix airth_seq_each for Rationalmrkn
Fix the wrong uses of rb_int_ge in arith_seq_each. [ruby-core:90648] [Bug #15444] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20Import bigdecimal-1.4.0.pre.20181220amrkn
* https://github.com/ruby/bigdecimal/compare/v1.4.0.pre.20181214a..v1.4.0.pre.20181220a git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20iseq.c: resurrect literal hash operandsnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20NEWS: small improvementsstomar
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20* 2018-12-21svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20A couple of small English fixes [ci skip]nobu
[Fix GH-2052] From: Jon Burgess <jkburges@gmail.com> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20ext/coverage/lib/coverage.rb (Coverage.line_stub): use only line eventsmame
It wrongly used all linenos of ISeq#trace_points which includes not only line events but also call, return, and other events. So, the result included some linenos that can not be covered at all by line coverage. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20[DOC] Update CI build status badges [ci skip]kazu
copy from README.md git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20hide iseq operand object for duphash. [Bug #15440]ko1
* compile.c (compile_array): hide source Hash object. * hash.c (rb_hash_resurrect): introduced to dup Hash object using rb_cHash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20Test separately to get rid of risk to modify unrelated hashnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20Freeze hash literals embedded in duphash instructionsnobu
Previously, these hash literals were not frozen, and thus could be modified by ObjectSpace, resulting in undesired behavior. Example: ```ruby require 'objspace' def a(b={0=>1,1=>4,2=>17}) b end p a ObjectSpace.each_object(Hash) do |a| a[3] = 8 if a.class == Hash && a[0] == 1 && a[1] == 4 && a[2] == 17 end p a ``` It may be desirable to hide such hashes from ObjectSpace, since they are internal, but I'm not sure how to do that. From: Jeremy Evans <code@jeremyevans.net> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20parse.y: ignore constant name capturesnobu
* parse.y (reg_named_capture_assign_iter): ignore non-local name captures, including non-ASCII constant names. [ruby-dev:50719] [Bug #15437] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20Really ensure loading REXML in testskou
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20rbinstall.rb: purge %x[git ls-files] toonobu
[Bug #13423] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20rbinstall.rb: syntax error in gemspecnobu
* tool/rbinstall.rb (load_gemspec): do not hide syntax errors in a gemspec file. check if the result instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20Ensure loading REXMLkou
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20rexml: upgrade to 3.1.8kou
See https://github.com/ruby/rexml/blob/master/NEWS.md for change summary. Changes for spec/ has been reported: https://github.com/ruby/spec/pull/639 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-20thread_pthread.c (ubf_timer_disarm): ignore EINVAL iff timer is deadnormal
The following race may happen if ubf_timer_destroy calls timer_delete before ubf_timer_disarm gets called from a different thread. Consider the following timelines: ubf_timer_destroy | ubf_timer_disarm -------------------------------------+----------------------------- | CAS(ARM => DISARM) CAS(DISARM => DEAD) | timer_delete | | timer_settime(disarm) Another option may be to add an intermediate "RTIMER_DISARMING" state to the transition, but I figure the EINVAL check is simpler and less intrusive code-wise. cf. http://ci.rvm.jp/results/trunk-iseq_binary@silicon-docker/1545794 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19* 2018-12-20svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19* gems/bundled_gems: Upgrade the did_you_mean gem to 1.3.0yuki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19Update entry of Psych on NEWS file.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19Update entry of RubyGems on NEWS file.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19webrick: add the ability to override res, req creationnormal
So that a customized HTTPServer subclass can use it's own Request/Response classes. To apply the override, make a subclass of WEBrick::HTTPServer and override the `create_request_and_response(with_webrick_config)` method. The method should return an Array of [request, response]. To check whether the Server supports this method (i.e. when using older versions of WEBrick when needing this functionality), you can ask the server if it responds to the method server.respond_to?(:create_request_and_response) This is backportable. [ruby-core:69604] [Feature #11266] From: Julik Tarkhanov <me@julik.nl> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19Merge RubyGems 3.0.0 from upstream.hsbt
https://blog.rubygems.org/2018/12/19/3.0.0-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19Update metadata of Bundler 1.17.2hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19avoid passing unnecessary options to download methodduerst
The option --unicode-beta for tool/downloader.rb introduced in r66448 must not be passed as an option to actual download machinery. Thanks to MSP-Greg (Greg L.) for bug report and patch. This closes issue #15434. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-19add option to deal with Unicode beta data filesduerst
Unicode uses file names with explicit versions for beta publication. This commit introduces a variable on the makefile level to distinguish between beta and regular versions of file names. common.mk: Define new variable UNICODE_BETA, usually set to NO, but would be YES during tests with beta data files. Pass the value of this variable to tool/downloader.rb with option --unicode-beta. tool/downloader.rb: Receive and store value of --unicode-beta. Raise an exception if value is YES, because we don't yet actually deal with this case. Continue as usual if value is not YES. This completes the changes needed in the makefile. Upcomming changes will only affect tool/downloader.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18sample/fib.py: Fix syntax error in Python 3 [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18thread_pthread.c (ubf_timer_destroy): more careful state transitionnormal
We must not call timer_destroy while another thread is calling timer_settime to arm the timer. cf. http://ci.rvm.jp/results/trunk-iseq_binary@silicon-docker/1541578 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18Constified to fix warning at r66442nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18CHDIR to follow symlink [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18Expand cross-recursion to a loopnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-18* 2018-12-19svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e