Very Strange Error(s)

Hi,

I’ve been encountering strange behaviour with Ruby recently. I’m
wondering if anybody has seen anything like this before or if anyone
has any ideas.

Here’s what’s happening:

  • something that should be a String turns out to be an Integer
  • if I run the same method call again, say by using a begin…rescue
    in a loop, and I loop a few times it eventually works with identical
    input – if I do run it again, and if an error occurs again, it is
    usually in a different place
  • long running Ruby process (actually Rails running webrick in
    development mode) – I think I’ve never seen this in a short
    running process
  • the frequency of the error does not seem to increase (so once it
    happens it does not start happening all the time, the system seems to
    be behaving properly)
  • error happens during a request by the user.
  • error normally quite deep in an execution stack
  • ruby 1.8.4 (2006-03-28) [powerpc-darwin8.5.0] – that’s OS X
  • I’ve had this happen in XML parsers (REXML and xampl-pp), in
    rubyful soup, and in some code that simply prints a tree of objects
  • I cannot reproduce it reliably

The going away on second or third try is particularly strange.

Any ideas?

Thanks,
Bob


Bob H. – blogs at <http://www.recursive.ca/
hutch/>
Recursive Design Inc. – http://www.recursive.ca/
Raconteur – http://www.raconteur.info/
xampl for Ruby – http://rubyforge.org/projects/xampl/

On Apr 18, 2006, at 22:10, Bob H. wrote:

I’ve been encountering strange behaviour with Ruby recently. I’m
wondering if anybody has seen anything like this before or if
anyone has any ideas.

Here’s what’s happening:

  • something that should be a String turns out to be an Integer

This is happening here as well sporadically, and I can’t reproduce it
either. Mac OS X 10.4.6, ruby 1.8.4 (2005-12-24) [powerpc-
darwin8.3.0] compiled from tarball.

– fxn

On 4/18/06, Bob H. [email protected] wrote:

Hi,

I’ve been encountering strange behaviour with Ruby recently. I’m
wondering if anybody has seen anything like this before or if anyone
has any ideas.

Here’s what’s happening:

  • something that should be a String turns out to be an Integer

Are you absolutely sure that to_i isn’t being called somewhere along
the way (maybe in some odd cases?)

Ryan

On 4/18/06, Bob H. [email protected] wrote:

in a loop, and I loop a few times it eventually works with identical

  • ruby 1.8.4 (2006-03-28) [powerpc-darwin8.5.0] – that’s OS X
  • I’ve had this happen in XML parsers (REXML and xampl-pp), in
    rubyful soup, and in some code that simply prints a tree of objects
  • I cannot reproduce it reliably

The going away on second or third try is particularly strange.

Any ideas?

I’ve been experiencing this same thing on Mac OS X. I haven’t been
able to come up with a small piece of code but it seems to happen most
often in my network intensive and threaded code (I have a custom
memcached client that seems to become unstable on heavy loads). I
should also note that this has been for sometime but on extremely rare
and hard to reproduce cases.

I am running on:

ruby 1.8.4 (2006-04-18) [powerpc-darwin8.6.0]

I can’t share the code at this point unfortunately (too large and it
is up to my client that I am in contract with – I will try to come up
with something I can though). Examples of traces I get (in my log
files):

