JRuby 1.6.0 Regression: RUBY_OPTS & popen
-----------------------------------------

                 Key: JRUBY-5695
                 URL: http://jira.codehaus.org/browse/JRUBY-5695
             Project: JRuby
          Issue Type: Bug
    Affects Versions: JRuby 1.6
         Environment: Ubuntu 10.04 LTS, RVM, JRuby 1.5.5, 1.5.6, 1.6.0
            Reporter: John-Mason P. Shackelford
            Assignee: Thomas E Enebo
         Attachments: sample.zip, smoke-test-jruby-1.5.6.txt, 
smoke-test-jruby-1.6.0.txt

When running a smoke test of my Rails 3 app via rake I encounter the following 
in 1.6.0, but not in 1.5.6 or 1.5.5:

{code}
* Execute smoke:test
Using the smoke profile...
F-

(::) failed steps (::)

Cannot run program "RUBYOPT=" (in directory "/home/shacjo/work/sample"): 
java.io.IOException: error=2, No such file or directory (IOError)
java/lang/Thread.java:1479:in `getStackTrace'
org/jruby/runtime/backtrace/TraceType.java:47:in `getBacktraceData'
org/jruby/runtime/backtrace/TraceType.java:25:in `getBacktrace'
org/jruby/RubyException.java:160:in `prepareBacktrace'
org/jruby/exceptions/RaiseException.java:182:in `preRaise'
org/jruby/exceptions/RaiseException.java:174:in `preRaise'
org/jruby/exceptions/RaiseException.java:110:in `<init>'
org/jruby/Ruby.java:3283:in `newRaiseException'
org/jruby/Ruby.java:3222:in `newIOErrorFromException'
org/jruby/RubyIO.java:3702:in `popen'
{code}

I have enclosed attachments of the complete sessions running both 1.5.6 and 
1.6.0 as well as a sample application which should allow you to reproduce.

Steps to reproduce:
(Assumes you have downloaded and unzipped sample.zip and have RVM with 1.5.6 
and 1.6.0 installed.)

{code}
rvm use 1.5.6
cd sample
bundle install
bundle update jruby-jars
bundle exec rake war:prod
jruby -d -S bundle exec rake --trace smoke > smoke-test-jruby-1.5.6.txt 2>&1
bundle exec clobber
{code}

When you cat smoke-test-jruby-1.5.6.txt you should see the test passed with two 
steps executed such as:

{code}
Starting server: java -Xss2048k -jar target/sample.war --httpPort=3019 
--controlPort=3018 > log/smoke-test-server.log
.....
** Execute smoke:test
Using the smoke profile...
..

1 scenario (1 passed)
2 steps (2 passed)
0m7.235s
** Invoke smoke:server:stop (first_time)
** Invoke smoke:prep 
** Execute smoke:server:stop

Server stopped
{code}

Now to see the failure case:

{code}
rvm use 1.6.0
bundle install
bundle update jruby-jars
bundle exec rake war:prod
jruby -d -S bundle exec rake --trace smoke > smoke-test-jruby-1.6.0.txt 2>&1
{code}

When you cat smoke-test-jruby-1.6.0.txt you should see the error quoted at the 
beginning of my report. Since the smoke test server will still be running, you 
will want to do the following to reset your environment:

{code}
bundle exec rake smoke:server:stop
bundle exec rake clobber
{code}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to