Skip to content

gh-128002: add more thread safety tests for asyncio #128480

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

Merged
merged 5 commits into from
Jan 13, 2025

Conversation

kumaraditya303
Copy link
Contributor

@kumaraditya303 kumaraditya303 commented Jan 4, 2025

@kumaraditya303
Copy link
Contributor Author

While running tests locally with tsan I get data races in PyException_GetTraceback:

==================
WARNING: ThreadSanitizer: data race (pid=18363)
  Read of size 8 at 0x7fd525db9fc8 by thread T5:
    #0 PyException_GetTraceback Objects/exceptions.c:415 (python+0x18cbce) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #1 _PyErr_SetObject Python/errors.c:243 (python+0x39a9fb) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #2 do_raise Python/ceval.c:2077 (python+0x32da17) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #3 _PyEval_EvalFrameDefault Python/generated_cases.c.h:6897 (python+0x35f385) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #4 _PyEval_EvalFrame Include/internal/pycore_ceval.h:116 (python+0x3689ea) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #5 _PyEval_Vector Python/ceval.c:1911 (python+0x368c70) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #6 _PyFunction_Vectorcall Objects/call.c:413 (python+0x16a4e2) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #7 _PyObject_VectorcallTstate Include/internal/pycore_call.h:167 (python+0x16ec46) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #8 method_vectorcall Objects/classobject.c:71 (python+0x16ef66) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #9 _PyVectorcall_Call Objects/call.c:273 (python+0x16c922) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #10 _PyObject_Call Objects/call.c:348 (python+0x16cd6c) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #11 PyObject_Call Objects/call.c:373 (python+0x16cdd0) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #12 thread_run Modules/_threadmodule.c:346 (python+0x4d3ba3) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)
    #13 pythread_wrapper Python/thread_pthread.h:242 (python+0x42a887) (BuildId: 96822fb590e3a59ef5f8327d5962e4dff015129c)

marking draft until #128728 is merged along with other fixes for exceptions

@kumaraditya303 kumaraditya303 marked this pull request as draft January 12, 2025 06:52
@kumaraditya303 kumaraditya303 marked this pull request as ready for review January 13, 2025 14:58
@kumaraditya303 kumaraditya303 enabled auto-merge (squash) January 13, 2025 15:14
@kumaraditya303 kumaraditya303 merged commit 3efe28a into python:main Jan 13, 2025
35 of 36 checks passed
@kumaraditya303 kumaraditya303 deleted the asyncio-tsafe branch January 13, 2025 15:44
Sign up for free to 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.

1 participant