[Chapel Merge] 20768 Fix sporadic failures in nestedOn and remote-array-write-access

Branch: refs/heads/main
Revision: ab8da9ad7817a15f0301518a5f39dc00a565405a
Author: Vassily Litvinov
Link: [Merge pull request] # 20768 from vasslitvinov:pr-fix-rawa-sporadic Fix sporadic failures in nestedOn and remote-array-write-access by vasslitvinov · Pull Request #20768 · chapel-lang/chapel · GitHub
Log Message:

[Merge pull request] # 20768 from vasslitvinov:pr-fix-rawa-sporadic
Fix sporadic .bad mismatch in nestedOn
This PR fixes sporadic failures in these two tests, as suggested by @ronawho. ### test/performance/ferguson/remote-array-write-access.chpl This should fix the sporadic failure in performance/ferguson/remote-array-write-access.chpl when compiled with --cache-remote enabled. The failure mode, most recently observed in our gasnet.darwin-m1 configuration, is:

ERROR -- TOO MANY GETs, 2 EXCEEDS MAX OF 1

When Locale 1 issues a cache-get of A._instance, which is a wide pointer, it is typically done with a single get_nb. However, sometimes the _instance field is split across two cache pages, so one cache-get results in two get_nb communications. This PR allows this test to accept either 1 or 2 get_nb. We limit this adjustment to this configuration; everywhere else it will continue requiring 1 get_nb. This way we will be alerted to extra comms in other configurations if/when they arise in the future. ### test/optimizations/remoteValueForwarding/gmp/nestedOn.chpl This test has nested on-stmts and the inner one halts. We sporadically get warnings like: GASNET WARNING(Node 0): int AMUDP_DrainNetwork(ep_t) returning an error code: AM_ERR_RESOURCE for this test. Just add a prediff to filter out any extra messages and only look for our expected error. Once the .future is resolved, we will be getting mismatches on both .bad and .good. At this point the prediff needs to be removed. This is analogous to Filter out extra messages for multilocale/local/diten/test_local2 by ronawho · Pull Request #12937 · chapel-lang/chapel · GitHub and Filter out extra messages for writeThisUsingOn by ronawho · Pull Request #14837 · chapel-lang/chapel · GitHub, which added these prediffs: test/multilocale/bradc/needMultiLocales/writeThisUsingOn.prediff test/multilocale/local/diten/test_local2.prediff

Compare: Comparing 13177bf2c1859849bc00fc165a31013094c30868...ab8da9ad7817a15f0301518a5f39dc00a565405a · chapel-lang/chapel · GitHub
Diff: https://github.com/chapel-lang/chapel/pull/20768.diff
FilesChanged: Fix sporadic failures in nestedOn and remote-array-write-access by vasslitvinov · Pull Request #20768 · chapel-lang/chapel · GitHub

Modified Files:
compiler/AST/AggregateType.cpp,compiler/AST/type.cpp,test/ANNOTATIONS.yaml,test/gpu/native/diags.good,test/optimizations/remoteValueForwarding/gmp/nestedOn.prediff,test/performance/ferguson/CommUtil.chpl,test/performance/ferguson/remote-array-write-access.chpl,test/reductions/reduceAtomics.bad,test/types/POD/ferguson/ispod.good,test/types/POD/ferguson/ispod.na-none.good,test/types/atomic/vass/initialize-atomics-3.good,test/types/atomic/vass/initialize-atomics-3.na-none.good,test/types/atomic/vass/read-atomics-1.future,test/types/tuple/const/tupleModifyBlankArgElem.good,test/types/tuple/const/tupleModifyConstArgElem.good,test/users/vass/isX/isX.byBlankArgs-compWarns.good,test/users/vass/isX/isX.byBlankArgs-compWarns.na-none.good

Removed Files:
test/types/POD/ferguson/ispod.na-none.good,test/types/atomic/vass/initialize-atomics-3.na-none.good,test/users/vass/isX/isX.byBlankArgs-compWarns.na-none.good