Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34k
Exclude ceval.c from the C-analyzer tool#102735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
AlexWaygood commented Mar 15, 2023 • edited by miss-islington
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by miss-islington
Uh oh!
There was an error while loading. Please reload this page.
The "check if generated files are up to date" CI check appears to be currently failing on all PRs (but not on pushes to main) See, for example: - python#94468 - python#94468 - python#102731 This appears to be because the C-analyzer tool doesn't like the `#line` directives introduced in python@70185de. I'm advised by the message printed to the terminal in https://github.com/python/cpython/actions/runs/4428706945/jobs/7768216988#step:14:84 that this is the appropriate short-term fix! Cc. @ericsnowcurrently
zware commented Mar 15, 2023
Also need to open an issue to fix the parser :) |
AlexWaygood commented Mar 15, 2023
Done! |
miss-islington commented Mar 15, 2023
@AlexWaygood: Status check is done, and it's a failure or timed out ❌. |
AlexWaygood commented Mar 15, 2023
I'm confused by the |
AlexWaygood commented Mar 15, 2023
Alternatively I could just add |
AlexWaygood commented Mar 15, 2023
(Here's the diff if I run Detailsdiff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py index a2911e030f..57f17c5c59 100644 --- a/Tools/c-analyzer/cpython/_parser.py+++ b/Tools/c-analyzer/cpython/_parser.py@@ -105,25 +105,25 @@ def clean_lines(text): INCL_DIRS = clean_lines(''' # @begin=tsv@ -glob dirname-* .-* ./Include-* ./Include/internal--Modules/_decimal/**/*.c Modules/_decimal/libmpdec-Modules/_elementtree.c Modules/expat-Modules/_hacl/*.c Modules/_hacl/include-Modules/_hacl/*.h Modules/_hacl/include-Modules/md5module.c Modules/_hacl/include-Modules/sha1module.c Modules/_hacl/include-Modules/sha2module.c Modules/_hacl/include-Objects/stringlib/*.h Objects+glob dirname+* .+* ./Include+* ./Include/internal++Modules/_decimal/**/*.c Modules/_decimal/libmpdec+Modules/_elementtree.c Modules/expat+Modules/_hacl/*.c Modules/_hacl/include+Modules/_hacl/*.h Modules/_hacl/include+Modules/md5module.c Modules/_hacl/include+Modules/sha1module.c Modules/_hacl/include+Modules/sha2module.c Modules/_hacl/include+Objects/stringlib/*.h Objects # possible system-installed headers, just in case -Modules/_tkinter.c /usr/include/tcl8.6-Modules/_uuidmodule.c /usr/include/uuid-Modules/nismodule.c /usr/include/tirpc-Modules/tkappinit.c /usr/include/tcl+Modules/_tkinter.c /usr/include/tcl8.6+Modules/_uuidmodule.c /usr/include/uuid+Modules/nismodule.c /usr/include/tirpc+Modules/tkappinit.c /usr/include/tcl # @end=tsv@ ''')[1:] @@ -131,36 +131,36 @@ def clean_lines(text): INCLUDES = clean_lines(''' # @begin=tsv@ -glob include+glob include-**/*.h Python.h-Include/**/*.h object.h+**/*.h Python.h+Include/**/*.h object.h # for Py_HAVE_CONDVAR -Include/internal/pycore_gil.h pycore_condvar.h-Python/thread_pthread.h pycore_condvar.h+Include/internal/pycore_gil.h pycore_condvar.h+Python/thread_pthread.h pycore_condvar.h # other -Objects/stringlib/join.h stringlib/stringdefs.h-Objects/stringlib/ctype.h stringlib/stringdefs.h-Objects/stringlib/transmogrify.h stringlib/stringdefs.h-#Objects/stringlib/fastsearch.h stringlib/stringdefs.h-#Objects/stringlib/count.h stringlib/stringdefs.h-#Objects/stringlib/find.h stringlib/stringdefs.h-#Objects/stringlib/partition.h stringlib/stringdefs.h-#Objects/stringlib/split.h stringlib/stringdefs.h-Objects/stringlib/fastsearch.h stringlib/ucs1lib.h-Objects/stringlib/count.h stringlib/ucs1lib.h-Objects/stringlib/find.h stringlib/ucs1lib.h-Objects/stringlib/partition.h stringlib/ucs1lib.h-Objects/stringlib/split.h stringlib/ucs1lib.h-Objects/stringlib/find_max_char.h Objects/stringlib/ucs1lib.h-Objects/stringlib/count.h Objects/stringlib/fastsearch.h-Objects/stringlib/find.h Objects/stringlib/fastsearch.h-Objects/stringlib/partition.h Objects/stringlib/fastsearch.h-Objects/stringlib/replace.h Objects/stringlib/fastsearch.h-Objects/stringlib/split.h Objects/stringlib/fastsearch.h+Objects/stringlib/join.h stringlib/stringdefs.h+Objects/stringlib/ctype.h stringlib/stringdefs.h+Objects/stringlib/transmogrify.h stringlib/stringdefs.h+#Objects/stringlib/fastsearch.h stringlib/stringdefs.h+#Objects/stringlib/count.h stringlib/stringdefs.h+#Objects/stringlib/find.h stringlib/stringdefs.h+#Objects/stringlib/partition.h stringlib/stringdefs.h+#Objects/stringlib/split.h stringlib/stringdefs.h+Objects/stringlib/fastsearch.h stringlib/ucs1lib.h+Objects/stringlib/count.h stringlib/ucs1lib.h+Objects/stringlib/find.h stringlib/ucs1lib.h+Objects/stringlib/partition.h stringlib/ucs1lib.h+Objects/stringlib/split.h stringlib/ucs1lib.h+Objects/stringlib/find_max_char.h Objects/stringlib/ucs1lib.h+Objects/stringlib/count.h Objects/stringlib/fastsearch.h+Objects/stringlib/find.h Objects/stringlib/fastsearch.h+Objects/stringlib/partition.h Objects/stringlib/fastsearch.h+Objects/stringlib/replace.h Objects/stringlib/fastsearch.h+Objects/stringlib/split.h Objects/stringlib/fastsearch.h # @end=tsv@ ''')[1:] @@ -168,123 +168,123 @@ def clean_lines(text): MACROS = clean_lines(''' # @begin=tsv@ -glob name value--Include/internal/*.h Py_BUILD_CORE 1-Python/**/*.c Py_BUILD_CORE 1-Python/**/*.h Py_BUILD_CORE 1-Parser/**/*.c Py_BUILD_CORE 1-Parser/**/*.h Py_BUILD_CORE 1-Objects/**/*.c Py_BUILD_CORE 1-Objects/**/*.h Py_BUILD_CORE 1--Modules/_asynciomodule.c Py_BUILD_CORE 1-Modules/_codecsmodule.c Py_BUILD_CORE 1-Modules/_collectionsmodule.c Py_BUILD_CORE 1-Modules/_ctypes/_ctypes.c Py_BUILD_CORE 1-Modules/_ctypes/cfield.c Py_BUILD_CORE 1-Modules/_cursesmodule.c Py_BUILD_CORE 1-Modules/_datetimemodule.c Py_BUILD_CORE 1-Modules/_functoolsmodule.c Py_BUILD_CORE 1-Modules/_heapqmodule.c Py_BUILD_CORE 1-Modules/_io/*.c Py_BUILD_CORE 1-Modules/_io/*.h Py_BUILD_CORE 1-Modules/_localemodule.c Py_BUILD_CORE 1-Modules/_operator.c Py_BUILD_CORE 1-Modules/_posixsubprocess.c Py_BUILD_CORE 1-Modules/_sre/sre.c Py_BUILD_CORE 1-Modules/_threadmodule.c Py_BUILD_CORE 1-Modules/_tracemalloc.c Py_BUILD_CORE 1-Modules/_weakref.c Py_BUILD_CORE 1-Modules/_zoneinfo.c Py_BUILD_CORE 1-Modules/atexitmodule.c Py_BUILD_CORE 1-Modules/cmathmodule.c Py_BUILD_CORE 1-Modules/faulthandler.c Py_BUILD_CORE 1-Modules/gcmodule.c Py_BUILD_CORE 1-Modules/getpath.c Py_BUILD_CORE 1-Modules/getpath_noop.c Py_BUILD_CORE 1-Modules/itertoolsmodule.c Py_BUILD_CORE 1-Modules/main.c Py_BUILD_CORE 1-Modules/mathmodule.c Py_BUILD_CORE 1-Modules/posixmodule.c Py_BUILD_CORE 1-Modules/sha256module.c Py_BUILD_CORE 1-Modules/sha512module.c Py_BUILD_CORE 1-Modules/signalmodule.c Py_BUILD_CORE 1-Modules/symtablemodule.c Py_BUILD_CORE 1-Modules/timemodule.c Py_BUILD_CORE 1-Modules/unicodedata.c Py_BUILD_CORE 1--Modules/_json.c Py_BUILD_CORE_BUILTIN 1-Modules/_pickle.c Py_BUILD_CORE_BUILTIN 1-Modules/_testinternalcapi.c Py_BUILD_CORE_BUILTIN 1--Include/cpython/abstract.h Py_CPYTHON_ABSTRACTOBJECT_H 1-Include/cpython/bytearrayobject.h Py_CPYTHON_BYTEARRAYOBJECT_H 1-Include/cpython/bytesobject.h Py_CPYTHON_BYTESOBJECT_H 1-Include/cpython/ceval.h Py_CPYTHON_CEVAL_H 1-Include/cpython/code.h Py_CPYTHON_CODE_H 1-Include/cpython/dictobject.h Py_CPYTHON_DICTOBJECT_H 1-Include/cpython/fileobject.h Py_CPYTHON_FILEOBJECT_H 1-Include/cpython/fileutils.h Py_CPYTHON_FILEUTILS_H 1-Include/cpython/frameobject.h Py_CPYTHON_FRAMEOBJECT_H 1-Include/cpython/import.h Py_CPYTHON_IMPORT_H 1-Include/cpython/listobject.h Py_CPYTHON_LISTOBJECT_H 1-Include/cpython/methodobject.h Py_CPYTHON_METHODOBJECT_H 1-Include/cpython/object.h Py_CPYTHON_OBJECT_H 1-Include/cpython/objimpl.h Py_CPYTHON_OBJIMPL_H 1-Include/cpython/pyerrors.h Py_CPYTHON_ERRORS_H 1-Include/cpython/pylifecycle.h Py_CPYTHON_PYLIFECYCLE_H 1-Include/cpython/pymem.h Py_CPYTHON_PYMEM_H 1-Include/cpython/pystate.h Py_CPYTHON_PYSTATE_H 1-Include/cpython/sysmodule.h Py_CPYTHON_SYSMODULE_H 1-Include/cpython/traceback.h Py_CPYTHON_TRACEBACK_H 1-Include/cpython/tupleobject.h Py_CPYTHON_TUPLEOBJECT_H 1-Include/cpython/unicodeobject.h Py_CPYTHON_UNICODEOBJECT_H 1+glob name value++Include/internal/*.h Py_BUILD_CORE 1+Python/**/*.c Py_BUILD_CORE 1+Python/**/*.h Py_BUILD_CORE 1+Parser/**/*.c Py_BUILD_CORE 1+Parser/**/*.h Py_BUILD_CORE 1+Objects/**/*.c Py_BUILD_CORE 1+Objects/**/*.h Py_BUILD_CORE 1++Modules/_asynciomodule.c Py_BUILD_CORE 1+Modules/_codecsmodule.c Py_BUILD_CORE 1+Modules/_collectionsmodule.c Py_BUILD_CORE 1+Modules/_ctypes/_ctypes.c Py_BUILD_CORE 1+Modules/_ctypes/cfield.c Py_BUILD_CORE 1+Modules/_cursesmodule.c Py_BUILD_CORE 1+Modules/_datetimemodule.c Py_BUILD_CORE 1+Modules/_functoolsmodule.c Py_BUILD_CORE 1+Modules/_heapqmodule.c Py_BUILD_CORE 1+Modules/_io/*.c Py_BUILD_CORE 1+Modules/_io/*.h Py_BUILD_CORE 1+Modules/_localemodule.c Py_BUILD_CORE 1+Modules/_operator.c Py_BUILD_CORE 1+Modules/_posixsubprocess.c Py_BUILD_CORE 1+Modules/_sre/sre.c Py_BUILD_CORE 1+Modules/_threadmodule.c Py_BUILD_CORE 1+Modules/_tracemalloc.c Py_BUILD_CORE 1+Modules/_weakref.c Py_BUILD_CORE 1+Modules/_zoneinfo.c Py_BUILD_CORE 1+Modules/atexitmodule.c Py_BUILD_CORE 1+Modules/cmathmodule.c Py_BUILD_CORE 1+Modules/faulthandler.c Py_BUILD_CORE 1+Modules/gcmodule.c Py_BUILD_CORE 1+Modules/getpath.c Py_BUILD_CORE 1+Modules/getpath_noop.c Py_BUILD_CORE 1+Modules/itertoolsmodule.c Py_BUILD_CORE 1+Modules/main.c Py_BUILD_CORE 1+Modules/mathmodule.c Py_BUILD_CORE 1+Modules/posixmodule.c Py_BUILD_CORE 1+Modules/sha256module.c Py_BUILD_CORE 1+Modules/sha512module.c Py_BUILD_CORE 1+Modules/signalmodule.c Py_BUILD_CORE 1+Modules/symtablemodule.c Py_BUILD_CORE 1+Modules/timemodule.c Py_BUILD_CORE 1+Modules/unicodedata.c Py_BUILD_CORE 1++Modules/_json.c Py_BUILD_CORE_BUILTIN 1+Modules/_pickle.c Py_BUILD_CORE_BUILTIN 1+Modules/_testinternalcapi.c Py_BUILD_CORE_BUILTIN 1++Include/cpython/abstract.h Py_CPYTHON_ABSTRACTOBJECT_H 1+Include/cpython/bytearrayobject.h Py_CPYTHON_BYTEARRAYOBJECT_H 1+Include/cpython/bytesobject.h Py_CPYTHON_BYTESOBJECT_H 1+Include/cpython/ceval.h Py_CPYTHON_CEVAL_H 1+Include/cpython/code.h Py_CPYTHON_CODE_H 1+Include/cpython/dictobject.h Py_CPYTHON_DICTOBJECT_H 1+Include/cpython/fileobject.h Py_CPYTHON_FILEOBJECT_H 1+Include/cpython/fileutils.h Py_CPYTHON_FILEUTILS_H 1+Include/cpython/frameobject.h Py_CPYTHON_FRAMEOBJECT_H 1+Include/cpython/import.h Py_CPYTHON_IMPORT_H 1+Include/cpython/listobject.h Py_CPYTHON_LISTOBJECT_H 1+Include/cpython/methodobject.h Py_CPYTHON_METHODOBJECT_H 1+Include/cpython/object.h Py_CPYTHON_OBJECT_H 1+Include/cpython/objimpl.h Py_CPYTHON_OBJIMPL_H 1+Include/cpython/pyerrors.h Py_CPYTHON_ERRORS_H 1+Include/cpython/pylifecycle.h Py_CPYTHON_PYLIFECYCLE_H 1+Include/cpython/pymem.h Py_CPYTHON_PYMEM_H 1+Include/cpython/pystate.h Py_CPYTHON_PYSTATE_H 1+Include/cpython/sysmodule.h Py_CPYTHON_SYSMODULE_H 1+Include/cpython/traceback.h Py_CPYTHON_TRACEBACK_H 1+Include/cpython/tupleobject.h Py_CPYTHON_TUPLEOBJECT_H 1+Include/cpython/unicodeobject.h Py_CPYTHON_UNICODEOBJECT_H 1 # implied include of <unistd.h> -Include/**/*.h _POSIX_THREADS 1-Include/**/*.h HAVE_PTHREAD_H 1+Include/**/*.h _POSIX_THREADS 1+Include/**/*.h HAVE_PTHREAD_H 1 # from pyconfig.h -Include/cpython/pthread_stubs.h HAVE_PTHREAD_STUBS 1-Python/thread_pthread_stubs.h HAVE_PTHREAD_STUBS 1+Include/cpython/pthread_stubs.h HAVE_PTHREAD_STUBS 1+Python/thread_pthread_stubs.h HAVE_PTHREAD_STUBS 1 # from Objects/bytesobject.c -Objects/stringlib/partition.h STRINGLIB_GET_EMPTY() bytes_get_empty()-Objects/stringlib/join.h STRINGLIB_MUTABLE 0-Objects/stringlib/partition.h STRINGLIB_MUTABLE 0-Objects/stringlib/split.h STRINGLIB_MUTABLE 0-Objects/stringlib/transmogrify.h STRINGLIB_MUTABLE 0+Objects/stringlib/partition.h STRINGLIB_GET_EMPTY() bytes_get_empty()+Objects/stringlib/join.h STRINGLIB_MUTABLE 0+Objects/stringlib/partition.h STRINGLIB_MUTABLE 0+Objects/stringlib/split.h STRINGLIB_MUTABLE 0+Objects/stringlib/transmogrify.h STRINGLIB_MUTABLE 0 # from Makefile -Modules/getpath.c PYTHONPATH 1-Modules/getpath.c PREFIX ...-Modules/getpath.c EXEC_PREFIX ...-Modules/getpath.c VERSION ...-Modules/getpath.c VPATH ...-Modules/getpath.c PLATLIBDIR ...-#Modules/_dbmmodule.c USE_GDBM_COMPAT 1-Modules/_dbmmodule.c USE_NDBM 1-#Modules/_dbmmodule.c USE_BERKDB 1+Modules/getpath.c PYTHONPATH 1+Modules/getpath.c PREFIX ...+Modules/getpath.c EXEC_PREFIX ...+Modules/getpath.c VERSION ...+Modules/getpath.c VPATH ...+Modules/getpath.c PLATLIBDIR ...+#Modules/_dbmmodule.c USE_GDBM_COMPAT 1+Modules/_dbmmodule.c USE_NDBM 1+#Modules/_dbmmodule.c USE_BERKDB 1 # See: setup.py -Modules/_decimal/**/*.c CONFIG_64 1-Modules/_decimal/**/*.c ASM 1-Modules/expat/xmlparse.c HAVE_EXPAT_CONFIG_H 1-Modules/expat/xmlparse.c XML_POOR_ENTROPY 1-Modules/_dbmmodule.c HAVE_GDBM_DASH_NDBM_H 1+Modules/_decimal/**/*.c CONFIG_64 1+Modules/_decimal/**/*.c ASM 1+Modules/expat/xmlparse.c HAVE_EXPAT_CONFIG_H 1+Modules/expat/xmlparse.c XML_POOR_ENTROPY 1+Modules/_dbmmodule.c HAVE_GDBM_DASH_NDBM_H 1 # from Modules/_sha3/sha3module.c -Modules/_sha3/kcp/KeccakP-1600-inplace32BI.c PLATFORM_BYTE_ORDER 4321 # force big-endian-Modules/_sha3/kcp/*.c KeccakOpt 64-Modules/_sha3/kcp/*.c KeccakP200_excluded 1-Modules/_sha3/kcp/*.c KeccakP400_excluded 1-Modules/_sha3/kcp/*.c KeccakP800_excluded 1+Modules/_sha3/kcp/KeccakP-1600-inplace32BI.c PLATFORM_BYTE_ORDER 4321 # force big-endian+Modules/_sha3/kcp/*.c KeccakOpt 64+Modules/_sha3/kcp/*.c KeccakP200_excluded 1+Modules/_sha3/kcp/*.c KeccakP400_excluded 1+Modules/_sha3/kcp/*.c KeccakP800_excluded 1 # others -Modules/_sre/sre_lib.h LOCAL(type) static inline type-Modules/_sre/sre_lib.h SRE(F) sre_ucs2_##F-Objects/stringlib/codecs.h STRINGLIB_IS_UNICODE 1+Modules/_sre/sre_lib.h LOCAL(type) static inline type+Modules/_sre/sre_lib.h SRE(F) sre_ucs2_##F+Objects/stringlib/codecs.h STRINGLIB_IS_UNICODE 1 # @end=tsv@ ''')[1:] |
zware commented Mar 15, 2023 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Merging manually will also give you the chance to clean up the commit message; @miss-islington's automerge uses the PR description, which is a bit much for a commit message in this case. |
AlexWaygood commented Mar 15, 2023 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
It's weird to me that it only checks PRs, and doesn't run on pushes to |
AlexWaygood commented Mar 15, 2023
Whoops, didn't see that until too late. I edited it a bit before merging, but it's probably still too verbose for your tastes, I guess -- sorry about that! |
zware commented Mar 15, 2023
It's patchcheck for a reason ;). It also predates GitHub and the PR workflow by several years, and hasn't seen much change since that switch.
No problem; I edited it in and didn't get the edit done before the merge. Just something to keep in mind when using |
ericsnowcurrently commented Mar 16, 2023
Thanks for taking care of this @AlexWaygood. I'll get things sorted out as soon as I can. |
ericsnowcurrently commented Mar 16, 2023
@AlexWaygood, regarding the patchcheck failure, please see gh-92266. |
The "check if generated files are up to date" CI check appears to be currently failing on all PRs (but not on pushes to main) See, for example: - python#94468 - python#94468 - python#102731 This appears to be because the C-analyzer tool doesn't like the `#line` directives introduced in python@70185de. I'm advised by the message printed to the terminal in https://github.com/python/cpython/actions/runs/4428706945/jobs/7768216988#step:14:84 that this is the appropriate short-term fix!
The "check if generated files are up to date" CI check appears to be currently failing on all PRs (but not on pushes to main) See, for example: - python#94468 - python#94468 - python#102731 This appears to be because the C-analyzer tool doesn't like the `#line` directives introduced in python@70185de. I'm advised by the message printed to the terminal in https://github.com/python/cpython/actions/runs/4428706945/jobs/7768216988#step:14:84 that this is the appropriate short-term fix!
The "check if generated files are up to date" CI check appears to be currently failing on all PRs (but not on pushes to main)
See, for example:
This appears to be because the C-analyzer tool doesn't like the
#linedirectives introduced in 70185de. I'm advised by the message printed to the terminal in https://github.com/python/cpython/actions/runs/4428706945/jobs/7768216988#step:14:84 that this is the appropriate short-term fix!Cc. @ericsnowcurrently
Automerge-Triggered-By: GH:AlexWaygood