Array#pack with "w' pattern breaks with NPE
-------------------------------------------

                 Key: JRUBY-1912
                 URL: http://jira.codehaus.org/browse/JRUBY-1912
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.1b2
         Environment: Latest JRuby 1.1b1
            Reporter: Vladimir Sizikov
         Attachments: array-pack-empty-array.patch

The following code:

{noformat}
[].pack('w')
{noformat}

Returns in MRI:
ArgumentError: too few arguments

But in JRuby:
Exception in thread "main" java.lang.NullPointerException
        at org.jruby.util.Pack.pack(Pack.java:1811)
        at org.jruby.RubyArray.pack(RubyArray.java:2204)
        at org.jruby.RubyArrayInvoker$pack_method_1_0.call(Unknown Source)
        at org.jruby.runtime.CallSite$ICNonBlockCallSite.call(CallSite.java:153)
        at 
org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:100)
        at 
ruby.home.vvs.array_minus_pack_minus_empty_dot_rb.closure0___rescue_1(array-pack-empty.rb:4)
        at 
ruby.home.vvs.array_minus_pack_minus_empty_dot_rb.closure0(array-pack-empty.rb:3)
        at 
ruby.home.vvs.array_minus_pack_minus_empty_dot_rbBlockclosure0xx1.call(Unknown 
Source)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:108)
        at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:89)
        at org.jruby.runtime.Block.yield(Block.java:109)
        at org.jruby.RubyArray.each(RubyArray.java:1185)
        at org.jruby.RubyArrayInvoker$each_method_0_0.call(Unknown Source)
        at org.jruby.runtime.CallSite$ICBlockCallSite.call(CallSite.java:196)
        at 
org.jruby.runtime.CallSite$ArgumentBoxingCallSite.call(CallSite.java:106)
        at 
ruby.home.vvs.array_minus_pack_minus_empty_dot_rb.__file__(array-pack-empty.rb:1)
        at 
ruby.home.vvs.array_minus_pack_minus_empty_dot_rb.load(array-pack-empty.rb)
        at org.jruby.Ruby.runScript(Ruby.java:627)
        at org.jruby.Ruby.runNormally(Ruby.java:547)
        at org.jruby.Ruby.runFromMain(Ruby.java:470)
        at org.jruby.Main.runInterpreter(Main.java:213)
        at org.jruby.Main.runInterpreter(Main.java:169)
        at org.jruby.Main.run(Main.java:118)
        at org.jruby.Main.run(Main.java:92)
        at org.jruby.Main.main(Main.java:83)


The proposed patch fixes the problem. Regression tests has already been added 
to rubyspecs.

-- 
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