SDSTOR-25631: move some common headers from homestore into sisl - #337
Conversation
c155f02 to
94c3894
Compare
94c3894 to
dfc1f66
Compare
szmyd
left a comment
There was a problem hiding this comment.
coro.hpp fails to compile for me; we aren't including it anywhere in this repo, but it has a bunch of unknown type errors. Let's add a small UT that would at least force the compiler to parse it.
|
|
||
| jobs: | ||
| GccThreadSanitize: | ||
| if: ${{ false }} |
There was a problem hiding this comment.
I see all the UT hit this error
ThreadSanitizer: unexpected memory mapping
Test project /root/go/src/github.com/ebay/no-folly/sisl/build/Sanitized-thread
Start 1: DiskTask
1/44 Test #1: DiskTask .........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x7899b3e72000-0x7899b4300000
Start 2: ValueAwaitable
2/44 Test #2: ValueAwaitable ................... Passed 0.22 sec
Start 3: SharedAwaitable
3/44 Test #3: SharedAwaitable ..................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5b866a38f000-0x5b866a39b000
Start 4: LightTask
4/44 Test #4: LightTask ........................ Passed 0.02 sec
Start 5: CqeAwaitable
5/44 Test #5: CqeAwaitable .....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5e0d8b919000-0x5e0d8b925000
Start 6: ManualScheduler
6/44 Test #6: ManualScheduler ..................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5d1389fd5000-0x5d1389fe1000
Start 7: Logging
7/44 Test #7: Logging ..........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x645386ec3000-0x645387083000
Start 8: OptionsBasics
8/44 Test #8: OptionsBasics ....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x792a18072000-0x792a18500000
Start 9: Sobject
9/44 Test #9: Sobject ..........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x6166340a8000-0x61663426d000
Start 10: FileWatcher
10/44 Test #10: FileWatcher ......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5eb8ba463000-0x5eb8ba643000
Start 11: Version
11/44 Test #11: Version ..........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x654a77cd2000-0x654a77e9a000
Start 12: MetricsFarm
12/44 Test #12: MetricsFarm ......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5f1c694e9000-0x5f1c69737000
Start 13: MetricsWrapper
13/44 Test #13: MetricsWrapper ...................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x6123de2fc000-0x6123de54a000
Start 14: MetricsRegistrationRace
14/44 Test #14: MetricsRegistrationRace .......... Passed 0.03 sec
Start 15: MetricsBenchmark
15/44 Test #15: MetricsBenchmark .................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x60a03cdc8000-0x60a03cf8d000
Start 16: RangeHashMap
16/44 Test #16: RangeHashMap .....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5d260b89f000-0x5d260baf1000
Start 17: RangeCache
17/44 Test #17: RangeCache ....................... Passed 4.64 sec
Start 18: SimpleCache
18/44 Test #18: SimpleCache ......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x64a146728000-0x64a146979000
Start 19: StreamTracker
19/44 Test #19: StreamTracker ....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5aa0226a2000-0x5aa0228eb000
Start 20: AtomicStatusCounter
20/44 Test #20: AtomicStatusCounter .............. Passed 0.03 sec
Start 21: Bitset
21/44 Test #21: Bitset ...........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x7910ca072000-0x7910ca500000
Start 22: Bitword
22/44 Test #22: Bitword ..........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x61b5fae30000-0x61b5fb08c000
Start 23: CompactBitset
23/44 Test #23: CompactBitset ....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x64c475519000-0x64c475766000
Start 24: ConcurrentInsertVector
24/44 Test #24: ConcurrentInsertVector ...........***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x621d45b88000-0x621d45dd6000
Start 25: ConcurrentVectorBench
25/44 Test #25: ConcurrentVectorBench ............***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5acd430ee000-0x5acd432b3000
Start 26: ObjAllocatorBenchmark
26/44 Test #26: ObjAllocatorBenchmark ............***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5f59609c3000-0x5f5960b8e000
Start 27: ObjAlloc
27/44 Test #27: ObjAlloc .........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x63b9c42a6000-0x63b9c4475000
Start 28: SgList
28/44 Test #28: SgList ...........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x6427df3a0000-0x6427df561000
Start 29: IdReserver
29/44 Test #29: IdReserver .......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x6260c8fb9000-0x6260c9208000
Start 30: BoundedMPMCQueue
30/44 Test #30: BoundedMPMCQueue .................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x773242c72000-0x773243100000
Start 31: Settings
31/44 Test #31: Settings .........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5a448f4c1000-0x5a448f758000
Start 32: AtomicCounter
32/44 Test #32: AtomicCounter ....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5eb6dbe77000-0x5eb6dc043000
Start 33: ThreadBuffer
33/44 Test #33: ThreadBuffer .....................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x5af711364000-0x5af7113ed000
Start 34: StatusFactory
34/44 Test #34: StatusFactory .................... Passed 3.63 sec
Start 35: Enum
35/44 Test #35: Enum .............................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x64edcefc2000-0x64edcf04c000
Start 36: ObjLife
36/44 Test #36: ObjLife ..........................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x64aba39f8000-0x64aba3c44000
Start 37: WisrVector
37/44 Test #37: WisrVector .......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x708bd7472000-0x708bd7900000
Start 38: Flip
38/44 Test #38: Flip .............................***Not Run (Disabled) 0.00 sec
Start 39: FlipLocalClient
39/44 Test #39: FlipLocalClient ..................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x61b0bff20000-0x61b0c1370000
Start 40: Echo_Ping_Server
40/44 Test #40: Echo_Ping_Server .................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x63006f541000-0x630070afd000
Start 41: Echo_Ping_Async_Client_Server
41/44 Test #41: Echo_Ping_Async_Client_Server ....***Not Run (Disabled) 0.00 sec
Start 42: Auth_Test
42/44 Test #42: Auth_Test ........................***Not Run (Disabled) 0.00 sec
Start 43: Client_Test
43/44 Test #43: Client_Test ......................***Failed 0.01 sec
FATAL: ThreadSanitizer: unexpected memory mapping 0x76c311e72000-0x76c312300000
it is a known issue caused by the incompatibility between the TSan runtime and the Linux kernel’s ASLR entropy settings. pls refer to : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2056762
I disabled GccThreadSanitize to unblock github CI. or do you have any other suggestion?
bac2fd1 to
24b5ddb
Compare
|
@szmyd I have added an UT for coro.hpp to make sure it is compiled , pls try again |
24b5ddb to
e83c73e
Compare
03a09ea to
2ef9954
Compare
947a363 to
cf08343
Compare
|
@szmyd ThreadSanitize is enabled, pls take a look |
szmyd
left a comment
There was a problem hiding this comment.
Looks great! Thanks @JacksonYao287
|
thanks @szmyd for the review |
1 move https://github.com/eBay/HomeStore/blob/dev/v8.x/src/lib/common/coro_helpers.hpp and https://github.com/eBay/HomeStore/blob/dev/v8.x/src/lib/blkalloc/bounded_mpmc_queue.hpp
into sisl.
2 add a UT for bounded_mpmc_queue.hpp