hey <@UB2J9BQA0> starting from <https://github.com...
# general
w
hey @hundreds-father-404 starting from https://github.com/pantsbuild/pants/commit/6a81a2d74ae38d60fd836bddb144acaf8419ac05, I start to get:
Copy code
[tw-mbp-yic pants ((6a81a2d...))]$ ./pants goals
Scrubbed PYTHONPATH=/Users/yic/workspace/pants/src/python: from the environment.
timestamp: 2020-03-07T23:55:25.870643
Exception caught: (builtins.TypeError)
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_loader.py", line 98, in <module>
    main()
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_loader.py", line 94, in main
    PantsLoader.run()
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_loader.py", line 90, in run
    cls.load_and_execute(entrypoint)
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_loader.py", line 83, in load_and_execute
    entrypoint_main()
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_exe.py", line 32, in main
    PantsRunner(start_time=start_time).run()
  File "/Users/yic/workspace/pants/src/python/pants/bin/pants_runner.py", line 77, in run
    options_bootstrapper = OptionsBootstrapper.create(env=self._env, args=self._args)
  File "/Users/yic/workspace/pants/src/python/pants/option/options_bootstrapper.py", line 170, in create
    initial_bootstrap_options = cls.parse_bootstrap_options(env, bargs, pre_bootstrap_config)
  File "/Users/yic/workspace/pants/src/python/pants/option/options_bootstrapper.py", line 101, in parse_bootstrap_options
    env=env, config=config, known_scope_infos=[GlobalOptions.get_scope_info()], args=args,
  File "/Users/yic/workspace/pants/src/python/pants/option/options.py", line 127, in create
    complete_known_scope_infos = cls.complete_scopes(known_scope_infos)
  File "/Users/yic/workspace/pants/src/python/pants/option/options.py", line 101, in complete_scopes
    for si in copy.copy(ret):
  File "/Users/yic/workspace/pants/build-support/virtualenvs/Darwin/pants_dev_deps.py36.venv/lib/python3.6/copy.py", line 88, in copy
    return copier(x)

Exception message: __copy__() takes 1 positional argument but 2 were given
Any quick fix?
h
Huh..how did you trigger this?
w
just via
./pants goals
, let me see if that’s still the case after a git clean -fdx
yeah same.
h
Is this in upstream Pants or Source? I’ve been able to run things fine for the past few days and CI has been fine, so I’m trying to figure out why this would be failing for you
w
yes. looks like it’s a difference between 3.6 and 3.7
I put 3.7 on PATH ahead of 3.6, and it works now
h
Huh, weird. I use 3.6 locally and we use 3.6 in CI
w
strange indeed. I can see how it performs on docker later. thanks for looking!
h
Okay, thank you. Iirc we have unit tests to ensure that ordered sets work properly with copy(), so I’m fishing for why this might be happening
w
ok it worked after upgrading python 3.6 from 3.6.1 to 3.6.8,
h
Oh awesome, glad that fixed it!
f
might it be worth documenting in an issue in case someone else hits it and googles?
w
might be easier to add an assertion for python version >=3.6.8? or whatever the minimal version is
f
that sounds good to me!
h
That seems a little wrong to me to stick that check into our codebase and run it every single time someone runs Pants, especially because 3.6.1 is so outdated. I think an issue would make more sense, but won’t block of course
w
checked with our internal prod version python 3.6.4, it works fine. so yeah, not blocking
👍 1