Unit test lf-t unstable
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.5 |
Fix Released
|
Low
|
Laurynas Biveinis | |||
5.6 |
Fix Released
|
Low
|
Laurynas Biveinis | |||
5.7 |
Fix Released
|
Low
|
Laurynas Biveinis |
Bug Description
11/14 Test #11: lf .......
# N CPUs: 4, atomic ops: gcc-builtins-smp
1..7
ok 1 - my_atomic_
# Testing lf_pinbox (with my_thread_init) with 30 threads, 3000 iterations...
ok 2 - tested lf_pinbox (with my_thread_init) in 0.0131241 secs (0)
# Testing lf_alloc (with my_thread_init) with 30 threads, 3000 iterations...
# 0 mallocs, 4 pins in stack
ok 3 - tested lf_alloc (with my_thread_init) in 0.0163577 secs (0)
# Testing lf_hash (with my_thread_init) with 30 threads, 300 iterations...
# 0 mallocs, 2 pins in stack, 1 hash size, 0 inserts
ok 4 - tested lf_hash (with my_thread_init) in 0.0053816 secs (0)
# Testing lf_pinbox (without my_thread_init) with 30 threads, 3000 iterations...
ok 5 - tested lf_pinbox (without my_thread_init) in 0.0096111 secs (0)
# Testing lf_alloc (without my_thread_init) with 30 threads, 3000 iterations...
# 0 mallocs, 5 pins in stack
ok 6 - tested lf_alloc (without my_thread_init) in 0.0579291 secs (0)
# Testing lf_hash (without my_thread_init) with 30 threads, 300 iterations...
# 0 mallocs, 2 pins in stack, 1 hash size, 0 inserts
ok 7 - tested lf_hash (without my_thread_init) in 0.0042839 secs (0)
Error in my_thread_
=======
==1810==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 280 byte(s) in 1 object(s) allocated from:
#0 0x7fb21177579a in __interceptor_
#1 0x4089cc in my_thread_init /mnt/workspace/
#2 0x40321e in test_lf_hash /mnt/workspace/
#3 0x7fb2114c76f9 in start_thread (/lib/x86_
SUMMARY: AddressSanitizer: 280 byte(s) leaked in 1 allocation(s).
This is caused by a race: the last test thread with my_thread_init=1 reads with_my_thread_init 2nd time to determine whether it should call my_thread_end, after signaling the main thread that the test is complete. And the main thread sets my_thread_init from 1 to 0 after the first three tests, resulting in my_thread_
tags: | added: ci upstream |
https:/ /github. com/percona/ percona- server/ pull/776 /github. com/percona/ percona- server/ pull/777 /github. com/percona/ percona- server/ pull/778
https:/
https:/