Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-57499

Unable to build with ASAN using gcc

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Development Platform
    • ALL

      Following the instructions here, I attempted to build the server with the address/leak sanitizers using gcc with the following invocation:

      ./buildscripts/scons.py --modules= --dbg=off --opt=on --link-model=dynamic --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --allocator=system --sanitize=address
      

      And got the following error from SCONS:

      Checking if C compiler supports -fsanitize=address... yes
      KeyError: 'LLVM_SYMBOLIZER':
        File "/home/ubuntu/mongo/SConstruct", line 4544:
          env = doConfigure( env )
        File "/home/ubuntu/mongo/SConstruct", line 3618:
          if env['LLVM_SYMBOLIZER']:
        File "/home/ubuntu/mongo/src/third_party/scons-3.1.2/scons-local-3.1.2/SCons/Environment.py", line 405:
          return self._dict[key]
      

      This issue persisted after trying to set a shell env var for LLVM_SYMBOLIZER:

      export LLVM_SYMBOLIZER='/opt/mongodbtoolchain/v3/bin/llvm-symbolizer'
      

      Ultimately I got around this by building with ASAN using Clang (thanks acm!), using an identical SCONS invocation to the one above except with the Clang variables instead of the GCC ones. But there appears to be an issue with building with ASAN and gcc.

            Assignee:
            backlog-server-devplatform [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
            Reporter:
            george.wangensteen@mongodb.com George Wangensteen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: