Skip to content

Daemon thread is crashing in PyEval_RestoreThread() while the main thread is exiting the process #84058

Description

@vstinner
BPO39877
Nosy@ncoghlan, @vstinner, @ericsnowcurrently, @pablogsal, @nanjekyejoannah
PRs
  • bpo-39877: Fix PyEval_RestoreThread() for daemon threads #18808
  • bpo-39877: Fix PyEval_RestoreThread() for daemon threads #18811
  • bpo-39877: _PyRuntimeState.finalizing becomes atomic #18816
  • bpo-19466: Py_Finalize() clears daemon threads earlier #18848
  • bpo-39877: take_gil() now exits the thread if finalizing #18854
  • bpo-39877: Remove useless PyEval_InitThreads() calls #18883
  • bpo-39877: Py_Initialize() pass tstate to PyEval_InitThreads() #18884
  • bpo-39877: Refactor take_gil() function #18885
  • bpo-39877: take_gil() checks tstate_must_exit() twice #18888
  • bpo-39877: take_gil() checks tstate_must_exit() twice #18890
  • bpo-39877: PyGILState_Ensure() don't call PyEval_InitThreads() #18891
  • bpo-39877: Deprecate PyEval_InitThreads() #18892
  • bpo-39877: Fix take_gil() for daemon threads #19054
  • bpo-39877: 4th take_gil() fix for daemon threads #19080
  • Files
  • daemon_threads_exit.py
  • slow_exit.patch
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee=Noneclosed_at=<Date2020-03-11.23:14:10.705>created_at=<Date2020-03-06.14:22:28.647>labels= ['interpreter-core', '3.9']
    title='Daemon thread is crashing in PyEval_RestoreThread() while the main thread is exiting the process'updated_at=<Date2020-03-19.18:48:34.523>user='https://github.com/vstinner'

    bugs.python.org fields:

    activity=<Date2020-03-19.18:48:34.523>actor='vstinner'assignee='none'closed=Trueclosed_date=<Date2020-03-11.23:14:10.705>closer='vstinner'components= ['Interpreter Core']
    creation=<Date2020-03-06.14:22:28.647>creator='vstinner'dependencies= []
    files= ['48958', '48959']
    hgrepos= []
    issue_num=39877keywords= ['patch']
    message_count=20.0messages= ['363512', '363517', '363519', '363520', '363566', '363649', '363653', '363667', '363764', '363767', '363773', '363776', '363790', '363791', '363792', '363795', '363981', '363983', '364496', '364629']
    nosy_count=5.0nosy_names= ['ncoghlan', 'vstinner', 'eric.snow', 'pablogsal', 'nanjekyejoannah']
    pr_nums= ['18808', '18811', '18816', '18848', '18854', '18883', '18884', '18885', '18888', '18890', '18891', '18892', '19054', '19080']
    priority='normal'resolution='fixed'stage='resolved'status='closed'superseder=Nonetype=Noneurl='https://bugs.python.org/issue39877'versions= ['Python 3.9']

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      3.9 (EOL)end of lifeinterpreter-core(Objects, Python, Grammar, and Parser dirs)

      Projects

      No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions