Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: JRuby 1.2
    • Component/s: RubySpec
    • Labels:
      None
    • Number of attachments :
      2

      Description

      There are many new failures in the updated RubySpecs as of today. I will add the list in a comment (since I want to tag them with this bug number first).

      1. pack.patch
        19 kB
        Joseph LaFata
      2. pack2.patch
        19 kB
        Joseph LaFata

        Activity

        Hide
        Charles Oliver Nutter added a comment -

        Here's the full list of new tags added; I have not included the traces, since the list is very long.

        fails(JRUBY-3274):Array#pack returns a tainted string when a pack argument is tainted
        fails(JRUBY-3274):Array#pack with format 'H' fills the rest bytes with 0 if pack argument has insufficient length
        fails(JRUBY-3274):Array#pack with format 'H' fills low-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
        fails(JRUBY-3274):Array#pack with format 'H' consumes only one array item per a format
        fails(JRUBY-3274):Array#pack with format 'h' fills the rest bytes with 0 if pack argument has insufficient length
        fails(JRUBY-3274):Array#pack with format 'h' fills high-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length
        fails(JRUBY-3274):Array#pack with format 'h' consumes only one array item per a format
        fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is >= 2**32
        fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is < -2**32
        fails(JRUBY-3274):Array#pack with format 'q' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'q' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 'Q' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'Q' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is >= 2**32
        fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is < -2**32
        fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is >= 2**32
        fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is < -2**32
        fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is >= 2**32
        fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is < -2**32
        fails(JRUBY-3274):Array#pack with format 'l!' returns a string containing 8 bytes for an integer
        fails(JRUBY-3274):Array#pack with format 'l!' regards negative values as 2's complement in order to converts it to positive
        fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'l!' tries to convert the pack argument to an Integer using #to_int
        fails(JRUBY-3274):Array#pack with format 'l!' checks whether the pack argument responds to #to_int
        fails(JRUBY-3274):Array#pack with format 'l!' processes count number of array elements if count given
        fails(JRUBY-3274):Array#pack with format 'l!' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 'l_' returns a string containing 8 bytes for an integer
        fails(JRUBY-3274):Array#pack with format 'l_' regards negative values as 2's complement in order to converts it to positive
        fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'l_' tries to convert the pack argument to an Integer using #to_int
        fails(JRUBY-3274):Array#pack with format 'l_' checks whether the pack argument responds to #to_int
        fails(JRUBY-3274):Array#pack with format 'l_' processes count number of array elements if count given
        fails(JRUBY-3274):Array#pack with format 'l_' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 'L!' returns a string containing 8 bytes for an integer
        fails(JRUBY-3274):Array#pack with format 'L!' regards negative values as 2's complement in order to converts it to positive
        fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'L!' tries to convert the pack argument to an Integer using #to_int
        fails(JRUBY-3274):Array#pack with format 'L!' checks whether the pack argument responds to #to_int
        fails(JRUBY-3274):Array#pack with format 'L!' processes count number of array elements if count given
        fails(JRUBY-3274):Array#pack with format 'L!' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 'L_' returns a string containing 8 bytes for an integer
        fails(JRUBY-3274):Array#pack with format 'L_' regards negative values as 2's complement in order to converts it to positive
        fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is >= 2**64
        fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is <= -2**64
        fails(JRUBY-3274):Array#pack with format 'L_' tries to convert the pack argument to an Integer using #to_int
        fails(JRUBY-3274):Array#pack with format 'L_' checks whether the pack argument responds to #to_int
        fails(JRUBY-3274):Array#pack with format 'L_' processes count number of array elements if count given
        fails(JRUBY-3274):Array#pack with format 'L_' with star parameter processes all remaining array items
        fails(JRUBY-3274):Array#pack with format 'f' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'f' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'f' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'd' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'd' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'd' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'e' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'e' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'e' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'E' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'E' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'E' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'g' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'g' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'g' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'G' calls #to_f to convert a String into a Float
        fails(JRUBY-3274):Array#pack with format 'G' raises a TypeError if corresponding array item is not Float
        fails(JRUBY-3274):Array#pack with format 'G' accepts a NaN
        fails(JRUBY-3274):Array#pack with format 'M' ignores star parameter
        fails(JRUBY-3274):Array#pack with format 'm' ignores star parameter
        fails(JRUBY-3274):Array#pack with format 'p' consumes a String
        fails(JRUBY-3274):Array#pack with format 'p' tries to convert the pack argument to a String using #to_str
        fails(JRUBY-3274):Array#pack with format 'p' checks whether the pack argument responds to #to_str
        fails(JRUBY-3274):Array#pack with format 'p' raises a TypeError if corresponding array item is not String
        fails(JRUBY-3274):Array#pack with format 'p' raises an ArgumentError if count is greater than array elements left
        fails(JRUBY-3274):Array#pack with format 'P' consumes a String
        fails(JRUBY-3274):Array#pack with format 'P' returns null pointer when passed nil
        fails(JRUBY-3274):Array#pack with format 'P' raises a TypeError if corresponding array item is not String
        fails(JRUBY-3274):Array#pack with format 'P' raises an ArgumentError if count is greater than the corresponding string in array
        
        Show
        Charles Oliver Nutter added a comment - Here's the full list of new tags added; I have not included the traces, since the list is very long. fails(JRUBY-3274):Array#pack returns a tainted string when a pack argument is tainted fails(JRUBY-3274):Array#pack with format 'H' fills the rest bytes with 0 if pack argument has insufficient length fails(JRUBY-3274):Array#pack with format 'H' fills low-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length fails(JRUBY-3274):Array#pack with format 'H' consumes only one array item per a format fails(JRUBY-3274):Array#pack with format 'h' fills the rest bytes with 0 if pack argument has insufficient length fails(JRUBY-3274):Array#pack with format 'h' fills high-nibble of the last byte with 0 when count is odd even if pack argument has insufficient length fails(JRUBY-3274):Array#pack with format 'h' consumes only one array item per a format fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'n' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'v' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 's' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'S' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is >= 2**32 fails(JRUBY-3274):Array#pack with format 'l' drops higher bytes when a pack argument is < -2**32 fails(JRUBY-3274):Array#pack with format 'q' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'q' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 'Q' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'Q' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 's!' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 's_' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'S!' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'S_' may raise a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is >= 2**32 fails(JRUBY-3274):Array#pack with format 'i' drops higher bytes when a pack argument is < -2**32 fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is >= 2**32 fails(JRUBY-3274):Array#pack with format 'i!' drops higher bytes when a pack argument is < -2**32 fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is >= 2**32 fails(JRUBY-3274):Array#pack with format 'i_' drops higher bytes when a pack argument is < -2**32 fails(JRUBY-3274):Array#pack with format 'l!' returns a string containing 8 bytes for an integer fails(JRUBY-3274):Array#pack with format 'l!' regards negative values as 2's complement in order to converts it to positive fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'l!' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'l!' tries to convert the pack argument to an Integer using #to_int fails(JRUBY-3274):Array#pack with format 'l!' checks whether the pack argument responds to #to_int fails(JRUBY-3274):Array#pack with format 'l!' processes count number of array elements if count given fails(JRUBY-3274):Array#pack with format 'l!' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 'l_' returns a string containing 8 bytes for an integer fails(JRUBY-3274):Array#pack with format 'l_' regards negative values as 2's complement in order to converts it to positive fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'l_' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'l_' tries to convert the pack argument to an Integer using #to_int fails(JRUBY-3274):Array#pack with format 'l_' checks whether the pack argument responds to #to_int fails(JRUBY-3274):Array#pack with format 'l_' processes count number of array elements if count given fails(JRUBY-3274):Array#pack with format 'l_' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 'L!' returns a string containing 8 bytes for an integer fails(JRUBY-3274):Array#pack with format 'L!' regards negative values as 2's complement in order to converts it to positive fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'L!' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'L!' tries to convert the pack argument to an Integer using #to_int fails(JRUBY-3274):Array#pack with format 'L!' checks whether the pack argument responds to #to_int fails(JRUBY-3274):Array#pack with format 'L!' processes count number of array elements if count given fails(JRUBY-3274):Array#pack with format 'L!' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 'L_' returns a string containing 8 bytes for an integer fails(JRUBY-3274):Array#pack with format 'L_' regards negative values as 2's complement in order to converts it to positive fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is >= 2**64 fails(JRUBY-3274):Array#pack with format 'L_' raises a RangeError when a pack argument is <= -2**64 fails(JRUBY-3274):Array#pack with format 'L_' tries to convert the pack argument to an Integer using #to_int fails(JRUBY-3274):Array#pack with format 'L_' checks whether the pack argument responds to #to_int fails(JRUBY-3274):Array#pack with format 'L_' processes count number of array elements if count given fails(JRUBY-3274):Array#pack with format 'L_' with star parameter processes all remaining array items fails(JRUBY-3274):Array#pack with format 'f' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'f' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'f' accepts a NaN fails(JRUBY-3274):Array#pack with format 'd' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'd' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'd' accepts a NaN fails(JRUBY-3274):Array#pack with format 'e' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'e' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'e' accepts a NaN fails(JRUBY-3274):Array#pack with format 'E' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'E' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'E' accepts a NaN fails(JRUBY-3274):Array#pack with format 'g' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'g' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'g' accepts a NaN fails(JRUBY-3274):Array#pack with format 'G' calls #to_f to convert a String into a Float fails(JRUBY-3274):Array#pack with format 'G' raises a TypeError if corresponding array item is not Float fails(JRUBY-3274):Array#pack with format 'G' accepts a NaN fails(JRUBY-3274):Array#pack with format 'M' ignores star parameter fails(JRUBY-3274):Array#pack with format 'm' ignores star parameter fails(JRUBY-3274):Array#pack with format 'p' consumes a String fails(JRUBY-3274):Array#pack with format 'p' tries to convert the pack argument to a String using #to_str fails(JRUBY-3274):Array#pack with format 'p' checks whether the pack argument responds to #to_str fails(JRUBY-3274):Array#pack with format 'p' raises a TypeError if corresponding array item is not String fails(JRUBY-3274):Array#pack with format 'p' raises an ArgumentError if count is greater than array elements left fails(JRUBY-3274):Array#pack with format 'P' consumes a String fails(JRUBY-3274):Array#pack with format 'P' returns null pointer when passed nil fails(JRUBY-3274):Array#pack with format 'P' raises a TypeError if corresponding array item is not String fails(JRUBY-3274):Array#pack with format 'P' raises an ArgumentError if count is greater than the corresponding string in array
        Hide
        Joseph LaFata added a comment -

        updated the test to correspond with the spec. This patch doesn't fix all the specs yet. I submitted a patch to rubyspec, so when that gets accepted, it will be 100%.

        This patch also fixes JRUBY-2826 and JRUBY-3116.

        enjoy

        Show
        Joseph LaFata added a comment - updated the test to correspond with the spec. This patch doesn't fix all the specs yet. I submitted a patch to rubyspec, so when that gets accepted, it will be 100%. This patch also fixes JRUBY-2826 and JRUBY-3116 . enjoy
        Hide
        Joseph LaFata added a comment -

        uploading a patch created from svn diff

        Show
        Joseph LaFata added a comment - uploading a patch created from svn diff
        Hide
        Charles Oliver Nutter added a comment -

        I committed the patch in r8690, but we'll leave this open until the specs have been updated. I'll look into that now.

        Show
        Charles Oliver Nutter added a comment - I committed the patch in r8690, but we'll leave this open until the specs have been updated. I'll look into that now.
        Hide
        Charles Oliver Nutter added a comment -

        Specs have been updated since the patch was applied, and all pack failures are untagged. Thanks again!

        Show
        Charles Oliver Nutter added a comment - Specs have been updated since the patch was applied, and all pack failures are untagged. Thanks again!

          People

          • Assignee:
            Charles Oliver Nutter
            Reporter:
            Charles Oliver Nutter
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: