IronRuby 1.1.1 IIRB failing

After upgrading to IronRuby 1.1.1, I try run IIRB, and I get the
following
exception:

Have I screwed up my install? What I did was this:

  1. Ran the IronRuby installer
  2. Copied the bin and lib folders to a local folder that I have checked
    into
    source control (to deploy IronRuby to other machines)
  3. I wanted the dll’s, and the installer seemed to ONLY (!?!?!?) put
    them in
    the GAC, so I went into the GAC and copied them out, then put them in my
    local ruby/bin folder

The bytes are [B8] if running in powershell and [D0] in cmd

mscorlib:0:in Throw': Unable to translate bytes [B8] at index 2 from specified code page to Unicode. (System::Text::Dec oderFallbackException) from mscorlib:0:inFallback’
from mscorlib:0:in InternalFallback' from mscorlib:0:inGetCharCount’
from mscorlib:0:in GetCharCount' from mscorlib:0:inGetChars’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in
[]' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in_rl_get_screen_size’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1975:in
_rl_init_terminal_io' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:2491:inreadline_initialize_everything’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in
rl_initialize' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:4720:inreadline’
from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/readline.rb:40:in
readline' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/input-method.rb:115:ingets’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:139:in eval_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:273:insignal_status’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:138:in eval_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in[]’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in
buf_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:103:ingetc’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/slex.rb:205:in
match_io' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/slex.rb:75:inmatch’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:286:in
token' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:262:inlex’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:233:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:inloop’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:incatch’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:155:ineval_input’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:70:in start' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:69:incatch’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:69:in `start’
from C:/Dev/TEST/ruby/bin/irb:13

Right, the installer installs only to GAC. You can download all the
binaries from
http://ironruby.codeplex.com/releases/view/49097#DownloadId=159562.There
is no point copying them to Program Files. Once they are in the GAC all
apps load them from there. You can build a redistributable msm Windows
installer package if you want to include IronRuby in your Windows app or
you can just grab the binaries from the link above if you want an xcopy
deployment.

It seems irb doesn’t like the command you’re writing … does it include
non-ASCII characters?

Tomas

From: [email protected]
[mailto:[email protected]] On Behalf Of Orion E.
Sent: Monday, October 25, 2010 4:17 PM
To: [email protected]
Subject: [Ironruby-core] IronRuby 1.1.1 IIRB failing

After upgrading to IronRuby 1.1.1, I try run IIRB, and I get the
following exception:

Have I screwed up my install? What I did was this:

  1. Ran the IronRuby installer
  2. Copied the bin and lib folders to a local folder that I have checked
    into source control (to deploy IronRuby to other machines)
  3. I wanted the dll’s, and the installer seemed to ONLY (!?!?!?) put
    them in the GAC, so I went into the GAC and copied them out, then put
    them in my local ruby/bin folder

The bytes are [B8] if running in powershell and [D0] in cmd

mscorlib:0:in Throw': Unable to translate bytes [B8] at index 2 from specified code page to Unicode. (System::Text::Dec oderFallbackException) from mscorlib:0:in Fallback’
from mscorlib:0:in InternalFallback' from mscorlib:0:in GetCharCount’
from mscorlib:0:in GetCharCount' from mscorlib:0:in GetChars’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in []' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in _rl_get_screen_size’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1975:in
_rl_init_terminal_io' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:2491:in readline_initialize_everything’
from
C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in
rl_initialize' from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:4720:in readline’
from C:/Dev/TEST/ruby/Lib/ruby/site_ruby/1.9.1/readline.rb:40:in
readline' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/input-method.rb:115:in gets’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:139:in eval_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:273:in signal_status’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:138:in eval_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in []’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in
buf_input' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:103:in getc’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/slex.rb:205:in
match_io' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/slex.rb:75:in match’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:286:in
token' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:262:in lex’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:233:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:in loop’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:in catch’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:in
each_top_level_statement' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:155:in eval_input’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:70:in start' from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:69:in catch’
from C:/Dev/TEST/ruby/Lib/ruby/1.9.1/irb.rb:69:in `start’
from C:/Dev/TEST/ruby/bin/irb:13

I’m not writing any characters, I’m just running iirb from the command
line…

On Tue, Oct 26, 2010 at 3:52 PM, Tomas M. <

Hi,

I got a similar error after performing a clean install of IR 1.1.1 with
the
Visual Studio Tools under XP SP3 (Swedish with MUI), and might have a
workaround (see below).

Orion E. wrote:

After upgrading to IronRuby 1.1.1, I try run IIRB, and I get the
following exception:

[snip]

    from

[snip rest of callstack]

Here’s what I got:

C:\foo\bar>iirb
mscorlib:0:in Throw': Unable to translate bytes [84] at index 0 from specified code page to Unicode. (System::Text::DecoderFallback Exception) from mscorlib:0:inFallback’
from mscorlib:0:in InternalFallback' from mscorlib:0:inGetCharCount’
from mscorlib:0:in GetCharCount' from mscorlib:0:inGetChars’
from C:/Program/IronRuby
1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in []' from C:/Program/IronRuby 1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1845:in_rl_get_screen_size’
from C:/Program/IronRuby
1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:1975:in
_rl_init_terminal_io' from C:/Program/IronRuby 1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:2491:inreadline_initialize_everything’
from C:/Program/IronRuby
1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:3726:in rl_initialize' from C:/Program/IronRuby 1.1/Lib/ruby/site_ruby/1.9.1/rbreadline.rb:4720:inreadline’
from C:/Program/IronRuby
1.1/Lib/ruby/site_ruby/1.9.1/readline.rb:40:in readline' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/input-method.rb:115:ingets’
from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:139:in
eval_input' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:273:insignal_status’
from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:138:in
eval_input' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in[]’
from C:/Program/IronRuby
1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:188:in
buf_input' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:103:ingetc’
from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/slex.rb:205:in
match_io' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/slex.rb:75:inmatch’
from C:/Program/IronRuby
1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:286:in
token' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:262:inlex’
from C:/Program/IronRuby
1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:233:in
each_top_level_statement' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:inloop’
from C:/Program/IronRuby
1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:229:in
each_top_level_statement' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:incatch’
from C:/Program/IronRuby
1.1/Lib/ruby/1.9.1/irb/ruby-lex.rb:228:in
each_top_level_statement' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:155:ineval_input’
from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:70:in start' from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:69:incatch’
from C:/Program/IronRuby 1.1/Lib/ruby/1.9.1/irb.rb:69:in `start’
from C:/Program/IronRuby 1.1/bin/irb:13

The funny thing was, that if I opened a command prompt as an
administrator
(e.g. runas /user: cmd) and ran iirb it worked. I originally
thought
it had something to do with privileges (and it still might), but what
seemed
to work around the problem was resetting the Command Window size and
buffer
size(!) for the current user to the default values of 80x25, 80x300 (the
_rl_get_screen_size in the stack trace gave me the hint):


C:\foo\bar>iirb
irb(main):001:0> puts ‘Hello World’
Hello World
=> nil
irb(main):002:0>

Hmmm, same problem here after installing 1.1.1 (after a previous 1.0
install). I tried resetting sizes and still no success. It would be
neat to have this work :slight_smile: