google / syzkaller

syzkaller is an unsupervised coverage-guided kernel fuzzer
Apache License 2.0
5.21k stars 1.2k forks source link

dev_appserver.py doesn't support go122 #4785

Open tarasmadan opened 1 month ago

tarasmadan commented 1 month ago

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 commented 1 month ago

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 commented 1 month ago

Go 1.22 runtime support was added in 465.0.0.

tarasmadan commented 1 month ago

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

tarasmadan commented 1 month ago

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

tarasmadan commented 4 days ago

SDK 482.0.0

ERROR    2024-07-01 18:22:10,983 <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

2024/07/01 18:22:10 ERROR: failed to query builds: service bridge returned exception