[Ironruby-core] running some benchmarks

Shri Borde Shri.Borde at microsoft.com
Fri Feb 12 15:21:19 EST 2010


Yup, opening bugs will be great.

The https issue may not be fixed for 1.0. Like I had mentioned in another email, it may be possible to port SSL functionality from IronPython, but we may not get to it for 1.0.

The mkdir issue should be easy to fix. If you can figure out the input to mkdir (monkeypatch mkdir to print its input and call the original method), that will help ensure that we fix the exact scenario you are running into.

________________________________
From: ironruby-core-bounces at rubyforge.org [ironruby-core-bounces at rubyforge.org] on behalf of Ivan Porto Carrero [ivan at whiterabbitconsulting.eu]
Sent: Friday, February 12, 2010 12:14 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] running some benchmarks

I'll try it again for MRI.

I don't get socket errors for MRI when I try to use it to push gems etc.
On mac I get socket errors when trying to install gems. When I use that same version on ubuntu karmic it will tell me invalid path errors (this has been reported by somebody on codeplex). When I try to push gems on windows/mac/linux I get the Socket error. More about this in the bottom of this mail

I get daily digests of the workitems on codeplex but haven't added any of those yet.. expect a flurry of bug submissions when I'm through :)

installing gems on my mac

+ivan at ivan-mbp:~
» igem install -V --backtrace --debug caricature
ERROR:  While executing gem ... (NameError)
    uninitialized constant OpenSSL::SSL::SSLSocket
:0:in `const_missing'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/net/http.rb:567:in `connect'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/net/http.rb:553:in `do_start'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/net/http.rb:548:in `start'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:246:in `connection_for'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:320:in `request'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:279:in `open_uri_or_path'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/remote_fetcher.rb:164:in `fetch_path'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:219:in `load_specs'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:192:in `list'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:188:in `list'
:0:in `each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:123:in `find_matching'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:69:in `fetch'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:99:in `find_gems_with_sources'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:192:in `find_spec_by_name_and_version'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:213:in `install'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:118:in `execute'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:115:in `execute'
:0:in `each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command.rb:257:in `invoke'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:132:in `process_args'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
/usr/local/cloudslide/ironruby/bin/igem:25

+ivan at ivan-mbp:~
» igem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.6 (2009-03-31 patchlevel 368) [i386-linux]
  - INSTALLATION DIRECTORY: /usr/local/cloudslide/ironruby/lib/ironruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/cloudslide/ironruby/bin/ir.exe
  - EXECUTABLE DIRECTORY: /usr/local/cloudslide/ironruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mswin32-60
  - GEM PATHS:
     - /usr/local/cloudslide/ironruby/lib/ironruby/gems/1.8
     - /Users/ivan/.gem/ironruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["https://user:password@gems.cloudslide.net", "http://gemcutter.org", "http://gems.rubyforge.org/", "http://gems.github.com/", "http://gems.opscode.com/"]
     - "gemcutter_key" => "blahblah"
  - REMOTE SOURCES:
     - https://user:password@gems.cloudslide.net
     - http://gemcutter.org
     - http://gems.rubyforge.org/
     - http://gems.github.com/
     - http://gems.opscode.com/

When I remove the line that uses https:// from the sources I don't get the socket error anymore because it doesn't need it anymore. That would also explain why I get different errors on the ubuntu box, the one I use for building and testing ironruby doesn't need the https:// source.

After removing that source this is the result:

» igem install -V caricature
GET 302 Found: http://gemcutter.org/latest_specs.4.8.gz
GET 304 Not Modified: http://production.s3.rubygems.org/latest_specs.4.8.gz
GET 302 Found: http://gems.rubyforge.org/latest_specs.4.8.gz
GET 304 Not Modified: http://production.s3.rubygems.org/latest_specs.4.8.gz
GET 200 OK: http://gems.github.com/latest_specs.4.8.gz
GET 304 Not Modified: http://gems.opscode.com/latest_specs.4.8.gz
Installing gem uuidtools-2.1.1
ERROR:  While executing gem ... (ArgumentError)
    Invalid path
mscorlib:0:in `GetDirectoryName'
:0:in `mkdir'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p'
:0:in `reverse_each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p'
:0:in `each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/installer.rb:125:in `initialize'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:239:in `install'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:222:in `install'
:0:in `each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:118:in `execute'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/commands/install_command.rb:115:in `execute'
:0:in `each'
mscorlib:0:in `CallSite.Target'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command.rb:257:in `invoke'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:132:in `process_args'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run'
/usr/local/cloudslide/ironruby/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in `run'
/usr/local/cloudslide/ironruby/bin/igem:25


