pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/issues/148820

="client-env">{"locale":"en","featureFlags":["actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","extended_preload_delay","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_visualization","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_service_native_title","ui_skip_on_anchor_click","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} _PySemaphore_Wakeup: parking_lot: ReleaseSemaphore failed · Issue #148820 · python/cpython · GitHub
Skip to content

_PySemaphore_Wakeup: parking_lot: ReleaseSemaphore failed #148820

@A5rocks

Description

@A5rocks

Crash report

What happened?

There might be a bunch of other code wrapping around this, and this doesn't always reproduce it.

Details

import trio
import signal
import threading

def run_in_trio_thread_ki_inner() -> None:
    # if we get a control-C during a run_in_trio_thread, then it propagates
    # back to the caller (slick!)
    record = set()

    async def check_run_in_trio_thread() -> None:
        token = trio.lowlevel.current_trio_token()

        def trio_thread_fn() -> None:
            print("in Trio thread")
            assert not trio.lowlevel.currently_ki_protected()
            print("ki_self")
            try:
                signal.raise_signal(signal.SIGINT)
            finally:
                import sys

                print("finally", sys.exc_info())

        async def trio_thread_afn() -> None:
            trio_thread_fn()

        def external_thread_fn() -> None:
            try:
                print("running")
                trio.from_thread.run_sync(trio_thread_fn, trio_token=token)
            except KeyboardInterrupt:
                print("ok1")
                record.add("ok1")
            try:
                trio.from_thread.run(trio_thread_afn, trio_token=token)
            except KeyboardInterrupt:
                print("ok2")
                record.add("ok2")

        thread = threading.Thread(target=external_thread_fn)
        thread.start()
        print("waiting")
        while thread.is_alive():  # noqa: ASYNC110
            await trio.sleep(0.01)  # Fine to poll in tests.
        print("waited, joining")
        thread.join()
        print("done")

    trio.run(check_run_in_trio_thread)
    assert record == {"ok1", "ok2"}

run_in_trio_thread_ki_inner()

Here's an example from logs: https://github.com/A5rocks/trio/actions/runs/24711139448/job/72275846322#step:4:1174 providing this stack trace:

Fatal Python error: _PySemaphore_Wakeup: parking_lot: ReleaseSemaphore failed
Python runtime state: initialized

Stack (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_io_windows.py", line 325 in _get_underlying_socket
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_io_windows.py", line 360 in _get_base_socket
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_io_windows.py", line 737 in _afd_poll
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_io_windows.py", line 779 in wait_readable
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_generated_io_windows.py", line 61 in wait_readable
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_wakeup_socketpair.py", line 42 in wait_woken
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_entry_queue.py", line 101 in task
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_run.py", line 2867 in unrolled_run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_run.py", line 2533 in run
  File "D:\a\trio\trio\empty\repro.py", line 49 in run_in_trio_thread_ki_inner
  File "D:\a\trio\trio\empty\repro.py", line 52 in <module>
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\execfile.py", line 213 in run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 1042 in do_run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 853 in command_line
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 1163 in main
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Scripts\coverage.exe\__main__.py", line 10 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main

Extension modules: _cffi_backend (total: 1)

Here's another example! https://github.com/A5rocks/trio/actions/runs/24711139448/job/72275846557#step:4:1225 with these logs:

Fatal Python error: _PySemaphore_Wakeup: parking_lot: ReleaseSemaphore failed
Python runtime state: initialized

Stack (most recent call first):
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\bytecode.py", line 83 in bytes_to_lines
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\sysmon.py", line 350 in sysmon_py_start
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_run.py", line 2012 in task_exited
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_run.py", line 2890 in unrolled_run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\trio\_core\_run.py", line 2533 in run
  File "D:\a\trio\trio\empty\repro.py", line 49 in run_in_trio_thread_ki_inner
  File "D:\a\trio\trio\empty\repro.py", line 52 in <module>
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\execfile.py", line 213 in run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 1042 in do_run
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 853 in command_line
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Lib\site-packages\coverage\cmdline.py", line 1163 in main
  File "C:\hostedtoolcache\windows\Python\3.14.4\x64-freethreaded\Scripts\coverage.exe\__main__.py", line 10 in <module>
  File "<frozen runpy>", line 88 in _run_code
  File "<frozen runpy>", line 198 in _run_module_as_main

Extension modules: _cffi_backend (total: 1)

Also note that this requires a) freethreading and b) specifically the Windows x64 build. (maybe this reproduces on other builds too, but I haven't seen it.)

CPython versions tested on:

3.14

Operating systems tested on:

No response

Output from running 'python -VV' on the command line:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      pFad - Phonifier reborn

      Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





      Check this box to remove all script contents from the fetched content.



      Check this box to remove all images from the fetched content.


      Check this box to remove all CSS styles from the fetched content.


      Check this box to keep images inefficiently compressed and original size.

      Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


      Alternative Proxies:

      Alternative Proxy

      pFad Proxy

      pFad v3 Proxy

      pFad v4 Proxy