[Python] When running a Python program on Windows, the program occasionally gets stuck during...

Discussão em 'Python' iniciado por Stack, Setembro 25, 2024.

  1. Stack

    Stack Membro Participativo

    :loop
    python.exe run.py
    timeout /t 5
    goto loop


    run.py is stuck at the beginning where the library is imported

    import argparse
    import warnings
    #stuck here
    import pytest
    def main():

    pytest.main(['-s','-v', 'allure-epics=C1'])

    if __name__ == "__main__":
    main()



    The thread hang stack information from the Process Explorer software is as follows. This happened many times, then I used process explorer analysis to find the stuck thread


    0x0000000000000000
    !RtlAllocateHeap+0x2ec4
    !RtlAllocateHeap+0xaad
    !RtlReleaseSRWLockShared+0xcf5
    !RtlReAllocateHeap+0x2a3
    !RtlReAllocateHeap+0x7d
    !realloc_base+0x39
    !PyErr_SetObject+0x90d
    !PyBytes_AsString+0xd2f
    !PyBytes_AsString+0x973
    !PyBytes_AsString+0xe15
    !PyBytes_AsString+0x8f7
    !PyBytes_AsString+0xe15
    !PyBytes_AsString+0x8f7
    !PyObject_ASCII+0x2609
    !PyObject_ASCII+0x25cb
    !PyObject_ASCII+0x2566
    !PyEval_EvalFrameDefault+0x4186
    !PyDict_GetItem+0xbef
    !PyFunction_Vectorcall+0x257
    !PyEval_EvalFrameDefault+0x64e0
    !PyEval_EvalFrameDefault+0x1d14
    !PyEval_EvalFrameDefault+0x23f2
    !PyFunction_Vectorcall+0x174
    !PyObject_CallFunction+0x169
    !PyObject_CallMethodIdObjArgs+0x137
    !PyObject_CallMethodIdObjArgs+0x70
    !PyEval_GetBuiltins+0x1e5
    !PyImport_ImportModuleLevelObject+0x45a
    !PyPickleBuffer_GetBuffer+0x51a
    !PyEval_EvalFrameDefault+0x8bb4
    !PyDict_GetItem+0xbef
    !PyEval_EvalCodeWithName+0xa9
    !PyEval_EvalCodeEx+0x9b
    !PyEval_EvalCode+0x2d
    !PyFuture_FromASTObject+0x46a
    !PyFuture_FromASTObject+0x373
    !PyObject_GetBuffer+0x6fb
    !PyVectorcall_Call+0x5c
    !PyObject_Call+0x4f
    !PyObject_Call+0x178
    !PyEval_EvalFrameDefault+0x6201
    !PyDict_GetItem+0xbef
    !PyFunction_Vectorcall+0x257
    !PyEval_EvalFrameDefault+0x1df2
    !PyEval_EvalFrameDefault+0x1d14
    !PyEval_EvalFrameDefault+0x23f2
    !PyFunction_Vectorcall+0x174
    !PyObject_CallFunction+0x169
    !PyObject_CallMethodIdObjArgs+0x137
    !PyObject_CallMethodIdObjArgs+0x70
    !PyEval_GetBuiltins+0x1e5
    !PyImport_ImportModuleLevelObject+0x45a
    !PyPickleBuffer_GetBuffer+0x51a
    !PyEval_EvalFrameDefault+0x8bb4
    !PyDict_GetItem+0xbef
    !PyEval_EvalCodeWithName+0xa9
    !PyEval_EvalCodeEx+0x9b
    !PyEval_EvalCode+0x2d
    !PyFuture_FromASTObject+0x46a
    !PyFuture_FromASTObject+0x373
    !PyObject_GetBuffer+0x6fb
    !PyVectorcall_Call+0x5c
    !PyObject_Call+0x4f
    !PyObject_Call+0x178
    !PyEval_EvalFrameDefault+0x6201
    !PyDict_GetItem+0xbef
    !PyFunction_Vectorcall+0x257
    !PyEval_EvalFrameDefault+0x1df2
    !PyEval_EvalFrameDefault+0x1d14
    !PyEval_EvalFrameDefault+0x23f2
    !PyFunction_Vectorcall+0x174
    !PyObject_CallFunction+0x169
    !PyObject_CallMethodIdObjArgs+0x137
    !PyObject_CallMethodIdObjArgs+0x70
    !PyEval_GetBuiltins+0x1e5
    !PyImport_ImportModuleLevelObject+0x45a
    !PyPickleBuffer_GetBuffer+0x51a
    !PyEval_EvalFrameDefault+0x8bb4
    !PyDict_GetItem+0xbef
    !PyEval_EvalCodeWithName+0xa9
    !PyEval_EvalCodeEx+0x9b
    !PyEval_EvalCode+0x2d
    !PyFuture_FromASTObject+0x46a
    !PyFuture_FromASTObject+0x373
    !PyObject_GetBuffer+0x6fb
    !PyVectorcall_Call+0x5c
    !PyObject_Call+0x4f
    !PyObject_Call+0x178
    !PyEval_EvalFrameDefault+0x6201 !PyDict_GetItem+0xbef
    !PyFunction_Vectorcall+0x257
    !PyEval_EvalFrameDefault+0x1df2
    !PyEval_EvalFrameDefault+0x1d14
    !PyEval_EvalFrameDefault+0x23f2
    !PyFunction_Vectorcall+0x174
    ​

    Continue reading...

Compartilhe esta Página