[ 
https://issues.apache.org/jira/browse/IMPALA-5031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16772489#comment-16772489
 ] 

ASF subversion and git services commented on IMPALA-5031:
---------------------------------------------------------

Commit 7bb5b03703538e88d83a413b9dc838e1eed7250a in impala's branch 
refs/heads/master from Jim Apple
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=7bb5b03 ]

IMPALA-5031: oversized signed shifts are undefined

Standard section [expr.shift] says that E1 << E2 is undefined if E1 is
of signed type and the result cannot be represented in the
corresponding unsigned type. We can't simply change 1 << bit_width to
1u << bit_width, though, becuase it is the second argument of the
modulo operator, and following [expr.mul], "If the second operand of /
or % is zero the behavior is undefined."

This expression is tripped in RleTest.ValueSkippingFuzzy, with the
following backtrace:

util/rle-test.cc:304:29: runtime error: shift exponent 32 is too large
      for 32-bit type 'int'
    #0 RleTest::MakeRandomSequence(unsigned int, int, int, int)::
         {lambda(int)#1}::operator()(int) const util/rle-test.cc:304:29
    #1 RleTest::MakeRandomSequence(unsigned int, int, int, int)
         util/rle-test.cc:315:15
    #2 RleTest_ValueSkippingFuzzy_Test::TestBody()
         util/rle-test.cc:392:25

Change-Id: I7debbd1ca5bd3ae640701ce0e95a12c5059abfd7
Reviewed-on: http://gerrit.cloudera.org:8080/12514
Reviewed-by: Tim Armstrong <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> UBSAN clean and method for testing UBSAN cleanliness
> ----------------------------------------------------
>
>                 Key: IMPALA-5031
>                 URL: https://issues.apache.org/jira/browse/IMPALA-5031
>             Project: IMPALA
>          Issue Type: Task
>          Components: Backend, Infrastructure
>    Affects Versions: Impala 2.9.0
>            Reporter: Jim Apple
>            Assignee: Jim Apple
>            Priority: Minor
>
> http://releases.llvm.org/3.8.0/tools/clang/docs/UndefinedBehaviorSanitizer.html
>  builds are supported after https://gerrit.cloudera.org/#/c/6186/, but 
> Impala's test suite triggers many errors under UBSAN. Those errors should be 
> fixed and then there should be a way to run the test suite under UBSAN and 
> fail if there were any errors detected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to