Skip to content
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

Drop support for Python 3.13 #1732

Merged
merged 1 commit into from
Nov 21, 2024
Merged

Drop support for Python 3.13 #1732

merged 1 commit into from
Nov 21, 2024

Conversation

chris-janidlo
Copy link
Contributor

Description

During testing, it was discovered that the following error happens when starting an endpoint on py313. Pulling support for that version until a future release while diagnosing the error.

Traceback (most recent call last):
  File "/Users/chris/opt/anaconda3/envs/gce-py313/bin/globus-compute-endpoint", line 8, in <module>
    sys.exit(cli_run())
             ~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 984, in cli_run
    app()
    ~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/exception_handling.py", line 80, in wrapper
    return f(*args, **kwargs)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 468, in start_endpoint
    _do_start_endpoint(
    ~~~~~~~~~~~~~~~~~~^
        ep_dir=ep_dir,
        ^^^^^^^^^^^^^^
        endpoint_uuid=state.endpoint_uuid,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        die_with_parent=state.die_with_parent,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 693, in _do_start_endpoint
    get_cli_endpoint(ep_config).start_endpoint(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        ep_dir,
        ^^^^^^^
    ...<5 lines>...
        die_with_parent,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/endpoint.py", line 559, in start_endpoint
    Endpoint.daemon_launch(
    ~~~~~~~~~~~~~~~~~~~~~~^
        endpoint_uuid,
        ^^^^^^^^^^^^^^
    ...<4 lines>...
        parent_pid,
        ^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/endpoint.py", line 589, in daemon_launch
    interchange.start()
    ~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/interchange.py", line 218, in start
    self.start_engine()
    ~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/interchange.py", line 141, in start_engine
    self.executor.start(
    ~~~~~~~~~~~~~~~~~~~^
        results_passthrough=self.results_passthrough,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        endpoint_id=self.endpoint_id,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        run_dir=self.logdir,
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/engines/globus_compute.py", line 268, in start
    self._status_report_thread.start()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/engines/base.py", line 52, in start
    self._thread.start()
    ~~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/threading.py", line 973, in start
    _start_joinable_thread(self._bootstrap, handle=self._handle,
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           daemon=self.daemon)
                           ^^^^^^^^^^^^^^^^^^^
RuntimeError: thread already started

During testing, it was discovered that the following error happens when
starting an endpoint on py313. Pulling support for that version until a
future release while diagnosing the error.

```
Traceback (most recent call last):
  File "/Users/chris/opt/anaconda3/envs/gce-py313/bin/globus-compute-endpoint", line 8, in <module>
    sys.exit(cli_run())
             ~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 984, in cli_run
    app()
    ~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/exception_handling.py", line 80, in wrapper
    return f(*args, **kwargs)
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 468, in start_endpoint
    _do_start_endpoint(
    ~~~~~~~~~~~~~~~~~~^
        ep_dir=ep_dir,
        ^^^^^^^^^^^^^^
        endpoint_uuid=state.endpoint_uuid,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        die_with_parent=state.die_with_parent,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/cli.py", line 693, in _do_start_endpoint
    get_cli_endpoint(ep_config).start_endpoint(
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
        ep_dir,
        ^^^^^^^
    ...<5 lines>...
        die_with_parent,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/endpoint.py", line 559, in start_endpoint
    Endpoint.daemon_launch(
    ~~~~~~~~~~~~~~~~~~~~~~^
        endpoint_uuid,
        ^^^^^^^^^^^^^^
    ...<4 lines>...
        parent_pid,
        ^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/endpoint.py", line 589, in daemon_launch
    interchange.start()
    ~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/interchange.py", line 218, in start
    self.start_engine()
    ~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/endpoint/interchange.py", line 141, in start_engine
    self.executor.start(
    ~~~~~~~~~~~~~~~~~~~^
        results_passthrough=self.results_passthrough,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        endpoint_id=self.endpoint_id,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        run_dir=self.logdir,
        ^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/engines/globus_compute.py", line 268, in start
    self._status_report_thread.start()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/site-packages/globus_compute_endpoint/engines/base.py", line 52, in start
    self._thread.start()
    ~~~~~~~~~~~~~~~~~~^^
  File "/Users/chris/opt/anaconda3/envs/gce-py313/lib/python3.13/threading.py", line 973, in start
    _start_joinable_thread(self._bootstrap, handle=self._handle,
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                           daemon=self.daemon)
                           ^^^^^^^^^^^^^^^^^^^
RuntimeError: thread already started
```
@chris-janidlo chris-janidlo added no-news-is-good-news This change does not require a news file quick-review Review of this should be quick and easy labels Nov 21, 2024
@chris-janidlo chris-janidlo merged commit 69d0d72 into v2.31.0 Nov 21, 2024
21 checks passed
@chris-janidlo chris-janidlo deleted the drop-313 branch November 21, 2024 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-news-is-good-news This change does not require a news file quick-review Review of this should be quick and easy
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants