Skip to content

Conversation

@corona10
Copy link
Member

@corona10corona10 commented Mar 2, 2024

@corona10corona10 requested a review from colesburyMarch 5, 2024 00:22
@corona10corona10 changed the title gh-112087: Make list_{slice, ass_slice, subscript} to be threadsafe[WIP] gh-112087: Make list_{slice, ass_slice, subscript} to be threadsafeMar 5, 2024
@corona10
Copy link
MemberAuthor

corona10 commented Mar 5, 2024

test_list_getslice (test.test_capi.test_list.CAPITest.test_list_getslice) ... Fatal Python error: Segmentation fault 

hmm I will take a look, it actually callis PyList_GetSlice()

@corona10
Copy link
MemberAuthor

Okay, I found my mistake.. let me fix.

@corona10corona10 changed the title [WIP] gh-112087: Make list_{slice, ass_slice, subscript} to be threadsafegh-112087: Make list_{slice, ass_slice, subscript} to be threadsafeMar 5, 2024
@corona10
Copy link
MemberAuthor

@colesbury Ready to be reviewed :)

@corona10corona10 requested a review from colesburyMarch 5, 2024 04:14
Copy link
Contributor

@colesburycolesbury left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I think it might be worth adding the x = []; x[:] = x test case to list_tests.py

@corona10
Copy link
MemberAuthor

LGTM, but I think it might be worth adding the x = []; x[:] = x test case to list_tests.py

Ah, I missed it

@corona10corona10 enabled auto-merge (squash) March 5, 2024 04:42
@corona10corona10 merged commit 6cddc73 into python:mainMar 5, 2024
@bedevere-bot
Copy link

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

Hi! The buildbot AMD64 Debian PGO 3.x has failed when building commit 6cddc73.

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/249/builds/7937) and take a look at the build logs.
  4. Check if the failure is related to this commit (6cddc73) 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/249/builds/7937

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

==

Click to see traceback logs
remote: Enumerating objects: 13, done. remote: Counting objects: 7% (1/13) remote: Counting objects: 15% (2/13) remote: Counting objects: 23% (3/13) remote: Counting objects: 30% (4/13) remote: Counting objects: 38% (5/13) remote: Counting objects: 46% (6/13) remote: Counting objects: 53% (7/13) remote: Counting objects: 61% (8/13) remote: Counting objects: 69% (9/13) remote: Counting objects: 76% (10/13) remote: Counting objects: 84% (11/13) remote: Counting objects: 92% (12/13) remote: Counting objects: 100% (13/13) remote: Counting objects: 100% (13/13), done. remote: Compressing objects: 16% (1/6) remote: Compressing objects: 33% (2/6) remote: Compressing objects: 50% (3/6) remote: Compressing objects: 66% (4/6) remote: Compressing objects: 83% (5/6) remote: Compressing objects: 100% (6/6) remote: Compressing objects: 100% (6/6), done. remote: Total 7 (delta 6), reused 1 (delta 1), pack-reused 0  From https://github.com/python/cpython * branch main -> FETCH_HEAD Note: switching to '6cddc731fb59edb66b64b7a8dbd9e281309a8384'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c <new-branch-name> Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 6cddc731fb5 gh-112087: Make list_{slice, ass_slice, subscript} to be threadsafe (gh-116233) Switched to and reset branch 'main' find: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directoryfind: ‘build’: No such file or directorymake[2]: [Makefile:2996: clean-retain-profile] Error 1 (ignored)./Modules/readline.c: In function ‘setup_readline’: ./Modules/readline.c:1305:21: warning: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const char *, int)’ [-Wincompatible-pointer-types] 1305 | rl_startup_hook = on_startup_hook; |^ ./Modules/readline.c:1307:23: warning: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const char *, int)’ [-Wincompatible-pointer-types] 1307 | rl_pre_input_hook = on_pre_input_hook; |^ In function ‘word_to_string’, inlined from ‘coeff_to_string’ at ./Modules/_decimal/libmpdec/io.c:411:13, inlined from ‘_mpd_to_string’ at ./Modules/_decimal/libmpdec/io.c:612:18: ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:357:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 357 | case 18: EXTRACT_DIGIT(s, x, 100000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot); |^~~~~~~~~~~~~ In function ‘word_to_string’, inlined from ‘coeff_to_string’ at ./Modules/_decimal/libmpdec/io.c:411:13, inlined from ‘_mpd_to_string’ at ./Modules/_decimal/libmpdec/io.c:608:18: ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:360:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 360 | case 15: EXTRACT_DIGIT(s, x, 100000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:357:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 357 | case 18: EXTRACT_DIGIT(s, x, 100000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:358:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 358 | case 17: EXTRACT_DIGIT(s, x, 10000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:359:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 359 | case 16: EXTRACT_DIGIT(s, x, 1000000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:361:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 361 | case 14: EXTRACT_DIGIT(s, x, 10000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:362:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 362 | case 13: EXTRACT_DIGIT(s, x, 1000000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:363:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 363 | case 12: EXTRACT_DIGIT(s, x, 100000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:364:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 364 | case 11: EXTRACT_DIGIT(s, x, 10000000000ULL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:366:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 366 | case 10: EXTRACT_DIGIT(s, x, 1000000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:367:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 367 | case 9: EXTRACT_DIGIT(s, x, 100000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:368:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 368 | case 8: EXTRACT_DIGIT(s, x, 10000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:369:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 369 | case 7: EXTRACT_DIGIT(s, x, 1000000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:370:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 370 | case 6: EXTRACT_DIGIT(s, x, 100000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:371:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 371 | case 5: EXTRACT_DIGIT(s, x, 10000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:372:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 372 | case 4: EXTRACT_DIGIT(s, x, 1000UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:373:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 373 | case 3: EXTRACT_DIGIT(s, x, 100UL, dot); |^~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:349:40: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 349 | if (s == dot) *s++ = '.'; *s++ = '0' + (char)(x / d); x %= d |~~~~~^~~~~~~~~~~~~~~~~~~~~ ./Modules/_decimal/libmpdec/io.c:374:14: note: in expansion of macro ‘EXTRACT_DIGIT’ 374 | case 2: EXTRACT_DIGIT(s, x, 10UL, dot); |^~~~~~~~~~~~~./Modules/readline.c: In function ‘setup_readline’: ./Modules/readline.c:1305:21: warning: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const char *, int)’ [-Wincompatible-pointer-types] 1305 | rl_startup_hook = on_startup_hook; |^ ./Modules/readline.c:1307:23: warning: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(const char *, int)’ [-Wincompatible-pointer-types] 1307 | rl_pre_input_hook = on_pre_input_hook; |^ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘doParseXmlDecl’ at ./Modules/expat/xmltok.c:1192:13: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘doParseXmlDecl’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1070:9: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1076:12: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1076:12: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1083:9: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1083:9: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1110:7: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1123:9: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~ In function ‘utf8_toUtf8’, inlined from ‘toAscii’ at ./Modules/expat/xmltok.c:1038:3, inlined from ‘parsePseudoAttribute’ at ./Modules/expat/xmltok.c:1123:9: ./Modules/expat/xmltok.c:392:5: warning: ‘memcpy’ writing 2 or more bytes into a region of size 1 overflows the destination [-Wstringop-overflow=] 392 | memcpy(*toP, *fromP, bytesToCopy); |^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~./Modules/expat/xmltok.c: In function ‘parsePseudoAttribute’: ./Modules/expat/xmltok.c:1036:8: note: destination object ‘buf’ of size 1 1036 | char buf[1]; |^~~make: *** [Makefile:2151: buildbottest] Error 3

@corona10corona10 deleted the gh-112087-final branch March 5, 2024 05:33
@corona10
Copy link
MemberAuthor

Unrelated to this change.

adorilson pushed a commit to adorilson/cpython that referenced this pull request Mar 25, 2024
diegorusso pushed a commit to diegorusso/cpython that referenced this pull request Apr 17, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@corona10@bedevere-bot@colesbury