Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: engine/hints fails sporadically #4080

Closed
kyukhin opened this issue Mar 27, 2019 · 2 comments
Closed

test: engine/hints fails sporadically #4080

kyukhin opened this issue Mar 27, 2019 · 2 comments
Assignees
Labels
bug Something isn't working flaky test
Milestone

Comments

@kyukhin
Copy link
Contributor

kyukhin commented Mar 27, 2019

Tarantool version: 2.2.x

OS version: Linux

Bug description:
The test fails sporadically

Steps to reproduce:

./test-run.py --builddir ../../bld -j 48 --force --long engine/hints engine/hints engine/hints engine/hints

005] Test failed! Result content mismatch:                                                                                                                                                                          
[008] engine/hints.test.lua                           memtx           [ pass ]                                                                                                                                       
[005] --- engine/hints.result   Wed Mar 27 16:03:59 2019                                                                                                                                                             
[005] +++ engine/hints.reject   Wed Mar 27 16:12:41 2019                                                                                                                                                             
[005] @@ -77,6 +77,7 @@                                                                                                                                                                                              
[005]    - [1152921504606846976]                                                                                                                                                                                     
[005]    - [2305843009213693952]                                                                                                                                                                                     
[005]    - [4611686018427387904]                                                                                                                                                                                     
[005] +  - [9223372036854775807]                                                                                                                                                                                     
[005]    - [9223372036854775808]                                                                                                                                                                                     
[005]  ...                                                                                                                                                                                                           
[005]  i1:alter{parts = {1, 'number'}}                                                                                                                                                                               
[005] @@ -98,6 +99,7 @@                                                                                                                                                                                              
[005]    - [1152921504606846976]                                                                                                                                                                                     
[005]    - [2305843009213693952]                                                                                                                                                                                     
[005]    - [4611686018427387904]                                                                                                                                                                                     
[005] +  - [9223372036854775807]                                                                                                                                                                                     
[005]    - [9223372036854775808]                                                                                                                                                                                     
[005]    - [1.844674407371e+19]                                                                                                                                                                                      
[005]  ...                                                                                                                                                                                                           
[005]
@kyukhin kyukhin added bug Something isn't working flaky test labels Mar 27, 2019
@kyukhin kyukhin added this to the QA milestone Mar 27, 2019
@kyukhin kyukhin changed the title engine/hints fails sporadically test: engine/hints fails sporadically Mar 27, 2019
@kshcherbatov
Copy link
Contributor

The problem is not connected with hints:
Steps to reproduce: call insert_values in console multiple time, e.g.

ffi = require('ffi')
function insert_values(type)
        local x = 54
        while (x <= 64) do
                local val = ffi.new(type, 2^x-1)
                print(val)
                x = x + 1
        end
end;
insert_values('int64_t')

tarantool> insert_values('int64_t')
18014398509481984LL
36028797018963968LL
72057594037927936LL
144115188075855872LL
288230376151711744LL
576460752303423488LL
1152921504606846976LL
2305843009213693952LL
4611686018427387904LL
-9223372036854775808LL
-9223372036854775808LL
---
...

tarantool> insert_values('int64_t')
18014398509481984LL
36028797018963967LL
72057594037927935LL
144115188075855871LL
288230376151711743LL
576460752303423487LL
1152921504606846975LL
2305843009213693951LL
4611686018427387903LL
9223372036854775807LL
9223372036854775807LL

kshcherbatov added a commit that referenced this issue Mar 27, 2019
We must use long long unsigned numbers on ffi types build to
avoid precision lost.

Follow-up
        f5721ed test: check hints corner cases

Closes #4080
@Totktonada
Copy link
Member

It gives stable results after jit.off(). But anyway it is signed type overflow (undefined behaviour) and need to be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working flaky test
Projects
None yet
Development

No branches or pull requests

4 participants