content of ir script (this should take care of mapping windows-isms to unix-isms with regards to casing as well as / and \ issues)

» cat /usr/local/cloudslide/ironruby/bin/ir
#!/usr/bin/env sh

fpath=`which $0`
fdir=`dirname $fpath`
export MONO_IOMAP=all
export MONO_MANAGED_WATCHER=1
mono $fdir/ir.exe $*


---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)



On Thu, Feb 11, 2010 at 11:43 PM, Shri Borde <Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>> wrote:
What problem does "gem sources -a" have with %HOME%? Does MRI have the same problem? If %HOME% is not set, IronRuby and MRI should both use the same algorithm to figure out the return value of File.expand_path("~") based on other environment variables like %USERPROFILE%.

Do you get the SocketError with MRI? You could try running "gem install" and "gem uninstall" in a loop with MRI to see if its an issue with the machine configuration itself.

I do have a fix for the OpenSSL issue. It does get more active_resource tests working. However, I am not sure if it is sufficient to unblock your scenarios.

________________________________
From: ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org> [ironruby-core-bounces at rubyforge.org<mailto:ironruby-core-bounces at rubyforge.org>] on behalf of Ivan Porto Carrero [ivan at whiterabbitconsulting.eu<mailto:ivan at whiterabbitconsulting.eu>]
Sent: Thursday, February 11, 2010 10:37 AM
To: ironruby-core
Subject: [Ironruby-core] running some benchmarks

Hi

I'm currently helping David m. Peterson by setting up 2 windows boxes with ironruby and running a few benchmarks and tests with it.
For example I'm going to try running a few of the complexer rails apps and see how it holds up, i'm thinking about spree and redmine atm.
We'll also run the ruby shootout suite, if you have more suggestions they're welcome.

The machines are hosted on EC2.

However using gem sources -a proves to be a little difficult if you don't have the %HOME% environment variable set.
on the both machines I could set %HOME%=%USERPROFILE% in the environment variables to remedy this, but I feel like this is something that should be handled by the installer or by the ironruby gem library.

I couldn't use the installer in windows 2003 R2 SP2 telling me I needed a higher service pack for my windows, but there is no higher one when I wanted to get that one.

I also ran into issues installing a bunch of gems at once. Below the rails gem is the one causing trouble. The problems for the rails gem go away after I installed the gemcutter gem (?), but then it fails on the rspec-rails gem with the same error. If I then remove rails from the list of gems to install everything installs fine.

D:\Console2>ir -S gem install caricature rails rspec-rails shoulda test-unit ZenTest ironruby-sqlite3 ironruby-sqlserver
Successfully installed uuidtools-2.1.1
Successfully installed caricature-0.7.6
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    SocketError: An established connection was aborted by the software in your host machine (http://gemcutter.org/gems/rake-0.8.7.gem)

D:\Console2>ir -S gem install rails rspec-rails shoulda test-unit ZenTest ironruby-sqlite3 ironruby-sqlserver
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    SocketError: An established connection was aborted by the software in your host machine (http://gemcutter.org/gems/rack-1.0.1.gem)

D:\Console2>ir -S gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.6 (2009-03-31 patchlevel 368) [i386-mswin32]
  - INSTALLATION DIRECTORY: D:/ironruby/lib/ironruby/gems/1.8
  - RUBY EXECUTABLE: D:/ironruby/bin/ir.exe
  - EXECUTABLE DIRECTORY: D:/ironruby/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mswin32-60
  - GEM PATHS:
     - D:/ironruby/lib/ironruby/gems/1.8
     - C:/Users/casualjim/.gem/ironruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gemcutter.org"]
  - REMOTE SOURCES:
     - http://gemcutter.org


Additionally on windows 2003 ironruby can't find gem.bat and I did set the necessary environment variables. PATH, HOME. install

D:\Console2>ir -S gem install caricature rails rspec-rails shoulda test-unit ZenTest ironruby-sqlite3 ironruby-sqlserver
unknown: Could not find file 'D:\Console2\gem'. (Errno::ENOENT)


D:\Console2>ir -v
IronRuby 0.9.4.0 on .NET 2.0.50727.3603
Copyright (c) Microsoft Corporation. All rights reserved.

>>> exit


Apart from the issues above, I'm unable to push gems to gemcutter with ironruby it fails with an OpenSSL error. The same error I get on my mac when I want to install gems with ironruby.

I'll keep you updated as I make more progress and/or come across more issues.
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Blog: http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)


_______________________________________________
Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20100212/c6fff04b/attachment-0001.html>


More information about the Ironruby-core mailing list