Hello,

Please find below the message by Dragoslav Sicarov with a patch to fix
the tests failures reported in the same message,

The file attached is the patch by Dragoslav Sicarov.

Cheers,

Anibal

On Sun, 2013-12-29 15:13:16 +0000, Dragoslav Sicarov wrote:
> Package: grib-api
> Version: 1.10.4-3
> Tags: sid
> 
> Hi all,
> 
> FTBFS: 21 of 38 tests fail when trying to build package from source on
> mips. Part of build log has been attached.
> 
> The root cause of failing tests for mips is in function
> grib_encode_unsigned_long() that is used for writing into grib message
> buffer (function is implemented differently for big-endian and
> little-endian architectures).
>
> On big-endian architectures, function uses shift operations, where in
> some corner-case situations left operand (which is of type unsigned
> long; size of long equals 4 bytes for 32bit system) is shifted right
> by 32 bits.
>
> According to C standard, if the value of the right operand of shift
> operation is negative, or is greater than or equal to the width of the
> left operand, the behaviour is undefined.
>
> On 32-bit mips architecture shift operations by a variable number of
> bits are translated to/use 'srlv' and 'sllv' instructions which shift
> left operand by (right_operand mod 32)  bits. In case of shifting by
> 32 bits, this results in left operand being unchanged. However, in
> order for this package to function properly a result of 0 is expected.
> 
> Proposed patch fixes these corner-cases by setting the result of shift
> operation to 0 if right operand is greater than or equal to size of
> long (actually, no shifting is performed, the result is set to zero).
> 
> Patch has been attached.

> --- a/src/grib_bits.c
> +++ b/src/grib_bits.c
> @@ -24,7 +24,7 @@
>  long GRIB_MASK = -1;       /* Mask of sword bits */
>  
>  # define VALUE(p,q,b) \
> - (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & 
> ((p)>>(max_nbits-((q)+(b)))))
> + (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & (((max_nbits-((q)+(b))) 
> >= max_nbits) ? 0 : ((p)>>(max_nbits-((q)+(b))))))
>  
>  # define MASKVALUE(q,b) \
>   ((b)==max_nbits ? GRIB_MASK : (~(GRIB_MASK<<(b))<<(max_nbits-((q)+(b)))))
> --- a/src/grib_bits_fast_big_endian.c
> +++ b/src/grib_bits_fast_big_endian.c
> @@ -62,9 +62,16 @@
>      countOfLeftmostBits = max_nbits - startBit;
>      startBit = max_nbits - remainingBits;
>      remainingBits -= countOfLeftmostBits;
> -    destination[nextWord] =
> -      ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits)
> -      + (VALUE(val,startBit,countOfLeftmostBits));
> +    if (countOfLeftmostBits < max_nbits)
> +    {
> +      destination[nextWord] =
> +        ((destination[nextWord] >> countOfLeftmostBits) << 
> countOfLeftmostBits)
> +          + (VALUE(val,startBit,countOfLeftmostBits));
> +    }
> +    else
> +    {
> +      destination[nextWord] = (VALUE(val,startBit,countOfLeftmostBits));
> +    }
>      startBit = 0;
>      nextWord++;
>    }

> Making check in tests
> make[2]: Entering directory `/??PKGBUILDDIR??/tests'
> make  check-TESTS
> make[3]: Entering directory `/??PKGBUILDDIR??/tests'
> 
> TEST: ./definitions.sh
> PASS: definitions.sh
> 
> TEST: ./ieee.sh
> PASS: ieee.sh
> 
> TEST: ./grib1to2.sh
> FAIL: grib1to2.sh
> 
> TEST: ./grib2to1.sh
> FAIL: grib2to1.sh
> 
> TEST: ./badgrib.sh
> PASS: badgrib.sh
> 
> TEST: ./ls.sh
> FAIL: ls.sh
> 
> TEST: ./convert.sh
> Invalid grib message(s) found in /??PKGBUILDDIR??/data/out.grib2
> FAIL: convert.sh
> 
> TEST: ./filter.sh
> GRIB_API ERROR   :  Message is too large for the current architecture
> FAIL: filter.sh
> 
> TEST: ./multi.sh
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 7494-7494 
> over message boundary (3747)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 119278-119278 
> over message boundary (59639)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193150-193150 
> over message boundary (96575)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195092-195092 
> over message boundary (97546)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195560-195560 
> over message boundary (97780)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195440-195440 
> over message boundary (97720)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196066-196066 
> over message boundary (98033)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197412-197412 
> over message boundary (98706)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 199542-199542 
> over message boundary (99771)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200202-200202 
> over message boundary (100101)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200008-200008 
> over message boundary (100004)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 201242-201242 
> over message boundary (100621)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198372-198372 
> over message boundary (99186)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197716-197716 
> over message boundary (98858)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195034-195034 
> over message boundary (97517)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198362-198362 
> over message boundary (99181)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194932-194932 
> over message boundary (97466)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200802-200802 
> over message boundary (100401)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198614-198614 
> over message boundary (99307)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198566-198566 
> over message boundary (99283)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196920-196920 
> over message boundary (98460)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 204564-204564 
> over message boundary (102282)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 202982-202982 
> over message boundary (101491)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 201748-201748 
> over message boundary (100874)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198722-198722 
> over message boundary (99361)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 202698-202698 
> over message boundary (101349)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200584-200584 
> over message boundary (100292)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195584-195584 
> over message boundary (97792)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193676-193676 
> over message boundary (96838)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 183778-183778 
> over message boundary (91889)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 182186-182186 
> over message boundary (91093)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 169128-169128 
> over message boundary (84564)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 166494-166494 
> over message boundary (83247)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 160512-160512 
> over message boundary (80256)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 156488-156488 
> over message boundary (78244)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 153212-153212 
> over message boundary (76606)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 149744-149744 
> over message boundary (74872)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 148080-148080 
> over message boundary (74040)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 145326-145326 
> over message boundary (72663)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 140628-140628 
> over message boundary (70314)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 138610-138610 
> over message boundary (69305)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 142890-142890 
> over message boundary (71445)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 139762-139762 
> over message boundary (69881)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 141374-141374 
> over message boundary (70687)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 137144-137144 
> over message boundary (68572)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 180936-180936 
> over message boundary (90468)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 150002-150002 
> over message boundary (75001)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 7494-7494 
> over message boundary (3747)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 119278-119278 
> over message boundary (59639)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 193150-193150 
> over message boundary (96575)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 195092-195092 
> over message boundary (97546)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 195560-195560 
> over message boundary (97780)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 195440-195440 
> over message boundary (97720)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 196066-196066 
> over message boundary (98033)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 197412-197412 
> over message boundary (98706)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 199542-199542 
> over message boundary (99771)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 200202-200202 
> over message boundary (100101)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 200008-200008 
> over message boundary (100004)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 201242-201242 
> over message boundary (100621)
> GRIB_API ERROR   :  Creating ()_if0x57a020 of section at offset 198372-198372 
> over message boundary (99186)
> Segmentation fault
> FAIL: multi.sh
> 
> TEST: ./budg.sh
> PASS: budg.sh
> 
> TEST: ./gridType.sh
> PASS: gridType.sh
> 
> TEST: ./concept.sh
> GRIB_API ERROR   :  Creating ()_if0x57b6e0 of section at offset 16612-16612 
> over message boundary (8306)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 81052-81052 
> over message boundary (40526)
> GRIB_API ERROR   :  Creating ()_if0x5795e8 of section at offset 2352-2352 
> over message boundary (1176)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 7494-7494 
> over message boundary (3747)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 119278-119278 
> over message boundary (59639)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193150-193150 
> over message boundary (96575)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195092-195092 
> over message boundary (97546)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195560-195560 
> over message boundary (97780)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195440-195440 
> over message boundary (97720)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196066-196066 
> over message boundary (98033)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197412-197412 
> over message boundary (98706)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 199542-199542 
> over message boundary (99771)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200202-200202 
> over message boundary (100101)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200008-200008 
> over message boundary (100004)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 201242-201242 
> over message boundary (100621)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198372-198372 
> over message boundary (99186)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 197716-197716 
> over message boundary (98858)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195034-195034 
> over message boundary (97517)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198362-198362 
> over message boundary (99181)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 194932-194932 
> over message boundary (97466)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200802-200802 
> over message boundary (100401)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198614-198614 
> over message boundary (99307)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198566-198566 
> over message boundary (99283)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 196920-196920 
> over message boundary (98460)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 204564-204564 
> over message boundary (102282)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 202982-202982 
> over message boundary (101491)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 201748-201748 
> over message boundary (100874)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 198722-198722 
> over message boundary (99361)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 202698-202698 
> over message boundary (101349)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 200584-200584 
> over message boundary (100292)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 195584-195584 
> over message boundary (97792)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 193676-193676 
> over message boundary (96838)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 183778-183778 
> over message boundary (91889)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 182186-182186 
> over message boundary (91093)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 169128-169128 
> over message boundary (84564)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 166494-166494 
> over message boundary (83247)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 160512-160512 
> over message boundary (80256)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 156488-156488 
> over message boundary (78244)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 153212-153212 
> over message boundary (76606)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 149744-149744 
> over message boundary (74872)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 148080-148080 
> over message boundary (74040)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 145326-145326 
> over message boundary (72663)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 140628-140628 
> over message boundary (70314)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 138610-138610 
> over message boundary (69305)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 142890-142890 
> over message boundary (71445)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 139762-139762 
> over message boundary (69881)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 141374-141374 
> over message boundary (70687)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 137144-137144 
> over message boundary (68572)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 180936-180936 
> over message boundary (90468)
> GRIB_API ERROR   :  Creating ()_if0x579ff0 of section at offset 150002-150002 
> over message boundary (75001)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57ed70 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x57b2d0 of section at offset 17160-17160 
> over message boundary (8580)
> GRIB_API ERROR   :  Creating ()_if0x5795e8 of section at offset 2358-2358 
> over message boundary (1179)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 4478-4478 
> over message boundary (2239)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 1980-1980 
> over message boundary (990)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3158-3158 
> over message boundary (1579)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 4526-4526 
> over message boundary (2263)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579760 of section at offset 3110-3110 
> over message boundary (1555)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 198372-198372 
> over message boundary (99186)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 195034-195034 
> over message boundary (97517)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 194932-194932 
> over message boundary (97466)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 198614-198614 
> over message boundary (99307)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 196920-196920 
> over message boundary (98460)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 202982-202982 
> over message boundary (101491)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 198722-198722 
> over message boundary (99361)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 200584-200584 
> over message boundary (100292)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 193676-193676 
> over message boundary (96838)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 182186-182186 
> over message boundary (91093)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 166494-166494 
> over message boundary (83247)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 156488-156488 
> over message boundary (78244)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 149744-149744 
> over message boundary (74872)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 145326-145326 
> over message boundary (72663)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 138610-138610 
> over message boundary (69305)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 139762-139762 
> over message boundary (69881)
> GRIB_API ERROR   :  Creating ()_if0x579148 of section at offset 137144-137144 
> over message boundary (68572)
> PASS: concept.sh
> 
> TEST: ./decimalPrecision.sh
> /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory
> FAIL: decimalPrecision.sh
> 
> TEST: ./bitsPerValue.sh
> /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory
> FAIL: bitsPerValue.sh
> 
> TEST: ./get_fail.sh
> PASS: get_fail.sh
> 
> TEST: ./missing.sh
> GRIB_API ERROR   :  Creating ()_if0x5795d8 of section at offset 2352-2352 
> over message boundary (1176)
> GRIB_API ERROR   :  Creating ()_if0x5795d8 of section at offset 2352-2352 
> over message boundary (1176)
> GRIB_API ERROR   :  Creating ()_if0x579680 of section at offset 2352-2352 
> over message boundary (1176)
> GRIB_API ERROR   :  Message is too large for the current architecture
> FAIL: missing.sh
> 
> TEST: ./local.sh
> GRIB_API ERROR   :  Message is too large for the current architecture
> FAIL: local.sh
> 
> TEST: ./step.sh
> /??PKGBUILDDIR??/data/reduced_latlon_surface_constant.grib2: No such file or 
> directory
> FAIL: step.sh
> 
> TEST: ./set.sh
> /??PKGBUILDDIR??/data/regular_gaussian_surface.grib2: No such file or 
> directory
> FAIL: set.sh
> 
> TEST: ./iterator.sh
> /??PKGBUILDDIR??/data/reduced_latlon_surface.grib2: No such file or directory
> /??PKGBUILDDIR??/data/reduced_latlon_surface.grib2: No such file or directory
> FAIL: iterator.sh
> 
> TEST: ./compare.sh
> PASS: compare.sh
> 
> TEST: ./level.sh
> PASS: level.sh
> 
> TEST: ./index.sh
> PASS: index.sh
> 
> TEST: ./bitmap.sh
> /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory
> FAIL: bitmap.sh
> 
> TEST: ./list.sh
> /??PKGBUILDDIR??/data/reduced_gaussian_model_level.grib2: No such file or 
> directory
> FAIL: list.sh
> 
> TEST: ./second_order.sh
> PASS: second_order.sh
> 
> TEST: ./multi_from_message.sh
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 7494-7494 
> over message boundary (3747)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 119278-119278 
> over message boundary (59639)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 193150-193150 
> over message boundary (96575)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 195092-195092 
> over message boundary (97546)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 195560-195560 
> over message boundary (97780)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 195440-195440 
> over message boundary (97720)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 196066-196066 
> over message boundary (98033)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 197412-197412 
> over message boundary (98706)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 199542-199542 
> over message boundary (99771)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 200202-200202 
> over message boundary (100101)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 200008-200008 
> over message boundary (100004)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 201242-201242 
> over message boundary (100621)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 198372-198372 
> over message boundary (99186)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 197716-197716 
> over message boundary (98858)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 195034-195034 
> over message boundary (97517)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 198362-198362 
> over message boundary (99181)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 194932-194932 
> over message boundary (97466)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 200802-200802 
> over message boundary (100401)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 198614-198614 
> over message boundary (99307)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 198566-198566 
> over message boundary (99283)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 196920-196920 
> over message boundary (98460)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 204564-204564 
> over message boundary (102282)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 202982-202982 
> over message boundary (101491)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 201748-201748 
> over message boundary (100874)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 198722-198722 
> over message boundary (99361)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 202698-202698 
> over message boundary (101349)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 200584-200584 
> over message boundary (100292)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 195584-195584 
> over message boundary (97792)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 193676-193676 
> over message boundary (96838)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 183778-183778 
> over message boundary (91889)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 182186-182186 
> over message boundary (91093)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 169128-169128 
> over message boundary (84564)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 166494-166494 
> over message boundary (83247)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 160512-160512 
> over message boundary (80256)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 156488-156488 
> over message boundary (78244)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 153212-153212 
> over message boundary (76606)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 149744-149744 
> over message boundary (74872)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 148080-148080 
> over message boundary (74040)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 145326-145326 
> over message boundary (72663)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 140628-140628 
> over message boundary (70314)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 138610-138610 
> over message boundary (69305)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 142890-142890 
> over message boundary (71445)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 139762-139762 
> over message boundary (69881)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 141374-141374 
> over message boundary (70687)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 137144-137144 
> over message boundary (68572)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 180936-180936 
> over message boundary (90468)
> GRIB_API ERROR   :  Creating ()_if0x429e18 of section at offset 150002-150002 
> over message boundary (75001)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 7494-7494 
> over message boundary (3747)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 119278-119278 
> over message boundary (59639)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 193150-193150 
> over message boundary (96575)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 191834-191834 
> over message boundary (95917)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 195092-195092 
> over message boundary (97546)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 193926-193926 
> over message boundary (96963)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 195560-195560 
> over message boundary (97780)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 194616-194616 
> over message boundary (97308)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 195440-195440 
> over message boundary (97720)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 194772-194772 
> over message boundary (97386)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 196066-196066 
> over message boundary (98033)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 194430-194430 
> over message boundary (97215)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 197412-197412 
> over message boundary (98706)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 194880-194880 
> over message boundary (97440)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 199542-199542 
> over message boundary (99771)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 196902-196902 
> over message boundary (98451)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 200202-200202 
> over message boundary (100101)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 197258-197258 
> over message boundary (98629)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 200008-200008 
> over message boundary (100004)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 196896-196896 
> over message boundary (98448)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 201242-201242 
> over message boundary (100621)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 198372-198372 
> over message boundary (99186)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 197716-197716 
> over message boundary (98858)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 195034-195034 
> over message boundary (97517)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 198362-198362 
> over message boundary (99181)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 194932-194932 
> over message boundary (97466)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 200802-200802 
> over message boundary (100401)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 198614-198614 
> over message boundary (99307)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 198566-198566 
> over message boundary (99283)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 196920-196920 
> over message boundary (98460)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 204564-204564 
> over message boundary (102282)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 202982-202982 
> over message boundary (101491)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 201748-201748 
> over message boundary (100874)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 198722-198722 
> over message boundary (99361)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 202698-202698 
> over message boundary (101349)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 200584-200584 
> over message boundary (100292)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 195584-195584 
> over message boundary (97792)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 193676-193676 
> over message boundary (96838)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 183778-183778 
> over message boundary (91889)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 182186-182186 
> over message boundary (91093)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 169128-169128 
> over message boundary (84564)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 166494-166494 
> over message boundary (83247)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 160512-160512 
> over message boundary (80256)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 156488-156488 
> over message boundary (78244)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 153212-153212 
> over message boundary (76606)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 149744-149744 
> over message boundary (74872)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 148080-148080 
> over message boundary (74040)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 145326-145326 
> over message boundary (72663)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 140628-140628 
> over message boundary (70314)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 138610-138610 
> over message boundary (69305)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 142890-142890 
> over message boundary (71445)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 139762-139762 
> over message boundary (69881)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 141374-141374 
> over message boundary (70687)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 137144-137144 
> over message boundary (68572)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 180936-180936 
> over message boundary (90468)
> GRIB_API ERROR   :  Creating ()_if0x579fd8 of section at offset 150002-150002 
> over message boundary (75001)
> PASS: multi_from_message.sh
> 
> TEST: ./change_scanning.sh
> GRIB_API ERROR   :  Message is too large for the current architecture
>         *** unreadable message ***
> FAIL: change_scanning.sh
> 
> TEST: ./julian.sh
> PASS: julian.sh
> 
> TEST: ./statistics.sh
> /??PKGBUILDDIR??/data/regular_latlon_surface.grib2: No such file or directory
> FAIL: statistics.sh
> 
> TEST: ./tigge.sh
> PASS: tigge.sh
> 
> TEST: ./tigge_conversions.sh
> FAIL: tigge_conversions.sh
> 
> TEST: ./read_any.sh
> no data to test
> PASS: read_any.sh
> 
> TEST: ./padding.sh
> PASS: padding.sh
> 
> TEST: ./lamb_az_eq_area.sh
> /??PKGBUILDDIR??/data/regular_gaussian_pressure_level_constant.grib2: No such 
> file or directory
> FAIL: lamb_az_eq_area.sh
> 
> TEST: ./grib_to_netcdf.sh
> NetCDF was not enabled. Skipping this test.
> PASS: grib_to_netcdf.sh
> 
> TEST: ./debug.sh
> FAIL: debug.sh
> 
> TEST: ./jpeg.sh
> GRIB_API ERROR   :  Creating ()_if0x5791a8 of section at offset 81052-81052 
> over message boundary (40526)
> GRIB_API ERROR   :  Message is too large for the current architecture
> FAIL: jpeg.sh
> ===========================================
> make[3]: *** [check-TESTS] Error 1
> 21 of 38 tests failed
> Please report to software.supp...@ecmwf.int
> ===========================================
> make[3]: Leaving directory `/??PKGBUILDDIR??/tests'
> make[2]: *** [check-am] Error 2
> make[2]: Leaving directory `/??PKGBUILDDIR??/tests'
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory `/??PKGBUILDDIR??'
> dh_auto_test: make -j1 check returned exit code 2
> make: *** [build-arch] Error 2
> dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2
From: Dragoslav Sicarov <dragoslav.sica...@imgtec.com>
Subject: FTBFS: grib-api - tests fail for mips
Date: Sun, 29 Dec 2013 15:13:16 +0000

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733510

FTBFS: 21 of 38 tests fail when trying to build package from source on
mips. Part of build log has been attached.

The root cause of failing tests for mips is in function
grib_encode_unsigned_long() that is used for writing into grib message
buffer (function is implemented differently for big-endian and
little-endian architectures).

On big-endian architectures, function uses shift operations, where in
some corner-case situations left operand (which is of type unsigned
long; size of long equals 4 bytes for 32bit system) is shifted right by
32 bits.

According to C standard, if the value of the right operand of shift
operation is negative, or is greater than or equal to the width of the
left operand, the behaviour is undefined.

On 32-bit mips architecture shift operations by a variable number of
bits are translated to/use 'srlv' and 'sllv' instructions which shift
left operand by (right_operand mod 32) bits. In case of shifting by 32
bits, this results in left operand being unchanged. However, in order
for this package to function properly a result of 0 is expected.

Proposed patch fixes these corner-cases by setting the result of shift
operation to 0 if right operand is greater than or equal to size of long
(actually, no shifting is performed, the result is set to zero).

--- a/src/grib_bits.c	2013-05-29 16:32:07.000000000 +0100
+++ b/src/grib_bits.c	2014-04-30 08:40:17.717503443 +0100
@@ -24,7 +24,7 @@
 long GRIB_MASK = -1;       /* Mask of sword bits */
 
 # define VALUE(p,q,b) \
- (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & ((p)>>(max_nbits-((q)+(b)))))
+ (((b)==max_nbits ? GRIB_MASK : ~(GRIB_MASK<<(b))) & (((max_nbits-((q)+(b))) >= max_nbits) ? 0 : ((p)>>(max_nbits-((q)+(b))))))
 
 # define MASKVALUE(q,b) \
  ((b)==max_nbits ? GRIB_MASK : (~(GRIB_MASK<<(b))<<(max_nbits-((q)+(b)))))
--- a/src/grib_bits_fast_big_endian.c	2013-05-29 16:32:07.000000000 +0100
+++ b/src/grib_bits_fast_big_endian.c	2014-04-30 08:40:17.733503444 +0100
@@ -62,9 +62,16 @@ int grib_encode_unsigned_long(unsigned c
     countOfLeftmostBits = max_nbits - startBit;
     startBit = max_nbits - remainingBits;
     remainingBits -= countOfLeftmostBits;
-    destination[nextWord] =
-      ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits)
-      + (VALUE(val,startBit,countOfLeftmostBits));
+    if (countOfLeftmostBits < max_nbits)
+    {
+      destination[nextWord] =
+        ((destination[nextWord] >> countOfLeftmostBits) << countOfLeftmostBits)
+          + (VALUE(val,startBit,countOfLeftmostBits));
+    }
+    else
+    {
+      destination[nextWord] = (VALUE(val,startBit,countOfLeftmostBits));
+    }
     startBit = 0;
     nextWord++;
   }

Attachment: signature.asc
Description: Digital signature

Reply via email to