-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
In my dev environment, which features a selection of customised source builds, I get this error when submitting to Globus Compute:
Traceback (most recent call last):
File "/home/benc/parsl/src/parsl/togc.py", line 15, in <module>
print(f.result())
^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 456, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_compute_sdk/sdk/executor.py", line 1125, in _task_submitter_impl
self._submit_tasks(
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_compute_sdk/sdk/executor.py", line 1257, in _submit_tasks
batch_response = self.client.batch_run(endpoint_uuid, batch)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_compute_sdk/sdk/client.py", line 62, in _wrapper
return gare_handler(_login, f, self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_compute_sdk/sdk/utils/gare.py", line 13, in gare_handler
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_compute_sdk/sdk/client.py", line 597, in batch_run
r = self._compute_web_client.v3.submit(endpoint_id, batch.prepare())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_sdk/services/compute/client.py", line 370, in submit
return self.post(f"/v3/endpoints/{endpoint_id}/submit", data=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_sdk/client.py", line 358, in post
return self.request(
^^^^^^^^^^^^^
File "/home/benc/parsl/virtualenv-3.12/lib/python3.12/site-packages/globus_sdk/client.py", line 522, in request
raise self.error_class(r)
globus_sdk.services.compute.errors.ComputeAPIError: ('POST', 'https://compute.api.globus.org/v3/endpoints/d23b9bc6-99d1-40c4-8c35-9effd8a2266c/submit', 'Bearer', 422, 'REQUEST_MALFORMED', 'Unprocessable Entity')
Example POST data is:
{'create_queue': True, 'tasks': {'627c0639-0ac1-4b2f-8b16-f2e64040032c': ['12\n00\ngAQpLg==\n12\n00\ngAR9lC4=\n']}, 'user_runtime': {'globus_compute_sdk_version': '4.1.0', 'globus_sdk_version': '3.64.0', 'python_version': '3.12.6+ (heads/3.12:b6f4607, Sep 13 2024, 15:28:21) [GCC 12.2.0]', 'python': {'version': '3.12.6+', 'version_tuple': (3, 12, 6), 'version_info': (3, 12, 6, 'final', 0), 'implementation': 'CPython', 'compiler': 'GCC 12.2.0'}, 'platform': {'architecture': ('64bit', ''), 'machine': 'x86_64', 'node': 'parsl-dev-3-12-8645', 'platform': 'Linux-6.1.0-25-amd64-x86_64-with-glibc2.36', 'processor': '', 'release': '6.1.0-25-amd64'}}}
If I patch this in globus_sdk/services/compute/client.py submit (around line 370):
data['user_runtime']['python']['version'] = "3.12.6"
before the post is submitted, then my submission works. This drops off + from the version in one place.
To Reproduce
Maybe the above version patch in reverse to add a + on the end?
Expected behavior
task submission
Environment
dockerised debian
source build Python 3.14.6+ commit b6f46073515ce10a4f2457c32c8376bf975388aa
endpoint + client in same venv.
benc@parsl-dev-3-12-8645:~/parsl/src/parsl$ pip list|grep globus
globus-compute-common 0.7.1
globus-compute-endpoint 4.1.0
globus-compute-sdk 4.1.0
globus-identity-mapping 0.4.0
globus-sdk 3.64.0
Distributed Environment
everything is running in my laptop dev container
endpoint d23b9bc6-99d1-40c4-8c35-9effd8a2266c
- If this is an endpoint issue, run
globus-compute-endpoint self-diagnostic -zand attach the resulting zip file.
$ globus-compute-endpoint self-diagnostic -z
Usage: globus-compute-endpoint self-diagnostic [OPTIONS]
Try 'globus-compute-endpoint self-diagnostic --help' for help.
Error: No such option: -z
$ globus-compute-endpoint self-diagnostic
This endpoint self-diagnostic command has been deprecated.
Please use the `globus-compute-diagnostic` command from the SDK instead.
globus-compute-endpoint is installed at /home/benc/parsl/virtualenv-3.12/bin/globus-compute-endpoint
Some diagnostic commands require being logged in.
Compressed diagnostic output successfully written to globus_compute_diagnostic_2025-11-17-14-40-54Z.txt.gz
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working