[#24648] [Bug #1852] Enumerable's #hash Raises ArgumentError When Recursive Values are Present — Run Paint Run Run <redmine@...>
Bug #1852: Enumerable's #hash Raises ArgumentError When Recursive Values are Present
In article <4a73e51b5a4f9_138119f2a982704e@redmine.ruby-lang.org>,
> Is it valuable to implement such function?
In article <67e307490908010125r6fa76654pa8e2224f714588fc@mail.gmail.com>,
> * several real applications are found
In article <67e307490908012245x3bf3be81oc7f060c2569ad4ab@mail.gmail.com>,
>>> * several real applications are found
[#24650] [Bug #1853] Cannot make constants using upper-case extended characters? — Brian Candler <redmine@...>
Bug #1853: Cannot make constants using upper-case extended characters?
[#24666] request: include more headers/source in installations? — Roger Pack <rogerdpack@...>
Background:
[#24673] [Feature #1857] install *.h and *.inc — Roger Pack <redmine@...>
Feature #1857: install *.h and *.inc
Issue #1857 has been updated by Mark Moseley.
Issue #1857 has been updated by Jason Roelofs.
Hi,
Issue #1857 has been updated by Mark Moseley.
[#24675] Include Order — James Gray <james@...>
I was surprised to find that:
[#24747] [Bug #1881] [PATCH] Build Documentation for Kernel#gem and Gem — Run Paint Run Run <redmine@...>
Bug #1881: [PATCH] Build Documentation for Kernel#gem and Gem
[#24775] [Feature #1889] Teach Onigurma Unicode 5.0 Character Properties — Run Paint Run Run <redmine@...>
Feature #1889: Teach Onigurma Unicode 5.0 Character Properties
Issue #1889 has been updated by Yui NARUSE.
Hi,
> |First, we should decide supporting Unicode version.
[#24786] [Bug #1893] Recursive Enumerable#join is surprising — Jeremy Kemper <redmine@...>
Bug #1893: Recursive Enumerable#join is surprising
Issue #1893 has been updated by Yusuke Endoh.
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
Hi,
[#24791] [Bug #1898] Method#== for Methods with the Same Body — Run Paint Run Run <redmine@...>
Bug #1898: Method#== for Methods with the Same Body
[#24793] [Feature #1900] Suggestion: Encoding#ascii_compatible? — Brian Candler <redmine@...>
Feature #1900: Suggestion: Encoding#ascii_compatible?
[#24824] 1.9 gem env is far slower than on 1.8? — Roger Pack <rogerdpack@...>
Currently when I run "gem env" on a windows machine
[#24854] embedding ruby 1.9 frustration — Rolando Abarca <funkaster@...>
Hello,
> I'm getting really frustrated, because there's almost no documentation
> Perhaps try using only rb_thread_blocking_region()?
[#24862] [Bug #1925] Division of negative numbers — Roswitha Rissner <redmine@...>
Bug #1925: Division of negative numbers
[#24885] IDEA: Shortcut syntax for binary strings? — Gregory Brown <gregory.t.brown@...>
Hey folks,
On Aug 12, 2009, at 2:55 PM, Gary Wright wrote:
On Wed, Aug 12, 2009 at 4:53 PM, James Gray<james@grayproductions.net> wrote:
[#24921] regparse.c - patch to fix memory leak — Ralf Junker <ralfjunker@...>
There are several memory leaks in regparse.c. They all relate to incomplete pattern branches, where a branch node is not freed when branch parsing is aborted. I discovered this by successively shortening all patterns in my test suite (which is not in Ruby, nor in C, unfortunately) down to zero length.
[#24923] [Bug #1939] Ripper doesn't handle local variables — Magnus Holm <redmine@...>
Bug #1939: Ripper doesn't handle local variables
[#24927] [Bug #1940] Segmentation fault on TestFiber#test_many_fibers_with_threads (make check) — Luis Lavena <redmine@...>
Bug #1940: Segmentation fault on TestFiber#test_many_fibers_with_threads (make check)
[#24982] [Feature #1961] Kernel#__dir__ — Yutaka HARA <redmine@...>
Feature #1961: Kernel#__dir__
Wouldn't it be a little confusing to remember that __FILE__ is uppercase and
Hi,
Issue #1961 has been updated by Roger Pack.
On 23.03.10 19:10, Roger Pack wrote:
Perhaps __FILE__ should not be a raw String object, but rather a CurrentFile object. It could have a #to_str to return the normal String so it can be used like normal, but can provide methods like #dir, where __FILE__.dir == File.dirname(__FILE__).
This is nice but would not be backward compatible with code that
On 3/24/10, Charles Oliver Nutter <headius@headius.com> wrote:
Actually, I proposed that it be a String subclass, so it actually
[#24989] [Bug #1964] Compile Issue on Solaris 10 — Brian Toal <redmine@...>
Bug #1964: Compile Issue on Solaris 10
[#25010] [Bug #1972] Changing ENV['TZ'] of a running process should change behavior of Time — Shri Borde <redmine@...>
Bug #1972: Changing ENV['TZ'] of a running process should change behavior of Time
[#25025] [Backport #1975] Backport Dir.mktmpdir — Kirk Haines <redmine@...>
Backport #1975: Backport Dir.mktmpdir
In article <4a8e914c6160_2100affe60043c6@redmine.ruby-lang.org>,
On Fri, Aug 21, 2009 at 8:17 PM, Tanaka Akira<akr@fsij.org> wrote:
In article <f4cd26df0908240817s68a6835ie65d942bbd3b95be@mail.gmail.com>,
[#25027] [Bug #1978] fixed crash in lib/logger.rb from dependency on svn keywork expansion — Stephen Bannasch <redmine@...>
Bug #1978: fixed crash in lib/logger.rb from dependency on svn keywork expansion
[#25032] [Bug #1979] parser confused by local variable assignment — caleb clausen <redmine@...>
Bug #1979: parser confused by local variable assignment
[#25039] [Bug #1982] Kernel.load(..., true) --> scope problem — Johan Holmberg <redmine@...>
Bug #1982: Kernel.load(..., true) --> scope problem
[#25041] Proposal: Simpler block format — Yehuda Katz <wycats@...>
I'd like to propose that we add the following syntax for procs in Ruby:
On Aug 22, 2009, at 7:04 PM, Yehuda Katz wrote:
Yehuda Katz wrote:
On Sat, Aug 22, 2009 at 7:38 PM, Caleb Clausen <caleb@inforadical.net>wrote:
Yehuda Katz wrote:
On Sun, Aug 23, 2009 at 2:00 PM, Caleb Clausen <caleb@inforadical.net>wrote:
Hi,
On Sun, Aug 23, 2009 at 3:33 PM, Yukihiro Matsumoto <matz@ruby-lang.org>wrote:
On Aug 23, 2009, at 15:58, Yehuda Katz wrote:
Hi --
Hi,
Hi,
Hi everyone,
On Sun, Aug 23, 2009 at 4:53 PM, David A. Black <dblack@rubypal.com> wrote:
[#25086] [Bug #1991] ruby should use twolevel namespace on OS X — Michal Suchanek <redmine@...>
Bug #1991: ruby should use twolevel namespace on OS X
Issue #1991 has been updated by Shyouhei Urabe.
Hi,
[#25131] [Feature #1999] Improved Tempfile — Hongli Lai <redmine@...>
Feature #1999: Improved Tempfile
[#25139] Patch writer's guide to submit — Yukihiro Matsumoto <matz@...>
Hi,
Reducing the submitters' frustration by reducing the delay for
[#25143] Is this an intentional change in 1.9? — Rick DeNatale <rick.denatale@...>
This came up on the ruby lang forum.
Hi,
On Wed, Aug 26, 2009 at 7:25 PM, Yukihiro Matsumoto<matz@ruby-lang.org> wrote:
[#25151] [Bug #2003] respond_to? not working 1.9.1p243 OSX — Adam Salter <redmine@...>
Bug #2003: respond_to? not working 1.9.1p243 OSX
[#25181] RegOOps: An Object-Oriented Approach to Pattern Matching — Run Paint Run Run <runrun@...>
Regexps in Ruby can feel like a jagged edge to the otherwise smooth
[#25191] [Feature #2012] Set event_flags on thread creation if hook exists — Mark Moseley <redmine@...>
Feature #2012: Set event_flags on thread creation if hook exists
[#25200] [Bug #2018] [irb] BasicObject.new doesn't have an inspect — Daniel Bovensiepen <redmine@...>
Bug #2018: [irb] BasicObject.new doesn't have an inspect
[#25208] Module#prepend and Array#prepend — Yehuda Katz <wycats@...>
Matz,
Yehuda Katz wrote:
On Sun, Aug 30, 2009 at 10:09 PM, Joel VanderWerf
Hi,
[#25210] [Feature #2022] Patch for ruby-1.8.6 and openssl-1.0 — Jeroen van Meeuwen <redmine@...>
Feature #2022: Patch for ruby-1.8.6 and openssl-1.0
[#25217] [Bug #2025] problem with pthread handling on non NPTL platform — Petr Salinger <redmine@...>
Bug #2025: problem with pthread handling on non NPTL platform
[#25220] [Bug #2026] String encodings are not supported by most of IO on Linux — Vit Ondruch <redmine@...>
Bug #2026: String encodings are not supported by most of IO on Linux
Issue #2026 has been updated by Yui NARUSE.
2009/9/1 Yui NARUSE <redmine@ruby-lang.org>:
[ruby-core:25114] [Bug #1993] IO.select fails when called in multiple threads on 1.8.7p174
Bug #1993: IO.select fails when called in multiple threads on 1.8.7p174
http://redmine.ruby-lang.org/issues/show/1993
Author: Daniel Azuma
Status: Open, Priority: Normal
Category: core
ruby -v: ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]
IO#select (Kernel#select) fails when run on different sets of IO objects in different threads. This affects release versions 1.8.7p160, 1.8.7p173, and 1.8.7p174. It does NOT seem to affect recent versions of 1.9.1 that I have tested. It also does NOT affect release version 1.8.7p72. I have not tested 1.8.6 versions. The repro steps have been tested mostly on Mac OS X 10.5.8 on an Intel-based MacBook Pro. I have, however, seen similar behavior on a recent Fedora Linux i686.
To reproduce, run the following script. (Replace the two filenames with distinct known readable files on your system.)
# Begin code
FILENAME1 = "Rakefile"
FILENAME2 = "README"
TWO_THREADS = true
f1 = File.open(FILENAME2)
f2 = File.open(FILENAME1)
t1 = Thread.new do
c1 = 0
loop do
c1 += 1
s1 = IO.select([f1], nil, nil, 0)
n1 = s1 ? s1.first.size : 0
puts "t1: num=#{n1} iter=#{c1}"
end
end
t2 = Thread.new do
c2 = 0
loop do
c2 += 1
s2 = IO.select([f2], nil, nil, 0)
n2 = s2 ? s2.first.size : 0
puts "t2: num=#{n2} iter=#{c2}"
end
end if TWO_THREADS
t1.join
# End code
The code simply repeatedly calls IO#select on IO objects known to have readable bytes, either in one thread or two threads. When run on one thread (TWO_THREADS=false), it behaves as expected, printing "num=1" indicating that select has detected the readable stream. However, when run on two threads (TWO_THREADS=true), both threads print "num=0" indicating neither thread is detecting readable information on their streams.
The relevant code appears to be the function rb_thread_schedule() in eval.c, and I believe this issue is related to revision 21165. I haven't been able to untangle everything in this code yet, but here's what I've been able to determine:
* The code that collects file descriptors for the system select() call (lines 11063-11073 of the 1.8.7 branch as of revision 24104) DOES NOT RUN for a given thread unless the thread has a THREAD_STOPPED status at that time (because of line 11051). Therefore, any threads with a THREAD_RUNNABLE status at that time, are effectively shut out of receiving select() results unless their fd lists overlap other threads.
* It appears that the tendency is (given the sample code above) for the next qualifying thread (that is, the thread that will be assigned to the "next" variable later on), to be in the THREAD_RUNNABLE state at this time. Since such threads are shut out of the select() call, they can never be assigned to "th_found" (see lines 11208-11212). As a result, "th_found" is assigned to a later thread in the list, rather than, as appears to be the intent, the first qualifying thread in the list (note the break on line 11214).
* Unfortunately, this mismatches lines 11230ff. Those lines, which choose the "next" thread, always prefer the first thread given equal priority (line 11231). Since "th_found" tends not to be the first qualifying thread, we have a situation where lines 11231 and 11232 are never both true; as a result, th->select_value is never set, and the select calls never succeed.
* The code appeared to work pre-revision-21165 (e.g. 1.8.7p72) because that version of the code set select_value on every qualifying thread, whereas the current code sets it on only one thread.
Here's where I'm unsure about how to proceed with a patch. I would like to move lines 11058 through 11073 to immediately above line 11051. This would add each thread's file descriptors to the select call, regardless of whether the thread has status THREAD_STOPPED or THREAD_RUNNABLE. This change appears to fix the test case above. And I believe it is the correct behavior; however, I'm new to this part of the code and do not have enough understanding of the intent of thread->status to assert that this is correct. I was hoping someone with more knowledge of this area could use this analysis as a starting point.
----------------------------------------
http://redmine.ruby-lang.org