Summary:
Some test cases (ones that involve postmaster restart without tserver restart), run into
the following error occasionally under TSAN:
```
[ts-1] F20250805 07:55:13 ../../src/yb/tserver/tserver_shared_mem.cc:357] Address segment negotiation failed: IO error (yb/util/shmem/reserved_address_segment.cc:180): Failed to reserve 68719476736 byte block of virtual memory at 0x00007f4e17ae5000 in new child to match formerly negotiated virtual address segment
```
One such example is `DmlOrDdlLocks/ExternalObjectLockTestExpiry.TServerHeldLocksReleasedAfterExpiry/1`.
This appears to be reproducible on an almalinux8 machine, but not on an ubuntu22.04 machine.
The cause is that the range of addresses we use for address negotiation with TSAN is
0x7e8000000000 to 0x7f6000000000, but this overlaps with addresses that tserver/postgres
normally use under TSAN. We do have a renegotiation process for this case, but if postmaster
restarts and the address is already taken in the new postmaster, we FATAL, since the alternative is
to reconstruct the shared memory. (This issue only affects TSAN tests since TSAN has special ranges
due to the vast majority of address space being reserved under TSAN).
This changes the range for TSAN builds to 0x010000000000 to 0x020000000000, which is in the
kLoAppMem range (https://github.com/yugabyte/llvm-project/blob/llvmorg-19.1.0-yb-1/compiler-rt/lib/tsan/rtl/tsan_platform.h#L79,L80),
and did not result in any failure in 1000 runs of
`DmlOrDdlLocks/ExternalObjectLockTestExpiry.TServerHeldLocksReleasedAfterExpiry/1` under TSAN
on both almalinux8 and ubuntu22.04 machines.
Jira: DB-17984
Test Plan:
Ran `./yb_build.sh tsan --cxx-test integration-tests_object_lock-test --gtest_filter DmlOrDdlLocks/ExternalObjectLockTestExpiry.TServerHeldLocksReleasedAfterExpiry/1 --clang19 -n 1000 --tp 6`
on almalinux8 + ubuntu22.04.
Also ran the test under TSAN 100 times on Jenkins.
Reviewers: sergei
Reviewed By: sergei
Subscribers: ybase
Differential Revision: https://phorge.dev.yugabyte.com/D46123