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

dev_appserver.py doesn't support go122 #4785

Open
tarasmadan opened this issue May 8, 2024 · 4 comments
Open

dev_appserver.py doesn't support go122 #4785

tarasmadan opened this issue May 8, 2024 · 4 comments

Comments

@tarasmadan
Copy link
Collaborator

Is your feature request related to a problem? Please describe.
We can't update google.golang.org/appengine/v2 anymore.

The new vendor/google.golang.org/appengine/v2/aetest/instance.go requires go122 instead of go111.

As far as I see, dev_appserver doesn't support it:

RuntimeError: Unknown runtime 'go122'; supported runtimes are 'custom', 'go', 'go111', 'go112', 'go113', 'go114', 'go115', 'java', 'java7', 'java8', 'php55', 'php72', 'php81', 'python', 'python-compat', 'python27', 'python310', 'python37', 'python38', 'python39'.

Error details are here.

"./tools/syz-env dev_appserver.py -h" claims:

...
--runtime RUNTIME specify the default runtimes you would like to use.
Valid runtimes are ['java', 'php81', 'php55',
'python', 'php72', 'python27', 'java7', 'custom',
'go111', 'python-compat', 'go113', 'go112', 'go115',
'go114', 'python310', 'go', 'python37', 'python39',
'python38', 'java8']. (default: )
...

Describe the solution you'd like
Update containerized dev_appserver.py to support go122?

@tarasmadan
Copy link
Collaborator Author

Tried Cloud SDK 475.0.0 (latest).
Our tests crash with the next error:

ERROR    2024-05-09 10:14:30,561 <string>:498] Exception while handling datastore_v3.RunQuery()
Traceback (most recent call last):
  File "<string>", line 467, in _handle_POST
  File "<string>", line 192, in _execute_request
  File "<string>", line 183, in make_request
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_sqlite_stub.py", line 978, in MakeSyncCall
    apiproxy_stub.APIProxyStub.MakeSyncCall(self, service, call, request,
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/api/apiproxy_stub.py", line 143, in MakeSyncCall
    method(request, response)
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_stub_util.py", line 3072, in UpdateIndexesWrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_stub_util.py", line 3363, in _Dynamic_RunQuery
    cursor = self._datastore.GetQueryCursor(query, self._trusted, self._app_id)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_stub_util.py", line 2639, in GetQueryCursor
    return self._GetQueryCursor(raw_query, filters, orders, index_list)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_sqlite_stub.py", line 1393, in _GetQueryCursor
    index_list, list(db_cursor))
                ^^^^^^^^^^^^^^^
  File "/usr/local/google-cloud-sdk/platform/google_appengine/google/appengine/datastore/datastore_sqlite_stub.py", line 266, in _ProjectionPartialEntityGenerator
    entity.key.MergeFrom(original_entity.key())
                         ^^^^^^^^^^^^^^^^^^^^^
TypeError: 'Reference' object is not callable

It routed me to the https://b.corp.google.com/issues/329705717?pli=1 .
We can use version <468.0.0 or wait for this bug resolution.

@tarasmadan
Copy link
Collaborator Author

Go 1.22 runtime support was added in 465.0.0.

@tarasmadan
Copy link
Collaborator Author

Tested version 467. Runtime go122 is not supported! :)

@tarasmadan
Copy link
Collaborator Author

And yes, the problem starts with version 468. The alternatives are the local patch or to wait for the bug resolution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant