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

The --cache-disable flag results in a python stacktrace

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0, 5.0.6, 5.1.1
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v5.1, v5.0
    • Dev Platform 2021-11-15

      It is handy sometimes to be able to run patch builds that don't use the shared SCons cache, for instance to A/B test the performance impact of a compiler option or a toolchain change.

      The easiest way to do this is to build with evergreen patch -param patch_compile_flags=-cache-disable .... Unfortunately, this appears to be broken right now, probably due to our cachedir customizations.

      The stack trace looks like:

      [2021/11/03 01:25:33.555] scons: *** [build\cached\mongo\config.h] TypeError : stat: path should be string, bytes, os.PathLike or integer, not NoneType
       [2021/11/03 01:25:33.563] Traceback (most recent call last):
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\src\third_party\scons-3.1.2\scons-local-3.1.2\SCons\Taskmaster.py", line 241, in execute
       [2021/11/03 01:25:33.563]     if not t.retrieve_from_cache():
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\src\third_party\scons-3.1.2\scons-local-3.1.2\SCons\Node\FS.py", line 2982, in retrieve_from_cache
       [2021/11/03 01:25:33.563]     return self.get_build_env().get_CacheDir().retrieve(self)
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\site_scons\site_tools\validate_cache_dir.py", line 156, in retrieve
       [2021/11/03 01:25:33.563]     self.log_json_cachedebug(node)
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\site_scons\site_tools\validate_cache_dir.py", line 147, in log_json_cachedebug
       [2021/11/03 01:25:33.563]     cachefile = self.get_file_contents_path(self.cachepath(node)[1])
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\site_scons\site_tools\validate_cache_dir.py", line 251, in cachepath
       [2021/11/03 01:25:33.563]     if node.fs.exists(path):
       [2021/11/03 01:25:33.563]   File "C:\data\mci\1faeba6a1bb6900b70a75ba67427a04e\src\src\third_party\scons-3.1.2\scons-local-3.1.2\SCons\Node\FS.py", line 1101, in exists
       [2021/11/03 01:25:33.563]     return os.path.exists(path)
       [2021/11/03 01:25:33.563]   File "C:\python\python37\lib\genericpath.py", line 19, in exists
       [2021/11/03 01:25:33.563]     os.stat(path)
       [2021/11/03 01:25:33.563] TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
       [2021/11/03 01:25:33.564] scons: *** [build\cached\mongo\base\error_codes.h] TypeError : stat: path should be string, bytes, os.PathLike or integer, not NoneType
      

            Assignee:
            daniel.moody@mongodb.com Daniel Moody
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: