Weird irb experience

So, I was hacking on Ruport at work tonight.

And irb broke my heart:
http://www.newhavenrubyists.org/blogs/tiberius/?p=6

Anyone have an idea what the hell heart:0 is?

Probably some garbage like \342\231\245 that got interpreted as a UTF-8 string.

$ cat heart.rb
def :heart:(name)
   puts "I :heart: you, #{name}!"
end

:heart: ARGV.shift

$ ruby -Ku heart.rb Ruby
I :heart: you, Ruby!

···

On Nov 1, 2005, at 7:53 PM, Gregory Brown wrote:

So, I was hacking on Ruport at work tonight.

And irb broke my heart:
http://www.newhavenrubyists.org/blogs/tiberius/?p=6

Anyone have an idea what the hell heart:0 is?

--
Eric Hodel - drbrain@segment7.net - http://segment7.net
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

Quoting Gregory Brown <gregory.t.brown@gmail.com>:

So, I was hacking on Ruport at work tonight.

And irb broke my heart:
http://www.newhavenrubyists.org/blogs/tiberius/?p=6

Anyone have an idea what the hell heart:0 is?

In the character set your DOS window is using, heart is 0x03.

I'm guessing you're seeing a pointer into random/uninitialized
memory (where the first two bytes happen to be 0x03 0x00) being
used for a filename in the backtrace somehow. In C programs, such
things are usually signs of badness. Could be a premature free(),
could be a garbage pointer, could be a missed initialization.
Probably a Ruby bug.

0x01,

-mental

Yea, seen that one before :slight_smile:

···

2005/11/2, Gregory Brown <gregory.t.brown@gmail.com>:

So, I was hacking on Ruport at work tonight.

And irb broke my heart:
http://www.newhavenrubyists.org/blogs/tiberius/?p=6

Anyone have an idea what the hell heart:0 is?

Gregory Brown wrote:

Anyone have an idea what the hell heart:0 is?

Well, thank's all for your insight. The moral of the story is that one
should never use cmd.exe :wink:

Hope that doesn't start a flamewar.