[SERVER-62954] fix macos dyld limit Created: 25/Jan/22  Updated: 29/Oct/23  Resolved: 26/Jan/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.3.0

Type: Bug Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to SERVER-63354 fix macos dyld limit Closed
related to SERVER-63551 fix macos dyld limit Closed
is related to SERVER-59163 Enable partial indexes on time-series... Closed
is related to SERVER-61772 Implement tenant access blocking for ... Closed
is related to SERVER-62255 Create base ClusterServerParameter class Closed
is related to SERVER-62429 Add CollectionUUIDMismatch error code... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: Execution Team 2022-02-07
Participants:
Linked BF Score: 69

 Description   

The `mongod` binary under dynamically linked Mac OS build configuration recently is failing to start up due to an OS limitation on the size of the link graph. This is causing test suites in the CI system to fail (eg. jsCore). We can get dynamic builds on macOS to work again by reviewing some of the recent additions to the LIBDEPS edges in the SConscript files.



 Comments   
Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-62954 make some library dependencies in shard_split_donor_service private

This reduces the link graph size to stay under the macos dyld limit.
Changes LIBDEPS edges added in commit 2d7b08d3de39c4d4c0f97ea7c6664eb317de5f4f.
Branch: master
https://github.com/mongodb/mongo/commit/4e7666e0bcb766e93988c0066c908ec7de383aaa

Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-62954 make timeseries_options library dependency private in pipeline

This reduces the link graph size to stay under the macos dyld limit.
Changes LIBDEPS edges added in commit 610898a1ccec0afc3d38f7c29f2553d5b6102d30.
Branch: master
https://github.com/mongodb/mongo/commit/ce0b44e69d9b7b6d2ce59db9f16ed9a5ced55d9e

Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-62954 make timeseries_options library dependency private in bucket_unpacker

This reduces the link graph size to stay under the macos dyld limit.
Changes LIBDEPS edges added in commit 610898a1ccec0afc3d38f7c29f2553d5b6102d30.
Branch: master
https://github.com/mongodb/mongo/commit/3014fb25fbe27af46c690627c683f05f367ae3f1

Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-62954 make collection_uuid_mismatch_info library dependency private in db/common

This reduces the link graph size to stay under the macos dyld limit.
Changes LIBDEPS edges added in commit 550cfa96862fd47a6608deaab055f314754deab2.
Branch: master
https://github.com/mongodb/mongo/commit/45cdc4cf9b0deb6b5e791b1482f126c8541e9f11

Comment by Githook User [ 25/Jan/22 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-62954 make cluster_server_parameter private in audit_enterprise

This reduces the link graph size to stay under the macos dyld limit.
Changes LIBDEPS edges added in commit f071aea4728988fad51ff571b4ed8814ff90509f.
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/fdd00b68b8e3ef92980504f11c9b8dda9843416d

Comment by Benety Goh [ 25/Jan/22 ]

We can reduce the libraries in the link graph to get under the macOS dyld limit if we convert some of the LIBDEPS edges from these recent tickets into LIBDEPS_PRIVATE:

Generated at Thu Feb 08 05:56:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.