!! undefined method wakeup' for -517611318:Fixnum /usr/local/lib/ruby/1.8/thread.rb:116:in unlock’
/usr/local/lib/ruby/1.8/thread.rb:137:in `synchronize’
… long trace …

!! wrong instance allocation
memcache/memcache.rb:209:in exception' memcache/memcache.rb:209:in incr’
… long trace …

One thing I can note at this point is that it seems to always be the
-517611318 magic number or a “wrong instance allocation” error. It
seems to be limited to Mac OS X (I’ve not tested anything else but
different Linux systems).

I would be happy to run any test code people might have to help narrow
the field down. If I get any further information I will post it to
ruby-core.

Brian.

I’ve not been having any of these problems myself. I’ve been running
WEBrick for days now.

ruby 1.8.4 (2005-12-24) [powerpc-darwin8.6.0]

  • Jake McArthur

On Apr 18, 2006, at 3:10 PM, Bob H. wrote:

Hi,

I’ve been encountering strange behaviour with Ruby recently. I’m
wondering if anybody has seen anything like this before or if
anyone has any ideas.

Yeah, I’ve seen this plenty myself. I believe it is this:

http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/7401

And if I understood the discussion (way over my head), it has been
fixed:

http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/7477

James Edward G. II

On 4/18/06, James Edward G. II [email protected] wrote:

Yeah, I’ve seen this plenty myself. I believe it is this:

http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/7401

And if I understood the discussion (way over my head), it has been
fixed:

http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-core/7477

Actually, from what I can tell the issue is separate (or possibly and
unsolved factor). You might note that my post above is using a check
out I made from stable today.

Brian.

On Apr 18, 2006, at 4:09 PM, Brian M. wrote:

Actually, from what I can tell the issue is separate (or possibly and
unsolved factor). You might note that my post above is using a check
out I made from stable today.

Oops, sorry. My bad.

James Edward G. II

I found this <http://blog.segment7.net/articles/2006/04/07/chasing-
undefined-method-for-fixnum> just now. Looks pretty relevant. Seems
as though a re-compile with -O0 might be a work around. Some
suggestion that using gcc 3.3 might work too.

On Apr 18, 2006, at 4:10 PM, Bob H. wrote:

begin…rescue in a loop, and I loop a few times it eventually

  • ruby 1.8.4 (2006-03-28) [powerpc-darwin8.5.0] – that’s OS X

Bob H. – blogs at <http://www.recursive.ca/
hutch/>
Recursive Design Inc. – http://www.recursive.ca/
Raconteur – http://www.raconteur.info/
xampl for Ruby – http://rubyforge.org/projects/xampl/

On Apr 18, 2006, at 23:42, Bob H. wrote:

I found this <http://blog.segment7.net/articles/2006/04/07/chasing-
undefined-method-for-fixnum> just now. Looks pretty relevant. Seems
as though a re-compile with -O0 might be a work around. Some
suggestion that using gcc 3.3 might work too.

Excellent! So just to double-check, is it an issue that has been seen
only in OSX?

– fxn

On Apr 19, 2006, at 3:11 AM, Xavier N. wrote:

On Apr 18, 2006, at 23:42, Bob H. wrote:

I found this <http://blog.segment7.net/articles/2006/04/07/chasing-
undefined-method-for-fixnum> just now. Looks pretty relevant.
Seems as though a re-compile with -O0 might be a work around. Some
suggestion that using gcc 3.3 might work too.

Excellent! So just to double-check, is it an issue that has been
seen only in OSX?

It sure looks that way, but I don’t know for sure. Someone thought
that it might be happening on Windows too, but, to me, it sounded
like a different problem. All references/hints that I’ve come across
have been pretty recent compilations of Ruby, even though the Ruby
version might be old. So that’s a bit of support for the work around.

I hope that work around works. Though it is nice to know I’m not
alone :slight_smile:

Cheers,
Bob

– fxn


Bob H. – blogs at <http://www.recursive.ca/
hutch/>
Recursive Design Inc. – http://www.recursive.ca/
Raconteur – http://www.raconteur.info/
xampl for Ruby – http://rubyforge.org/projects/xampl/

An update…

I’ve re-compiled with the compiler’s optimiser set to: -O0 and have
not had that error come up again. However, Ruby is very slow.

Also I say this today: <http://blog.segment7.net/articles/2006/04/20/
update-on-undefined-method-for-fixnum">

Cheers,
Bob

On Apr 19, 2006, at 7:11 AM, Bob H. wrote:

Excellent! So just to double-check, is it an issue that has been
alone :slight_smile:


Bob H. – blogs at <http://www.recursive.ca/
hutch/>
Recursive Design Inc. – http://www.recursive.ca/
Raconteur – http://www.raconteur.info/
xampl for Ruby – <http://rubyforge.org/projects/
xampl/>


Bob H. – blogs at <http://www.recursive.ca/
hutch/>
Recursive Design Inc. – http://www.recursive.ca/
Raconteur – http://www.raconteur.info/
xampl for Ruby – http://rubyforge.org/projects/xampl/