GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — bpo-40334: PEP 617: New PEG parser for CPython by pablogsal · Pull Request #19503 · python/cpython

Conversation

@pablogsal

@pablogsal pablogsal commented Apr 13, 2020 •
edited by gvanrossum
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

The SC has approved PEP 617 so we'd like to land before alpha 6 goes out. We need reviews NOW.

https://bugs.python.org/issue40334

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
pablogsal and others added 30 commits March 18, 2020 09:54
@pablogsal @gvanrossum
Run CI in pegen branch as well (#3)
57f78dd
@gvanrossum
Merge steps 1-3 and 6 into 'pegen' branch (#8)
5c0c31f
- The pegen parser generator and its tests are in Tools/peg_generator. This is mostly copied from the https://github.com/gvanrossum/pegen repo, with some adaptations. This is still targeting 3.8.
- The new grammar (adapted to Python 3.9) is in Grammar/python.gram.
- There's a new builtin module peg_parser, configured in Setup.
- There's a new Make target regen-pegen which runs the parser generator with output directed to Modules/peg_parser/parse.c.

There's some code duplication between Tools/peg_generator and Modules/peg_parser, due to the 3.8/3.9 split and some tweaks needed to link with the core. Eventually this probably should go away.
@lysnikolaou
Fall back to a set for done in collect_todo (#9)
eab06f3
@lysnikolaou
Add Github Actions for pegen tests in Tools/peg_generator (#12)
91427a4
@lysnikolaou
Allow expressions in yield_expression rule and rename it to annotated…
cccfd3d
…_rhs (#13)
@gvanrossum
Copy .clang-format from pegen project, to guide 'make format-c'
51611b4
@lysnikolaou @pablogsal
Expose a C API and a Python-level module for pegen (#11)
0c7a382
* Use trailer meta for a function that calls the start rule
* Expose four C API functions that return either a mod_ty or a PyCodeObject *
* Expose two Python-level functions that return an AST object
* Extension module and C API does not get generated, but is hand-written
* Rewrite of run_parser* functions

Co-authored-by: Pablo Galindo <[email protected]>
@gvanrossum
Run clang-format over peg_parser/pegen.c
0cffa81
@gvanrossum
Run clang-format over Parser/pegen/pegen.c
e960c15
@gvanrossum
Run clang-format over Modules/peg_parser.c
89c2385
@gvanrossum
Ifdef-out token_name() to silence compiler output noise warning
1d2b107
@gvanrossum
Merge branch 'master' into pegen
12f6175
@lysnikolaou
Make Ubuntu tests pass; disable Win and Mac tests (#19)
59abf20
@lysnikolaou
Rewrite run_parser* functions to always return a mod_ty (#17)
14ae717
* The caller is responsible for transforming the mod_ty a code or an AST object
* The C API functions don't expect the filename and the arena (where possible) objects as an
   argument, but construct them themselves
@lysnikolaou
Rewrite exported function (#21)
bfa7445
* Rewrite exported function:
    * It now initializes the keywords field so that the keywords variable can be static
    * It also accepts an argument, in order to be able to run the parser with different start rules
* Use the newly created function in fstring_compile_expr
@lysnikolaou
Merge remote-tracking branch 'upstream/master' into pegen
4c4917b
@lysnikolaou
Remove all unnecessary code from Tools/peg_generator; only keep the g…
479bd95
…enerator itself (#23)

* Remove C code from Tools/peg_generator/peg_parser and rely on Parser/pegen
* Move all tests to Lib/test/test_peg_generator/*
* Disable pegen tests on Github Actions
@pablogsal
Support for PEP 614 (#24)
4410737
@lysnikolaou
Re-enable MacOS test on Github Actions (#26)
b984cad
@gvanrossum
Add memoization control (#28)
919a669
This is a straightforward port of we-like-parsers/pegen_experiments#236 .

In addition, slightly touched up .gitignore, Makefile (black), mypy.ini.
@gvanrossum
Fold long lines in metagrammar
55101cb
@lysnikolaou
Update Parser/pegen/parse.c after addition of memoization flag (#28)
ca3eeca
@lysnikolaou
Add a command-line flag and an environment variable to enable pegen (#29
33b77af
)
@lysnikolaou
Add missing possible start rules in python.gram (#32)
3aa1dd4
* Remove start rule and add file, interactive, eval and fstring rules
* Accept a mode parameter in C API functions
@pablogsal
Merge remote-tracking branch 'upstream/master' into pegen
b8ce9a1
@pablogsal
Update grammar to account for _Py_keyword changes (#40)
f3d8888
@pablogsal
Merge remote-tracking branch 'upstream/master' into pegen
242114a
@lysnikolaou
Add new C API functions PyPegen_*FromFileObject and use them in inter…
35bedc2
…active mode (#38)

* Refactor raise_syntax_error to correctly handle interactive mode
* Correctly handle Ctrl-D in interactive mode
@pablogsal
Memoize some rules to avoid exponential time in deep nesting (#39)
74736fe
Additionally, fix the script to calculate the nesting level using the generated extension.
@lysnikolaou @pablogsal
Run tests with pegen enabled on CI (#41)
4bc4e7c
* Fix audit tests
* Try to fallback to get_error_line if we cannot get the error line using PyErr_ProgramTextObject
* Add -E flag to run_tests.py only if PYTHONPARSER is not set

Co-authored-by: Pablo Galindo <[email protected]>
@python python deleted a comment from bedevere-bot Apr 22, 2020
@python python deleted a comment from bedevere-bot Apr 22, 2020
@python python deleted a comment from bedevere-bot Apr 22, 2020
@python python deleted a comment from bedevere-bot Apr 22, 2020
@pablogsal

pablogsal commented Apr 22, 2020

Copy link
Copy Markdown
Member Author

Fixing the buildbots here: #19666

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot

bedevere-bot commented Apr 22, 2020

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot PPC64 Fedora 3.x has failed when building commit c5fc156.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/8/builds/792) and take a look at the build logs.
  4. Check if the failure is related to this commit (c5fc156) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/8/builds/792

Failed tests:

  • test_peg_generator

Failed subtests:

  • test_gather_action_ast - test.test_peg_generator.test_c_parser.TestCParser
  • test_ternary_operator - test.test_peg_generator.test_c_parser.TestCParser
  • test_lookahead - test.test_peg_generator.test_c_parser.TestCParser
  • test_advanced_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_gather - test.test_peg_generator.test_c_parser.TestCParser
  • test_error_in_rules - test.test_peg_generator.test_c_parser.TestCParser
  • test_nasty_mutually_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_same_name_different_types - test.test_peg_generator.test_c_parser.TestCParser
  • test_syntax_error_for_string - test.test_peg_generator.test_c_parser.TestCParser
  • test_pass_stmt_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_c_parser - test.test_peg_generator.test_c_parser.TestCParser
  • test_left_recursion - test.test_peg_generator.test_c_parser.TestCParser
  • test_negative_lookahead - test.test_peg_generator.test_c_parser.TestCParser
  • test_return_stmt_noexpr_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_if_stmt_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_cut - test.test_peg_generator.test_c_parser.TestCParser
  • test_mutually_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_with_stmt_with_paren - test.test_peg_generator.test_c_parser.TestCParser

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

409 tests OK.

10 slowest tests:

  • test_concurrent_futures: 2 min 49 sec
  • test_tokenize: 2 min 42 sec
  • test_multiprocessing_spawn: 2 min 40 sec
  • test_unparse: 2 min 31 sec
  • test_capi: 2 min 14 sec
  • test_lib2to3: 1 min 42 sec
  • test_multiprocessing_forkserver: 1 min 32 sec
  • test_unicodedata: 1 min 24 sec
  • test_asyncio: 1 min 22 sec
  • test_multiprocessing_fork: 1 min 13 sec

1 test failed:
test_peg_generator

13 tests skipped:
test_devpoll test_ioctl test_kqueue test_msilib test_ossaudiodev
test_startfile test_tix test_tk test_ttk_guionly test_winconsoleio
test_winreg test_winsound test_zipfile64

1 re-run test:
test_peg_generator

Total duration: 22 min 59 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 117, in _compile
    self.spawn(compiler_so + cc_args + [src, '-o', obj] +
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/spawn.py", line 81, in spawn
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 81, in test_c_parser
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 138, in test_gather
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 164, in test_mutually_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 194, in test_gather_action_ast
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 290, in test_ternary_operator
    self.verify_ast_generation(grammar_source, stmt, self.tmp_path)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 299, in test_syntax_error_for_string
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 230, in test_if_stmt_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 155, in test_advanced_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 107, in test_lookahead
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 186, in test_return_stmt_noexpr_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 206, in test_pass_stmt_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 330, in test_error_in_rules
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 129, in test_cut
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 147, in test_left_recursion
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 116, in test_negative_lookahead
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 245, in test_same_name_different_types
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 270, in test_with_stmt_with_paren
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 174, in test_nasty_mutually_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/shager/cpython-buildarea/3.x.edelsohn-fedora-ppc64/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bedevere-bot

bedevere-bot commented Apr 22, 2020

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 RHEL7 LTO 3.x has failed when building commit c5fc156.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/103/builds/676) and take a look at the build logs.
  4. Check if the failure is related to this commit (c5fc156) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/103/builds/676

Failed tests:

  • test_peg_generator

Failed subtests:

  • test_gather_action_ast - test.test_peg_generator.test_c_parser.TestCParser
  • test_ternary_operator - test.test_peg_generator.test_c_parser.TestCParser
  • test_lookahead - test.test_peg_generator.test_c_parser.TestCParser
  • test_advanced_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_gather - test.test_peg_generator.test_c_parser.TestCParser
  • test_error_in_rules - test.test_peg_generator.test_c_parser.TestCParser
  • test_nasty_mutually_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_same_name_different_types - test.test_peg_generator.test_c_parser.TestCParser
  • test_syntax_error_for_string - test.test_peg_generator.test_c_parser.TestCParser
  • test_pass_stmt_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_c_parser - test.test_peg_generator.test_c_parser.TestCParser
  • test_left_recursion - test.test_peg_generator.test_c_parser.TestCParser
  • test_negative_lookahead - test.test_peg_generator.test_c_parser.TestCParser
  • test_return_stmt_noexpr_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_if_stmt_action - test.test_peg_generator.test_c_parser.TestCParser
  • test_cut - test.test_peg_generator.test_c_parser.TestCParser
  • test_mutually_left_recursive - test.test_peg_generator.test_c_parser.TestCParser
  • test_with_stmt_with_paren - test.test_peg_generator.test_c_parser.TestCParser

Summary of the results of the build (if available):

== Tests result: FAILURE then FAILURE ==

408 tests OK.

10 slowest tests:

  • test_concurrent_futures: 2 min 49 sec
  • test_multiprocessing_spawn: 2 min 37 sec
  • test_mailbox: 2 min 14 sec
  • test_tokenize: 1 min 50 sec
  • test_lib2to3: 1 min 33 sec
  • test_largefile: 1 min 31 sec
  • test_multiprocessing_forkserver: 1 min 28 sec
  • test_sqlite: 1 min 27 sec
  • test_unparse: 1 min 21 sec
  • test_asyncio: 1 min 20 sec

1 test failed:
test_peg_generator

14 tests skipped:
test_devpoll test_gdb test_ioctl test_kqueue test_msilib
test_ossaudiodev test_startfile test_tix test_tk test_ttk_guionly
test_winconsoleio test_winreg test_winsound test_zipfile64

1 re-run test:
test_peg_generator

Total duration: 6 min 1 sec

Click to see traceback logs
Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 174, in test_nasty_mutually_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 155, in test_advanced_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 245, in test_same_name_different_types
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 270, in test_with_stmt_with_paren
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 230, in test_if_stmt_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 138, in test_gather
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 299, in test_syntax_error_for_string
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 194, in test_gather_action_ast
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 147, in test_left_recursion
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 164, in test_mutually_left_recursive
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 330, in test_error_in_rules
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 206, in test_pass_stmt_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 129, in test_cut
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 116, in test_negative_lookahead
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 107, in test_lookahead
    self.check_input_strings_for_grammar(grammar, self.tmp_path, valid_cases, invalid_cases)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 40, in check_input_strings_for_grammar
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 117, in _compile
    self.spawn(compiler_so + cc_args + [src, '-o', obj] +
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/spawn.py", line 81, in spawn
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 290, in test_ternary_operator
    self.verify_ast_generation(grammar_source, stmt, self.tmp_path)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 186, in test_return_stmt_noexpr_action
    self.verify_ast_generation(grammar, stmt, self.tmp_path)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 53, in verify_ast_generation
    extension = generate_parser_c_extension(grammar, Path(tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1


Traceback (most recent call last):
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/test/test_peg_generator/test_c_parser.py", line 81, in test_c_parser
    extension = generate_parser_c_extension(grammar, Path(self.tmp_path))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/testutil.py", line 95, in generate_parser_c_extension
    extension_path = compile_c_extension(str(source), build_dir=str(path / "build"))
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Tools/peg_generator/pegen/build.py", line 73, in compile_c_extension
    cmd.run()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/command/build_ext.py", line 529, in build_extension
    objects = self.compiler.compile(sources,
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/home/buildbot/buildarea/3.x.cstratak-RHEL7-x86_64.lto/build/Lib/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command '/usr/bin/gcc' failed with exit code 1
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@vstinner

vstinner commented Apr 22, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Ladies and gentlemen, the future is now! tada snake

Let me see how many buildbot workers you can break with a single commit :-D

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal

pablogsal commented Apr 22, 2020 •
edited by vstinner
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

Let me see how many buildbot workers you can break with a single commit :-D

05onfire1_xp-articleLarge-v2

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asottile

asottile commented Apr 24, 2020

Copy link
Copy Markdown
Contributor

(not to be a downer but) this is breaking pyflakes's testsuite pretty hard on the SyntaxError tests -- many of which appear to have columns which are out of bounds: PyCQA/pyflakes#532

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gvanrossum

gvanrossum commented Apr 25, 2020

Copy link
Copy Markdown
Member

Thanks for the heads up! We'll look into this once alpha6 is out (expected Monday).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lysnikolaou
lysnikolaou deleted the pegen branch May 11, 2020 23:52
@lysnikolaou
lysnikolaou restored the pegen branch May 25, 2020 21:16
@davidhalter

davidhalter commented Aug 7, 2020

Copy link
Copy Markdown

It seems like this PR has introduced the syntax:

    with (open('a') as f1,
        open('b') as f2):
        ...

Since PEP 617 clearly states that "no new Python Grammar addition will be added that requires the PEG parser", I wonder whether this change was intentional? If it is I guess we would have to modify PEP 617.

IMO I would strongly prefer having a grace period for third party parsers (like parso), so they can catch up. Since this change is very minor it might not look like "new grammar", but it clearly is, since an LL parser cannot parse this.

To be honest I'm just a big afraid of people complaining that parso doesn't support the latest Python syntax.

PS: I'm also interested in other potential changes to the grammar, since I have never seen this communicated anywhere.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gvanrossum

gvanrossum commented Aug 7, 2020

Copy link
Copy Markdown
Member

It's an easter egg. In 3.9 people are not supposed to write this and you can point out that it's undocumented. In 3.10 we will come clean.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@davidhalter

davidhalter commented Aug 7, 2020

Copy link
Copy Markdown

Ok, thanks for clarifying. Will link to this comment in case people start complaining :).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asmeurer

asmeurer commented Aug 7, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

If this is actually unsupported, it should be documented as unsupported. @davidhalter brings up a good point about other Python parsers. As nice as this new syntax is, it would probably be better if it were held until 3.10. It's also very odd that setting PYTHONOLDPARSER=1 disables this syntax. The documentation for it doesn't really specify, but it seems implied that in 3.9 -X oldparser or PYTHONOLDPARSER=1 shouldn't change the behavior of Python. PEP 617 says "no new Python Grammar addition will be added that requires the PEG parser" is in, in bold no less.

I don't really see how this can be be an "easter egg". People are going to write this, because it's a natural thing to write (and it's good that it will indeed be supported by the new PEG parser). Then they will run into problems with tools that use other parsing libraries like parso, or if anyone sets PYTHONOLDPARSER=1.

asottile reacted with confused emoji
All reactions
  • 😕 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gvanrossum

gvanrossum commented Aug 7, 2020

Copy link
Copy Markdown
Member

I offered to take it out but @ambv wanted it.

But if tools reject it, that's no different than tools rejecting other things that happen to work but are bad style, right?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal

pablogsal commented Aug 7, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

The documentation for it doesn't really specify, but it seems implied that in 3.9 -X oldparser or PYTHONOLDPARSER=1 shouldn't change the behavior of Python.

It does not change the documented behaviour of Python.

I don't really see how this can be be an "easter egg". People are going to write this, because it's a natural thing to write (and it's good that it will indeed be supported by the new PEG parser). Then they will run into problems with tools that use other parsing libraries like parso, or if anyone sets PYTHONOLDPARSER=1.

I do not agree with your view: the feature is not documented and therefore should not be relied upon (but there is no need to remove the easter egg because of that). Is sort of the same as when we made ordered dictionaries: it was considered an implementation detail and users should not rely on it (until we made it official). But without entering into a discussion about this, there is the much more important fact that we are going to release the first release candidate on Monday and removing this will be too risky for the stability of the release. The release manager is aware of this and it was ok with us maintaining it (#19704).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asmeurer

asmeurer commented Aug 8, 2020

Copy link
Copy Markdown

But if tools reject it, that's no different than tools rejecting other things that happen to work but are bad style, right?

Wait, so using parentheses in with statements is bad style? Why was it even added if you think this?

I do not agree with your view: the feature is not documented and therefore should not be relied upon (but there is no need to remove the easter egg because of that)

Something not being documented is not the same as being an easter egg. Easter eggs are supposed to be fun features that may or may not be documented, and don't actually affect real world usage of Python. import this is an example of an Easter egg. Parentheses in with statements is something that people will use, because it's a natural way to write things (most people are surprised when it doesn't work). Very few people realize that it doesn't actually work pre-3.9 or why.

Is sort of the same as when we made ordered dictionaries: it was considered an implementation detail and users should not rely on it (until we made it official).

I recall the dictionary thing being well documented and highly discussed. It feels like you are trying to slip this in without anyone noticing. I can't really understand the motivation for that. But it should be quite clear that once this syntax works, people will use it.

But without entering into a discussion about this, there is the much more important fact that we are going to release the first release candidate on Monday and removing this will be too risky for the stability of the release. The release manager is aware of this and it was ok with us maintaining it (#19704).

If it affects compatibility in a negative way, it should be removed. If you can't make changes to a release before the release date, why not just do the final release now?

If this isn't going to be removed, it should at least be documented and mentioned in the what's new section, and the incorrect bolded statement in the PEP should be updated. Not actually doing what it says it it does and calling it an "easter egg" is a lame cop out and rather insulting to people who actually try to maintain libraries that match the semantics of the Python parser.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal

pablogsal commented Aug 8, 2020

Copy link
Copy Markdown
Member Author

Unfortunately, I am not interested in starting a discussion on this topic

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asmeurer

asmeurer commented Aug 8, 2020

Copy link
Copy Markdown

@pablogsal if you don't want to participate in the discussion that is fine. No one asked you to. I hope you aren't suggesting that there shouldn't be a discussion at all. I don't think that's something that you have or should have the right to do. Who makes final decisions about new syntax features in Python? The steering council, or someone else?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@gvanrossum

gvanrossum commented Aug 8, 2020

Copy link
Copy Markdown
Member

A better place to have a discussion would be bpo.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@pablogsal

pablogsal commented Aug 8, 2020

Copy link
Copy Markdown
Member Author

@pablogsal if you don't want to participate in the discussion that is fine. No one asked you to. I hope you aren't suggesting that there shouldn't be a discussion at all. I don't think that's something that you have or should have the right to do.

I will clarify my words: I am just indicating that I am not interested in starting a discussion on this, but of course, you are free to do whatever you think necessary.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asmeurer

asmeurer commented Aug 8, 2020

Copy link
Copy Markdown

@gvanrossum that's fair. Discussions like this shouldn't happen on closed PRs. I opened https://bugs.python.org/issue41506. I don't know how to use the nozy feature on bpo so anyone please nozy yourself if you are interested.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@asmeurer

asmeurer commented Aug 8, 2020 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Also I should note I didn't want to summarize other people's opinions so please restate them on the bpo if you want it to be heard.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@vstinner vstinner vstinner left review comments
@gvanrossum gvanrossum gvanrossum left review comments
@tirkarthi tirkarthi tirkarthi left review comments
@lysnikolaou lysnikolaou lysnikolaou left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

10 participants

@pablogsal @vstinner @gvanrossum @lysnikolaou @bedevere-bot @asottile @davidhalter @asmeurer @tirkarthi @the-knights-who-say-ni
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.