[#20189] [Bug #805] Ruby 1.9.1 preview 2 : build failure on OpenSolaris — Dae San Hwang <redmine@...>
Bug #805: Ruby 1.9.1 preview 2 : build failure on OpenSolaris
Hi,
[#20190] Behavior: autoload calls rb_require() directly — Evan Phoenix <evan@...>
Hi everyone,
Hi,
However, that is *not* currently the implementation, and it could introduce
Hi,
Yukihiro Matsumoto wrote:
On Fri, Dec 05, 2008 at 03:25:42AM +0900, Charles Oliver Nutter wrote:
Dave Thomas wrote:
Hi --
2008/12/4 Charles Oliver Nutter <charles.nutter@sun.com>:
Hi,
Yukihiro Matsumoto wrote:
Floats are 64-bits wide, and need at least 1 bit to indicate that the
On Sat, Dec 06, 2008 at 04:46:36AM +0900, Brent Roman wrote:
Hi,
On Mon, 08 Dec 2008 18:21:39 +0900, SASADA Koichi wrote:
Ken Bloom wrote::
On Fri, Dec 05, 2008 at 06:25:08AM +0900, Dave Thomas wrote:
Charles Oliver Nutter wrote:
daz wrote:
On Fri, 05 Dec 2008 09:58:02 +1100, Charles Oliver Nutter
Michael Selig wrote:
On Fri, Dec 05, 2008 at 09:56:19AM +0900, Charles Oliver Nutter wrote:
Except for the frames that are already on stack... that's not so easy.
On Thu, 04 Dec 2008 16:51:10 +0900, Yukihiro Matsumoto wrote:
Evan Phoenix wrote:
On Wed, Dec 03, 2008 at 01:50:42PM +0900, Charles Oliver Nutter wrote:
Paul Brannan wrote:
On Wed, Dec 03, 2008 at 11:49:49PM +0900, Charles Oliver Nutter wrote:
[#20201] Language list in unicode.org — Yukihiro Matsumoto <matz@...>
Hi,
[#20214] Proposal: deferred blocks — "Yehuda Katz" <wycats@...>
Several people have played around with solutions that use ParseTree or
Yehuda Katz wrote:
[#20226] \b and \B with Unicode — Dave Thomas <dave@...>
#encoding: utf-8
[#20235] autoload and concurrency — "Yehuda Katz" <wycats@...>
Merb uses autoload rather extensively. We have lately observed some
This seems like a strong argument in favor of Ruby-core:20225.
Jim Deville wrote:
Charles Oliver Nutter wrote:
Also, this just illustrates that it's possible. In the case of Merb, we
I think it has already been concluded that autoload and require are inheren=
Require could be made safe if only one thread were allowed to execute
SSBtZWFudCB0aGF0IGV2ZW4gaWYgYXV0b2xvYWQgaXMgImZpeGVkIiBieSBhZGRpbmcgc29tZSBr
Except that my proposed fix for autoload would have all secondary
Yehuda Katz wrote:
Charles Oliver Nutter wrote:
Because of this problem, we *will* be removing the use of autoload in 1.1.
On Thu, Dec 4, 2008 at 1:14 AM, Yehuda Katz <wycats@gmail.com> wrote:
[#20241] [Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0> — Aaron Patterson <redmine@...>
Bug #814: NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0>
In article <4936125f7242c_8817a7829234b3@redmine.ruby-lang.org>,
Issue #814 has been updated by Aaron Patterson.
Issue #814 has been updated by Tony Arcieri.
In article <49a642ba6184_852787888e668d@redmine.ruby-lang.org>,
On Thu, Feb 26, 2009 at 2:14 AM, Tanaka Akira <akr@fsij.org> wrote:
In article <c7e6b2b00903100000n30f71021ve44c823b0812e163@mail.gmail.com>,
On Tue, Mar 10, 2009 at 2:29 AM, Tanaka Akira <akr@fsij.org> wrote:
[#20273] Tail recursion? — "Robert Dober" <robert.dober@...>
Hi list
Hi,
[#20310] [Bug #822] gets blocks when it shouldn't — Ahmed Saeed <redmine@...>
Bug #822: gets blocks when it shouldn't
[#20345] Achieving C-like performance with more indirection? — Jan Wedekind <jan@...>
I am working on a Ruby-extension for doing real-time computer vision
[#20363] RDoc can't generate documentation of Ruby — hemant <gethemant@...>
Hi,
[#20400] More powerful method arguments — "=?ISO-8859-2?Q?Rados=B3aw_Bu=B3at?=" <radek.bulat@...>
(I'm thinking very loudly, don't get it to seriously)
[#20416] [Feature #839] Add code on each line of a backtrace output to the screen — Roger Pack <redmine@...>
Feature #839: Add code on each line of a backtrace output to the screen
[#20418] Array#to_proc — "Eust痃uio Rangel" <eustaquiorangel@...>
Some months ago I sent a patch to Rails proposing an Array#to_proc the
[#20434] Another Patch for curses extension. — "Giancarlo F Bellido" <support@...>
Hello,
[#20446] [Bug #844] Interpreter wide IO deadlock — "coderrr ." <redmine@...>
Bug #844: Interpreter wide IO deadlock
[#20483] encoding of symbols — Dave Thomas <dave@...>
If I have a source file like this:
Dave Thomas wrote:
Hi,
Hi,
Yukihiro Matsumoto wrote:
On Sat, Dec 13, 2008 at 08:33:13PM +0900, Charles Oliver Nutter wrote:
On Sun, 14 Dec 2008 01:01:44 +1100, Brian Candler <B.Candler@pobox.com>
On Sat, Dec 13, 2008 at 22:57, Michael Selig <michael.selig@fs.com.au> wrot=
On Sun, 14 Dec 2008 11:57:55 +1100, Michael Selig
Hi,
Hi,
> I don't mean to shoot you down in flames, but a lot of thought and effort
> You're right. When we have two strings with identical byte sequence
Hi,
> I am against trancoding before comparison. The applications models
On Thu, Dec 18, 2008 at 06:22:28PM +0900, Daniel Cavanagh wrote:
On Thu, Dec 18, 2008 at 08:43:45AM +0900, danielcavanagh@aanet.com.au wrote:
On 18/12/2008, at 7:24 PM, Brian Candler wrote:
On Sun, Dec 14, 2008 at 09:57:55AM +0900, Michael Selig wrote:
[#20502] [Bug #863] Openssl issues with fresh compile on Ubuntu — Brian Takita <redmine@...>
Bug #863: Openssl issues with fresh compile on Ubuntu
[#20519] [Fwd: [ruby-dev:37282] [Bug #827] Fix document for Gem::Installer#write_spec] — "Yugui (Yuki Sonoda)" <yugui@...>
okkez sent a patch for RubyGems to ruby-dev. He said that rdoc does not
[#20553] [Bug #873] compilation failure — Oleg Puchinin <redmine@...>
Bug #873: compilation failure
[#20564] [Bug #883] Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref) — Kazuhiro NISHIYAMA <redmine@...>
Bug #883: Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref)
[#20576] [Bug #888] zlib 1.2.3 does not work with Rubygems 1.3.1 (in Ruby 1.9.1) on Windows — Chauk-Mean PROUM <redmine@...>
Bug #888: zlib 1.2.3 does not work with Rubygems 1.3.1 (in Ruby 1.9.1) on Windows
Issue #888 has been updated by Yasuhiro MISE.
[#20578] [Feature #889] erb.rb should use Array and << for eoutvar and not String and concat — Thomas Enebo <redmine@...>
Feature #889: erb.rb should use Array and << for eoutvar and not String and concat
Issue #889 has been updated by Kurt Stephens.
[#20601] ruby-mode.el has moved — Phil Hagelberg <phil@...>
[#20606] system() issues on Windows — "James M. Lawrence" <quixoticsycophant@...>
I put together a spec of my grievances with system() on Windows and
[#20620] Proposal: Proc#bind — "Paweł Kondzior" <kondzior.p@...>
SXQgd291bGQgYmUgZ29vZCB0byBoYXZlIFByb2MjYmluZChyZWNlaXZlcikgbWV0aG9kIHRoYXQg
[#20626] ruby take non .rb files? — "Roger Pack" <rogerpack2005@...>
I'm pretty sure this has been discussed before, but what would the
[#20665] best way to handle $: when embedding ruby — Rolando Abarca <funkaster@...>
Hi all,
[#20668] [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Nutter <redmine@...>
Feature #905: Add String.new(fixnum) to preallocate large buffer
Issue #905 has been updated by Brian Ford.
Hi
Yukihiro Matsumoto wrote:
Jim Weirich wrote:
Dave Thomas wrote:
Dave Thomas wrote:
Dave Thomas wrote:
Issue #905 has been updated by caleb clausen.
Hi,
Doesn't Ruby allocate already using a "double memory if you run out"
On Fri, 5 Mar 2010, Kornelius Kalnbach wrote:
Issue #905 has been updated by caleb clausen.
On 04.03.10 21:08, caleb clausen wrote:
Hi,
Issue #905 has been updated by Kurt Stephens.
On 05.03.10 01:13, Kurt Stephens wrote:
Hi,
On 3/5/10, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
On Fri, Mar 5, 2010 at 17:25, Caleb Clausen <vikkous@gmail.com> wrote:
Issue #905 has been updated by Kornelius Kalnbach.
[#20669] [Bug #906] File.close not working good in Windows — Yong Lu <redmine@...>
Bug #906: File.close not working good in Windows
[#20695] [Bug #907] Various system() and backticks problems on Windows — "James M. Lawrence" <redmine@...>
Bug #907: Various system() and backticks problems on Windows
[#20699] how is 1.9 able to handle > 1024 sockets? — "Roger Pack" <rogerpack2005@...>
I noticed that select in 1.9 seems to be able to handle more than
[#20706] [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michael Selig <redmine@...>
Feature #908: Should be an easy way of reading N characters from am I/O stream
Issue #908 has been updated by Michael Selig.
In article <4988d2fa997f8_8527a9e32018e7@redmine.ruby-lang.org>,
Hi,
In article <op.uotab6oa9245dp@kool>,
2009/2/14 Tanaka Akira <akr@fsij.org>:
In article <a5d587fb0902141711q780f0d24jef9be9b8bbe69b2a@mail.gmail.com>,
2009/2/15 Tanaka Akira <akr@fsij.org>:
In article <a5d587fb0902160252u56b50cfdv8e0fd36bb4f0b1b3@mail.gmail.com>,
2009/2/18 Tanaka Akira <akr@fsij.org>:
On Thu, 19 Feb 2009 02:21:21 +1100, Michal Suchanek <hramrach@centrum.cz>
In article <op.upklh9q19245dp@kool>,
At 19:00 09/02/19, Tanaka Akira wrote:
In article <6.0.0.20.2.20090220134502.0823ee98@localhost>,
On Mon, 23 Feb 2009 03:00:41 +1100, Tanaka Akira <akr@fsij.org> wrote:
2009/2/22 Michael Selig <michael.selig@fs.com.au>:
2009/2/23 Michal Suchanek <hramrach@centrum.cz>:
On Mon, 23 Feb 2009 21:35:30 +1100, Michal Suchanek <hramrach@centrum.cz>
2009/2/24 Michael Selig <michael.selig@fs.com.au>:
On Thu, 19 Feb 2009 21:00:52 +1100, Tanaka Akira <akr@fsij.org> wrote:
[#20720] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>
Hi, folks
[#20723] [Bug #911] ArgumentError in Resolv#getaddress — Federico Builes <redmine@...>
Bug #911: ArgumentError in Resolv#getaddress
In article <494d365145bcf_881769c31c84a0@redmine.ruby-lang.org>,
Issue #911 has been updated by Federico Builes.
[#20724] Working with binary strings in Ruby 1.9? — Hadmut Danisch <hadmut@...>
Hi,
On Dec 20, 2008, at 12:49 PM, Hadmut Danisch wrote:
On Sun, 21 Dec 2008 06:43:32 +1100, James Gray <james@grayproductions.net>
[#20734] irb prompt question — "Roger Pack" <rogerpack2005@...>
I'm used to irb giving me indication of continued statements:
[#20754] Array#map and #select overrides — "David A. Black" <dblack@...>
Hi --
[#20794] [Bug #920] require is not thread-safe — Charles Nutter <redmine@...>
Bug #920: require is not thread-safe
[#20797] [Bug #921] autoload is not thread-safe — Charles Nutter <redmine@...>
Bug #921: autoload is not thread-safe
Hi,
Dave Thomas wrote:
[#20874] [Feature #928] RDoc encoding conversion — Yuki Sonoda <redmine@...>
Feature #928: RDoc encoding conversion
[#20877] [ANN] Updated status of the releasing 1.9.1 RC — "Yugui (Yuki Sonoda)" <yugui@...>
Hi, folks
[#20879] [Feature #929] Array#shuffle does not initialize random seed — Justin Collins <redmine@...>
Feature #929: Array#shuffle does not initialize random seed
[#20893] [Bug #932] incorrect case statement in "ext/dl/test/test_base.rb" causes library problems on openSUSE 11.1 64-bit — Ed Borasky <redmine@...>
Bug #932: incorrect case statement in "ext/dl/test/test_base.rb" causes library problems on openSUSE 11.1 64-bit
[#20894] [Bug #933] Fiber class documentation — Muhammad Ali <redmine@...>
Bug #933: Fiber class documentation
[#20938] [Bug #940] ruby/config.h:1:1: warning: "PACKAGE_NAME" redefined — bugmenot bugmenot <redmine@...>
Bug #940: ruby/config.h:1:1: warning: "PACKAGE_NAME" redefined
[#20944] [Bug #942] Build fails on IA-32 Linux with gcc 4.3.2 — Michael Klishin <redmine@...>
Bug #942: Build fails on IA-32 Linux with gcc 4.3.2
[#20978] Definable != is a Bad Thing™ — Ryan Davis <ryand-ruby@...>
> >> class X; def == o; :great; end; def != o; :horrible; end; end
Hi,
Ryan Davis <ryand-ruby@zenspider.com> wrote:
On Fri, Jan 2, 2009 at 01:37, Ken Bloom <kbloom@gmail.com> wrote:
Daniel Luz wrote:
On Fri, Jan 2, 2009 at 12:42 PM, Kornelius Kalnbach <murphy@rubychan.de> wrote:
[#20990] [Bug #951] "make DESTDIR=... install" creates dirs outside DESTDIR — Sven Schwyn <redmine@...>
Bug #951: "make DESTDIR=... install" creates dirs outside DESTDIR
[#20994] [Bug #956] Encoding: nl_langinfo(CODESET) on cygwin 1.5 always returns US-ASCII — Tom Link <redmine@...>
Bug #956: Encoding: nl_langinfo(CODESET) on cygwin 1.5 always returns US-ASCII
Issue #956 has been updated by Tom Link.
Hi,
[#20999] Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...>
Hi,
Shri Borde wrote:
WWVzLCBUaHJlYWQja2lsbCBhbmQgVGhyZWFkI3JhaXNlIGNhbiBiZSBpbXBsZW1lbnRlZCBpbiBJ
Shri Borde wrote:
On Dec 30, 2008, at 15:00 PM, Shri Borde wrote:
http://www.ruby-doc.org/core/classes/Thread.html#M000461 says:
I'm starting come around to Shri's idea of critical= being represented
SXMgb3BlbmluZyBhIGJ1ZyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGdldCB0aGUgc3BlYyBjaGFu
Brent, we are looking for Ruby to officially allow Thread.critical=3D to be=
Brent Roman wrote:
I disagree on most points, since 1.8 is going to remain the most
[ruby-core:20379] Re: Promising C coding techniques to reduce MRI's memory use
The "initialization holes" that leave potential pointers on the stack occur
in the interpreter, any system libraries and the GC itself. Thus clearing
some stack words before and *after* allocation/GC helps, but at an obvious cost.
Keeping stack frames small helps, perhaps moving some data structures out of
the C stack into explicit stacks would help there? A call/cc implemenation
that copies less C stack might also reduce leaks and overhead:
http://github.com/kstephens/ll/tree/master/src/ccont
Recompiling Ruby with flags to reduce initialization holes will not help
leaks from appearing in initialization holes in system libraries. We have
some Ruby processes (> 375 MB) that we'd like to keep running longer, but are
unable to do so because of leaks.
I'll help test your patches on 1.8.6.
Kurt
Brent Roman wrote:
> After a couple weeks of long nights and false starts, I feel I may have come
> up with
> a fix for a large class of Ruby memory leak. The basic technique is a
> refinement of the
> one Kurt Stephens suggested. It not only eliminates the leaks in this one
> liner:
>
> loop {@x=callcc{|c|c}}
>
> but also in our multi-threaded robotics application. Our Ruby process used
> to grow
> to 20+ MB during a day long run. The same run now stays smaller than 10MB.
> On an embedded ARM Linux machine with only 32MB of DRAM, this is a great
> result!
>
> The central problem is that gcc (and other compilers) tend to create
> sparse stack frames such that, when a new frame is pushed onto the stack, it
> does not
> completely overwrite the one that had been previously stored there. The new
> frame gets
> activated with old VALUE pointers preserved inside its holes. These become
> "live" again
> as far as any conservative garbage collector is concerned. And, viola, a
> leak is born!
>
> I implemented a scheme for recording the maximum depth of the C stack in
> xmalloc and during garbage collection itself. However, I realized that
> there was no point in clearing the stack when it is near its maximum depth.
> Instead, stack clearing is deferred until CHECK_INTS, as this tends to
> happen
> between evaluation of nodes, when the stack is likely to be shallower.
>
> At this point
> a tight loop quickly zeros the region between the current top of stack, as
> returned by alloca(0), and the maximum recorded stack extent. It also
> updates
> the stack extent so no memory is cleared repeatedly if the stack contracts
> further.
>
> This paper discusses this and similar techniques:
> http://www.hpl.hp.com/personal/Hans_Boehm/gc/papers/pldi93.ps.Z
>
> Another related issue is that the style of rb_eval() in eval.c in the
> 1.8 and 1.6 series causes gcc to emit a especially large and sparse stack
> frames.
> Consider that gcc allocates two pair of stack slots for r and l in
> constructs like this:
>
> switch (nd_type(node)) {
> /* nodes for speed-up(literal match) */
> case NODE_MATCH2:
> {
> VALUE l = rb_eval(self,node->nd_recv);
> VALUE r = rb_eval(self,node->nd_value);
> result = rb_reg_match(l, r);
> }
> break;
>
> /* nodes for speed-up(literal match) */
> case NODE_MATCH3:
> {
> VALUE r = rb_eval(self,node->nd_recv);
> VALUE l = rb_eval(self,node->nd_value);
> ....
>
> By the time the compiler's optimizer is allocating stack frame slots, all
> the block structure
> of the original code has been lost in various transformations.
> As a result, each rb_eval() call ends up pushing about 4k bytes onto the C
> stack,
> of which less than 20% is even initialized. This means that:
>
> 1) There is a high probability that old VALUEs from previous frames
> will be resurrected as the stack grows,
>
> 2) The GC must scan a sparse, large stack and mark the many dead object
> pointers it contains.
>
> 3) callcc and thread context switches must copy needlessly large stacks
>
> 4) recursive Ruby programs run out of stack space much earlier than than
> they might otherwise.
>
> When I simply re-factored rb_eval() such that it calls a (non-inline)
> function
> for each node type it encounters, the total observed C stack size for my
> application
> was reduced by more than two thirds. Not surprisingly, threading and
> continuation
> micro benchmarks and run about 3 - 4 times faster. However, I expect that
> benchmarks that
> operate repeatedly on a few large, long lived objects will run slower.
>
> Keep in mind that these techniques should improve the performance of *any*
> garbage
> collector that scans the unstructured C stack for valid object pointers. It
> may
> even be relevant for the 1.9 series Ruby, but I'll leave that for those more
> qualified to determine.
>
> Today, this is implemented only in my heavily patched version of Ruby 1.6.8.
> In the short term, if there's interest,
> I can quickly post my hacked 1.6.8 Ruby to an FTP site for others to test.
>
> Longer term,
> The stack clearing could be supplied as a small patch to the 1.8 series,
> however the
> refactoring of rb_eval() is probably too large to be attached to an email
> message
> on this list. I will take the time to produce these patches only if at
> least a few people
> commit to testing them, reporting detailed results and suggestions for
> improvement here.
>
> - brent
>
>