[SERVER-44323] Investigate ASAN Static initialization order fiasco check Created: 30/Oct/19  Updated: 27/Nov/19  Resolved: 27/Nov/19

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

Type: Bug Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Andrew Morrow (Inactive)
Resolution: Incomplete Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-44290 static order initialization fiasco in... Closed
Operating System: ALL
Sprint: Dev Platform 2019-12-02
Participants:

 Description   

SERVER-44290 fixed a static initialization fiasco order issue that was detected on Windows un-optimized builds. ASAN offers a runtime flag check_initialization_order that did not detect this latent issue.

This ticket represents to work to determine to investigate if this is an issue that ASAN should have caught.



 Comments   
Comment by Andrew Morrow (Inactive) [ 27/Nov/19 ]

I built the parent commit of the fixing commit in SERVER-44299 on a VS2017 spawnhost, which should have allowed a reproduction. However, I do not observe a startup crash when running the built binary.

Since there is not enough information recorded in the associated tickets to know what objects were involved in the observed initialization order fiasco, I'm closing this ticket as incomplete: without knowing what objects were involved we can't make a determination if one of them was a windows-only object, which was my hypothesis for why ASAN couldn't find it.

Comment by Mark Benvenuto [ 27/Nov/19 ]

As I stated in the description of the bug, it is detected on Windows un-optimized builds.

Windows, un-optimized build

buildscripts\scons.py --dbg=on --opt=off

To repro, just start mongod.exe.

Comment by Andrew Morrow (Inactive) [ 22/Nov/19 ]

mark.benvenuto - Do you have any information on what object exhibited the init order fiasco w.r.t. the file scoped static in version.cpp? The original ticket SERVER-44290, the associated code review, and the fixing commit message don't happen to provide that information. Do you have a link to a failing patch build? Reproduction instructions?

Comment by Andrew Morrow (Inactive) [ 22/Nov/19 ]

mark.benvenuto - Do you have any information on what object exhibited the init order fiasco w.r.t. the file scoped static in version.cpp? The original ticket SERVER-44290, the associated code review, and the fixing commit message don't happen to provide that information. Do you have a link to a failing patch build? Reproduction instructions?

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