[#5563] Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...>

Lately, I've been thinking about the future of ruby

44 messages 2005/08/19
[#5564] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/19

On 8/19/05, Eric Mahurin <eric_mahurin@yahoo.com> wrote:

[#5571] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/19

--- Austin Ziegler <halostatue@gmail.com> wrote:

[#5574] Re: Non-overridable and non-redefinable methods — TRANS <transfire@...> 2005/08/20

Just wanted to add a few things.

[#5581] Re: Non-overridable and non-redefinable methods — Austin Ziegler <halostatue@...> 2005/08/20

On 8/19/05, TRANS <transfire@gmail.com> wrote:

[#5583] Re: Non-overridable and non-redefinable methods — "David A. Black" <dblack@...> 2005/08/20

Hi --

[#5585] Re: Non-overridable and non-redefinable methods — Eric Mahurin <eric_mahurin@...> 2005/08/20

--- "David A. Black" <dblack@wobblini.net> wrote:

[#5609] Pathname#walk for traversing path nodes (patch) — ES <ruby-ml@...>

Here is a small addition to Pathname against 1.9, probably suited

20 messages 2005/08/22

[bug] wrong stacktrace, last entry

From: kero@...
Date: 2005-08-19 21:45:35 UTC
List: ruby-core #5570
Hi all,

I have a reproducable stack trace of which the last entry is wrong.
I will give some information, but I'm not entirely sure what the useful
data is I can give in this case. Please ask for more detail.

First, (part of) the stacktrace which is wrong:
  vgap/io/fileopener.rb:123:in `min': undefined method `<=>' for nil:NilClass (NoMethodError)
  from /home/kero/vgap/rvv-clean/vgap/thost.rb:1214:in `simulate_ship_gather'
  from /home/kero/vgap/rvv-clean/vgap/thost.rb:689:in `do_simulate_host'
		
It is said to have happened in this code (lines 121-123):
  error = "No file `#{name}' found (tried `#{name.downcase}' and `#{name.upcase}') in "
  error += @dirs.join(", ")
  raise FileNotFound.new(error)

but as you can see, the type of Exception is wrong (FileNotFound, not
undefined method).

The code is part of 79 files which reads and writes data ove several
dozens of file. If I rerun the code (all data from "previous turns" has
been written, so only the "summary" and "current" stuff is read), I get
the correct stacktrace:
  vgap/location.rb:40:in `min': undefined method `<=>' for nil:NilClass (NoMethodError)
  from /home/kero/vgap/rvv-clean/vgap/thost.rb:1214:in `simulate_ship_gather'
  from /home/kero/vgap/rvv-clean/vgap/thost.rb:689:in `do_simulate_host'

and that code looks like this (lines 140-146):
  self.class.module_eval("def #{str}()
    field = @#{str}
    return field  if map.universe.whence == Rst
    val = (field ? field.value : nil)
    (HistoryField::manipulating and val) ? field : val
    # (val ? field : nil)
  end")

My guess is that 'field' is nil and thus nil is returned on line 144,
after which the correct exception about <=> not defined is raised.
Which properly pointed me to the bug in my own code, but that's
irrelevant for this report.

Ah, and for good measure, there's no C bindings in the code at all.

Bye,
Kero.

+--- Kero ------------------------- kero@chello@nl ---+
|  all the meaningless and empty words I spoke        |
|                       Promises -- The Cranberries   |
+--- M38c --- http://members.chello.nl/k.vangelder ---+

In This Thread

Prev Next