[#6828] bug in mailread.rb, and: proposal for Mail#to_s — Wybo Dekker <wybo@...>
mailread separates mail messages looking for /^From /.
Hi,
[#6847] Re: Proposed patch for optparse to fix multi line argument handling — Daniel Hobe <hobe@...>
The attached patch fixes a bug in Optparse (at least I think it is a
Hi,
[#6864] ruby 1.8.4 rc breaks alias_method/rails in bad ways — "Ara.T.Howard" <ara.t.howard@...>
Ara.T.Howard wrote:
On Tue, 13 Dec 2005, [ISO-8859-15] Florian Growrote:
On Dec 12, 2005, at 1:19 PM, ara.t.howard@noaa.gov wrote:
On Tue, 13 Dec 2005, James Edward Gray II wrote:
On Dec 12, 2005, at 1:42 PM, ara.t.howard@noaa.gov wrote:
On Dec 12, 2005, at 2:10 PM, James Edward Gray II wrote:
On Tue, 13 Dec 2005, James Edward Gray II wrote:
[#6888] Iconv library - differences between Ruby 1.8.2 and 1.8.4? — "Dave Burt" <dave@...>
Hi,
[#6891] Time.utc! and Time.localtime! — Daniel Hobe <hobe@...>
Writing a script yesterday I found out, much to my surprise, that the
On Dec 14, 2005, at 11:36 AM, Daniel Hobe wrote:
Hi,
[#6894] Dir.tmpdir RDoc — Eric Hodel <drbrain@...7.net>
Speaking of tmpdir, I'm curious why the tmpdir source
[#6906] Add Missing HTTP Headers and Status Codes to Ruby CGI — Paul Duncan <pabs@...>
Hi Everyone,
[#6911] IO.open not calling close in block form? — Daniel Berger <Daniel.Berger@...>
What happened to the block form of IO.open after 1.8.2? It's supposed to
[#6918] change to yaml in 1.8.4 — ara.t.howard@...
-----BEGIN PGP SIGNED MESSAGE-----
On Sat, 17 Dec 2005, Jeremy Kemper wrote:
On Sat, 2005-12-17 at 03:10 +0900, ara.t.howard@noaa.gov wrote:
On Dec 16, 2005, at 2:57 PM, Tom Copeland wrote:
On Sat, 2005-12-17 at 09:02 +0900, Eric Hodel wrote:
On Dec 16, 2005, at 5:30 PM, Tom Copeland wrote:
[#6934] 1.8.x, YAML, and release management — Ryan Davis <ryand-ruby@...>
I'm concerned that 1.8.3's acceptance of non-backwards-compatible
Hi.
Ryan Davis (ryand-ruby@zenspider.com) wrote:
On Saturday 17 December 2005 22:18, Ryan Davis wrote:
Hi.
[#6964] Array Documentation Issues — James Edward Gray II <james@...>
Let's start with:
[#6979] ruby 1.8.4 preview3 — Yukihiro Matsumoto <matz@...>
Hi,
[#6980] Re: ruby 1.8.4 preview3 — Kailden <kailden@...>
matz> I have just put 1.8.4 preview3 on the server.
[#6996] Problems building 1.8.4 with VS8 C++ Express Edition (cl 14.00) — Austin Ziegler <halostatue@...>
Visual Studio C++ 2005 Express Edition (VS 8.0)
Hello,
On 26/12/05, U.Nakamura <usa@garbagecollect.jp> wrote:
>>> __pioinfo structure may have been changed.
Hi.
I have replaced the config/makefile setup for Ruby using C++ Express, and I
Hi,
Hello,
Hi,
On 27/12/05, nobuyoshi nakada <nobuyoshi.nakada@ge.com> wrote:
Hello,
[#7008] Install fails to create directories — noreply@...
Bugs item #3115, was opened at 2005-12-28 05:00
Hi,
[#7028] Ruby 1.8.4 RDoc HTML Cleanups and HTML Language Support — Paul Duncan <pabs@...>
Hi,
Hi.
* H.Yamamoto (ocean@m2.ccsnet.ne.jp) wrote:
* H.Yamamoto (ocean@m2.ccsnet.ne.jp) wrote:
ruby 1.8.4 rc breaks alias_method/rails in bad ways
i'm on a box with latest (today's) ruby and rails. i started seeing bizzare
errors with infinite stack recursion for a simple
ModelName.find :all
the code is kinda deep, but you can see how the problem occurs by looking at
activerecord-1.13.1/lib/active_record/callbacks.rb +215
there we see
object = instantiate_without_callbacks(record)
scanning up a bit we see
def self.append_features(base) #:nodoc:
super
base.extend(ClassMethods)
base.class_eval do
class << self
include Observable
alias_method :instantiate_without_callbacks, :instantiate
alias_method :instantiate, :instantiate_with_callbacks
end
the first alias method is supposed to do
instantiate_without_callbacks -> ActiveRecord::Base::instaniate
the second
instantiate -> the yet to be defined ActiveRecord::Callbacks::instantiate_with_callbacks
which takes you back to line 215, shows:
module ClassMethods #:nodoc:
def instantiate_with_callbacks(record)
揃揃揃 ect = instantiate_without_callbacks(record)
what is supposed to happen here is that any call to
ActiveRecord::Base::instantiate first calls instantiate_with_callbacks, which
calls instantiate_without_callbacks, which calls the, supposedly, __original__
ActiveRecord::Base::instantiate.
what __actually__ happens in this:
>> Company.find :all
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:395:in `find'
- (irb):1:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/callbacks.rb:222:in `instantiate'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:395:in `find'
- (irb):1:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/callbacks.rb:222:in `instantiate'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:431:in `find_by_sql'
- /usr/local/lib/ruby/gems/1.8/gems/activerecord-1.13.1/lib/active_record/base.rb:395:in `find'
- (irb):1:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52:in `irb_binding'
- /usr/local/lib/ruby/1.8/irb/workspace.rb:52
and so on and so forth. eg. - infinite recursion.
it seems the original instanciate is lost in this whole method shuffling
approach.
this code works in 1.8.2 and 1.8.3. unless the bevhaiour of alias_methods has
changed - hard to beleive - this seems to be a bad bug. i've tried to distill
this to a simple example with no luck. so i'm afaid there is more to it that
the above. all you need do to reproduce is setup a rails dir, create a model,
and run YourModel.find :all.
system info
root:rr# uname -srm
FreeBSD 5.3-RELEASE i386
root:rr# ruby -v
ruby 1.8.4 (2005-12-01) [i386-freebsd5.3]
root:rr# rails -v
Rails 0.14.4
hopefully i've not overlooked something obvious here - our water pipes froze
today so i haven't been able to drink coffee.
thoughts?
-a
--
===============================================================================
| ara [dot] t [dot] howard [at] noaa [dot] gov
| all happiness comes from the desire for others to be happy. all misery
| comes from the desire for oneself to be happy.
| -- bodhicaryavatara
===============================================================================