[#20190] Behavior: autoload calls rb_require() directly — Evan Phoenix <evan@...>

Hi everyone,

79 messages 2008/12/01
[#20200] Re: Behavior: autoload calls rb_require() directly — Yukihiro Matsumoto <matz@...> 2008/12/02

Hi,

[#20215] Re: Behavior: autoload calls rb_require() directly — Evan Phoenix <evan@...> 2008/12/02

[#20217] Re: Behavior: autoload calls rb_require() directly — Dave Thomas <dave@...> 2008/12/02

[#20301] Re: Behavior: autoload calls rb_require() directly — Yukihiro Matsumoto <matz@...> 2008/12/04

Hi,

[#20316] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Yukihiro Matsumoto wrote:

[#20317] Re: Behavior: autoload calls rb_require() directly — Paul Brannan <pbrannan@...> 2008/12/04

On Fri, Dec 05, 2008 at 03:25:42AM +0900, Charles Oliver Nutter wrote:

[#20323] Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Dave Thomas <dave@...> 2008/12/04

[#20325] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Dave Thomas wrote:

[#20328] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Yukihiro Matsumoto <matz@...> 2008/12/04

Hi,

[#20334] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

Yukihiro Matsumoto wrote:

[#20384] Re: Leave my open classes alone (was Behavior: autoload calls rb_require() directly) — Brent Roman <brent@...> 2008/12/05

[#20329] Re: Behavior: autoload calls rb_require() directly — daz <dooby@...10.karoo.co.uk> 2008/12/04

Charles Oliver Nutter wrote:

[#20335] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/04

daz wrote:

[#20341] Re: Behavior: autoload calls rb_require() directly — "Michael Selig" <michael.selig@...> 2008/12/04

On Fri, 05 Dec 2008 09:58:02 +1100, Charles Oliver Nutter

[#20344] Re: Behavior: autoload calls rb_require() directly — Charles Oliver Nutter <charles.nutter@...> 2008/12/05

Michael Selig wrote:

[#20214] Proposal: deferred blocks — "Yehuda Katz" <wycats@...>

Several people have played around with solutions that use ParseTree or

11 messages 2008/12/02

[#20235] autoload and concurrency — "Yehuda Katz" <wycats@...>

Merb uses autoload rather extensively. We have lately observed some

31 messages 2008/12/03
[#20236] Re: autoload and concurrency — Jim Deville <jdeville@...> 2008/12/03

This seems like a strong argument in favor of Ruby-core:20225.

[#20240] Re: autoload and concurrency — Charles Oliver Nutter <charles.nutter@...> 2008/12/03

Jim Deville wrote:

[#20242] Re: autoload and concurrency — Charles Oliver Nutter <charles.nutter@...> 2008/12/03

Charles Oliver Nutter wrote:

[#20245] Re: autoload and concurrency — "Yehuda Katz" <wycats@...> 2008/12/03

Also, this just illustrates that it's possible. In the case of Merb, we

[#20247] Re: autoload and concurrency — Tomas Matousek <Tomas.Matousek@...> 2008/12/03

I think it has already been concluded that autoload and require are inheren=

[#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>

19 messages 2008/12/03
[#22538] [Bug #814] NoMethodError: undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x1a64f9a0> — Tony Arcieri <redmine@...> 2009/02/26

Issue #814 has been updated by Tony Arcieri.

[#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

12 messages 2008/12/08

[#20483] encoding of symbols — Dave Thomas <dave@...>

If I have a source file like this:

50 messages 2008/12/11
[#20494] Re: encoding of symbols — Yukihiro Matsumoto <matz@...> 2008/12/11

Hi,

[#20496] Re: encoding of symbols — Yukihiro Matsumoto <matz@...> 2008/12/12

Hi,

[#20522] Re: encoding of symbols — Charles Oliver Nutter <charles.nutter@...> 2008/12/13

Yukihiro Matsumoto wrote:

[#20526] Re: encoding of symbols — Brian Candler <B.Candler@...> 2008/12/13

On Sat, Dec 13, 2008 at 08:33:13PM +0900, Charles Oliver Nutter wrote:

[#20540] Re: 1.9 character encoding (was: encoding of symbols) — "Michael Selig" <michael.selig@...> 2008/12/14

On Sun, 14 Dec 2008 01:01:44 +1100, Brian Candler <B.Candler@pobox.com>

[#20545] Re: 1.9 character encoding (was: encoding of symbols) — "Michael Selig" <michael.selig@...> 2008/12/14

On Sun, 14 Dec 2008 11:57:55 +1100, Michael Selig

[#20562] Re: 1.9 character encoding (was: encoding of symbols) — Yukihiro Matsumoto <matz@...> 2008/12/15

Hi,

[#20619] Re: 1.9 character encoding (was: encoding of symbols) — danielcavanagh@... 2008/12/17

> You're right. When we have two strings with identical byte sequence

[#20502] [Bug #863] Openssl issues with fresh compile on Ubuntu — Brian Takita <redmine@...>

Bug #863: Openssl issues with fresh compile on Ubuntu

11 messages 2008/12/12

[#20557] [Bug #877] [win32] Ruby Standard Library (maybe smth else): Wrong Encoding in Files, Directories and Environment Variables — "Dmitry A. Ustalov" <redmine@...>

Bug #877: [win32] Ruby Standard Library (maybe smth else): Wrong Encoding in Files, Directories and Environment Variables

14 messages 2008/12/14

[#20564] [Bug #883] Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref) — Kazuhiro NISHIYAMA <redmine@...>

Bug #883: Failure: test_handle_special_CROSSREF_no_underscore(TestRDocMarkupToHtmlCrossref)

9 messages 2008/12/15

[#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

14 messages 2008/12/15

[#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

15 messages 2008/12/15

[#20668] [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Nutter <redmine@...>

Feature #905: Add String.new(fixnum) to preallocate large buffer

60 messages 2008/12/18
[#20671] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Yukihiro Matsumoto <matz@...> 2008/12/19

Hi

[#20674] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Oliver Nutter <charles.nutter@...> 2008/12/19

Yukihiro Matsumoto wrote:

[#20697] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Jim Weirich <jim.weirich@...> 2008/12/19

[#20703] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Charles Oliver Nutter <charles.nutter@...> 2008/12/19

Jim Weirich wrote:

[#20704] Re: [Feature #905] Add String.new(fixnum) to preallocate large buffer — Dave Thomas <dave@...> 2008/12/19

[#28461] [Feature #905] Add String.new(fixnum) to preallocate large buffer — caleb clausen <redmine@...> 2010/03/04

Issue #905 has been updated by caleb clausen.

[#28491] [Feature #905] Add String.new(fixnum) to preallocate large buffer — Kurt Stephens <redmine@...> 2010/03/05

Issue #905 has been updated by Kurt Stephens.

[#20695] [Bug #907] Various system() and backticks problems on Windows — "James M. Lawrence" <redmine@...>

Bug #907: Various system() and backticks problems on Windows

13 messages 2008/12/19

[#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

39 messages 2008/12/19
[#21816] [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michael Selig <redmine@...> 2009/02/03

Issue #908 has been updated by Michael Selig.

[#21825] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/04

In article <4988d2fa997f8_8527a9e32018e7@redmine.ruby-lang.org>,

[#21826] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/04

Hi,

[#22100] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/14

In article <op.uotab6oa9245dp@kool>,

[#22125] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/15

2009/2/14 Tanaka Akira <akr@fsij.org>:

[#22146] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/15

In article <a5d587fb0902141711q780f0d24jef9be9b8bbe69b2a@mail.gmail.com>,

[#22182] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/16

2009/2/15 Tanaka Akira <akr@fsij.org>:

[#22213] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/18

In article <a5d587fb0902160252u56b50cfdv8e0fd36bb4f0b1b3@mail.gmail.com>,

[#22215] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/18

2009/2/18 Tanaka Akira <akr@fsij.org>:

[#22238] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/18

On Thu, 19 Feb 2009 02:21:21 +1100, Michal Suchanek <hramrach@centrum.cz>

[#22253] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/19

In article <op.upklh9q19245dp@kool>,

[#22281] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Martin Duerst <duerst@...> 2009/02/20

At 19:00 09/02/19, Tanaka Akira wrote:

[#22332] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Tanaka Akira <akr@...> 2009/02/22

In article <6.0.0.20.2.20090220134502.0823ee98@localhost>,

[#22338] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — "Michael Selig" <michael.selig@...> 2009/02/22

On Mon, 23 Feb 2009 03:00:41 +1100, Tanaka Akira <akr@fsij.org> wrote:

[#22356] Re: [Feature #908] Should be an easy way of reading N characters from am I/O stream — Michal Suchanek <hramrach@...> 2009/02/23

2009/2/22 Michael Selig <michael.selig@fs.com.au>:

[#20723] [Bug #911] ArgumentError in Resolv#getaddress — Federico Builes <redmine@...>

Bug #911: ArgumentError in Resolv#getaddress

14 messages 2008/12/20

[#20797] [Bug #921] autoload is not thread-safe — Charles Nutter <redmine@...>

Bug #921: autoload is not thread-safe

15 messages 2008/12/22

[#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

8 messages 2008/12/26

[#20978] Definable != is a Bad Thing™ — Ryan Davis <ryand-ruby@...>

> >> class X; def == o; :great; end; def != o; :horrible; end; end

20 messages 2008/12/30
[#20979] Re: Definable != is a Bad Thing™ — Yukihiro Matsumoto <matz@...> 2008/12/30

Hi,

[#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

10 messages 2008/12/30

[#20999] Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...>

Hi,

27 messages 2008/12/30
[#21002] Re: Supporting Thread.critical=with native threads — Eric Hodel <drbrain@...7.net> 2008/12/31

On Dec 30, 2008, at 15:00 PM, Shri Borde wrote:

[#21010] Re: Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...> 2008/12/31

http://www.ruby-doc.org/core/classes/Thread.html#M000461 says:

[#21245] Re: Supporting Thread.critical=with native threads — Charles Oliver Nutter <charles.nutter@...> 2009/01/10

I'm starting come around to Shri's idea of critical= being represented

[#21353] Re: Supporting Thread.critical=with native threads — Shri Borde <Shri.Borde@...> 2009/01/14

SXMgb3BlbmluZyBhIGJ1ZyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGdldCB0aGUgc3BlYyBjaGFu

[#21359] Re: Supporting Thread.critical=with native threads — Brent Roman <brent@...> 2009/01/15

[ruby-core:20259] Re: autoload and concurrency

From: Charles Oliver Nutter <charles.nutter@...>
Date: 2008-12-03 14:51:43 UTC
List: ruby-core #20259
Except that my proposed fix for autoload would have all secondary 
threads either seeing the final loaded constant value or waiting on the 
in-progress load; there would be no concurrent call to require whatsoever.

Tomas Matousek wrote:
> I meant that even if autoload is "fixed" by adding some kind of "in-progress" flag it wouldn't make it thread-safe since "require" itself is still broken as you described.
> 
> Tomas
> 
> -----Original Message-----
> From: Charles.O.Nutter@sun.com [mailto:Charles.O.Nutter@sun.com] On Behalf Of Charles Oliver Nutter
> Sent: Tuesday, December 02, 2008 10:10 PM
> To: ruby-core@ruby-lang.org
> Subject: [ruby-core:20251] Re: autoload and concurrency
> 
> Require could be made safe if only one thread were allowed to execute
> requires at a time, globally. Whether that's a reasonable tradeoff, I'm
> not sure.
> 
> All things are possible...but many require behavioral changes to Ruby.
> 
> - Charlie
> 
> Tomas Matousek wrote:
>> I think it has already been concluded that autoload and require are
>> inherently broken in presence of threads. See ruby-core:19860.
>>
>> Or am I missing something?
>>
>>
>>
>> Tomas
>>
>>
>>
>> *From:* Yehuda Katz [mailto:wycats@gmail.com]
>> *Sent:* Tuesday, December 02, 2008 9:10 PM
>> *To:* ruby-core@ruby-lang.org
>> *Subject:* [ruby-core:20245] Re: autoload and concurrency
>>
>>
>>
>> Also, this just illustrates that it's possible. In the case of Merb, we
>> aren't doing any hanky panky, and still get the bad behavior from time
>> to time under high concurrency on JRuby.
>>
>>
>>
>> -- Yehuda
>>
>> On Tue, Dec 2, 2008 at 8:58 PM, Charles Oliver Nutter
>> <charles.nutter@sun.com <mailto:charles.nutter@sun.com>> wrote:
>>
>> Charles Oliver Nutter wrote:
>>
>> Jim Deville wrote:
>>
>> This seems like a strong argument in favor of Ruby-core:20225.
>>
>>
>> Fixing autoload to call require doesn't solve anything because there's
>> still the exact same gap between the time it deletes the special value
>> and the time when the required file redefines it.
>>
>>
>>
>> A trivial example
>>
>> autoloaded.rb:
>>
>> sleep 1
>> Bar::Foo = 1
>>
>> autoloader.rb:
>>
>> module Bar
>>  autoload :Foo, 'autoloaded.rb'
>> end
>>
>> t1 = Thread.new { Bar::Foo }
>> t2 = Thread.new { Bar::Foo }
>> t1.join; t2.join
>>
>> Fails every time. Of course "sleep 1" is a longer delay than you'd
>> typically see from requiring in a file, but any delay means there's a
>> change another thread will schedule and see the missing constant before
>> it's defined.
>>
>> Now some of you may be saying "don't do that". But of course, the
>> developer accessing the constant *doesn't know* not to do it, and the
>> developer writing the library containing the autoload just wants to
>> defer a require. Who is breaking the rules?
>>
>> - Charlie
>>
>>
>>
>>
>> --
>> Yehuda Katz
>> Developer | Engine Yard
>> (ph) 718.877.1325
>>
> 
> 
> 


In This Thread