Problem Upgrading from 354.0.0

283 views
Skip to first unread message

ron...@gmail.com

unread,
Nov 19, 2021, 3:49:38 PM11/19/21
to Google App Engine
When I have attempted to upgrade from version 354.0.0 to 364.0.0 or to 365.0.00 on Windows 7 with python 2.7 installed the upgrade finishes without error, but I have the issue below. If I revert my installation back to 354.0.0 it works fine.

I can execute dev_appserver.py app.yaml without issue,  But when I open my browser and goto http://localhost:8080/ I receive the following messages:

C:\www\test>dev_appserver.py app.yaml
INFO     2021-11-19 12:09:26,140 devappserver2.py:316] Skipping SDK update check.
INFO     2021-11-19 12:09:26,875 <string>:383] Starting API server at: http://localhost:63789
INFO     2021-11-19 12:09:27,045 dispatcher.py:281] Starting module "default" running at: http://localhost:8080
INFO     2021-11-19 12:09:27,048 admin_server.py:150] Starting admin server at: http://localhost:8000
INFO     2021-11-19 12:09:32,921 instance.py:294] Instance PID: 6876
ERROR:root:Failure to start PHP with: ['C:\\Users\\Ron\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\g
oogle_appengine\\php\\php-5.5-Win32-VC11-x86\\php-cgi.exe', '-d', 'include_path=".;C:\\www\\test;C:\\Users\\Ron\\AppData
\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\sdk"', '-c', 'C:\\www\\test', '-d', 'zend
_extension="C:\\Users\\Ron\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\php-5.
5-Win32-VC11-x86\\php_xdebug.dll"', '-d', 'extension="php_gae_runtime_module.dll"', '-d', 'extension_dir="C:\\Users\\Ron
\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\php-5.5-Win32-VC11-x86"']
Traceback (most recent call last):
INFO     2021-11-19 12:09:33,921 module.py:883] default: "GET /_ah/start HTTP/1.1" 500 754
  File "C:\Users\Ron\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\de
vappserver2\php\runtime\runtime.py", line 269, in __call__
    stdout=subprocess.PIPE)
  File "C:\Users\Ron\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\de
vappserver2\safe_subprocess.py", line 84, in start_process
    shell=shell)
  File "C:\Python27\lib\subprocess.py", line 394, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 644, in _execute_child
    startupinfo)
TypeError: environment can only contain strings
ERROR:root:Failure to start PHP with: ['C:\\Users\\Ron\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\g
oogle_appengine\\php\\php-5.5-Win32-VC11-x86\\php-cgi.exe', '-d', 'include_path=".;C:\\www\\test;C:\\Users\\Ron\\AppData
\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\sdk"', '-c', 'C:\\www\\test', '-d', 'zend
_extension="C:\\Users\\Ron\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\php-5.
5-Win32-VC11-x86\\php_xdebug.dll"', '-d', 'extension="php_gae_runtime_module.dll"', '-d', 'extension_dir="C:\\Users\\Ron
\\AppData\\Local\\Google\\Cloud SDK\\google-cloud-sdk\\platform\\google_appengine\\php\\php-5.5-Win32-VC11-x86"']
INFO     2021-11-19 12:09:33,940 module.py:883] default: "GET / HTTP/1.1" 500 754
Traceback (most recent call last):
  File "C:\Users\Ron\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\de
vappserver2\php\runtime\runtime.py", line 269, in __call__
    stdout=subprocess.PIPE)
  File "C:\Users\Ron\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\de
vappserver2\safe_subprocess.py", line 84, in start_process
    shell=shell)
  File "C:\Python27\lib\subprocess.py", line 394, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 644, in _execute_child
    startupinfo)
TypeError: environment can only contain strings

Amit Sinha

unread,
Nov 22, 2021, 2:02:45 PM11/22/21
to Google App Engine
Hi, does your windows environment contain any non-ascii / unicode data? It is most likely due to python 2 mishandling of non-ascii chars in an environment name or value. As an workaround, you could check if you can change or remove those env variable?

ron...@gmail.com

unread,
Nov 23, 2021, 2:01:07 PM11/23/21
to Google App Engine
Windows environment variables seem to be clean.

Amit Sinha

unread,
Nov 23, 2021, 4:36:44 PM11/23/21
to Google App Engine
At this point, I would recommend to create an issue to investigate further using this issue tracker. 

Michael Fawcett

unread,
Jun 1, 2022, 6:21:57 PM6/1/22
to Google App Engine
Did you manage to solve this? Suffering the same issue on Windows 11 since updating components 'gcloud components update'

ron...@gmail.com

unread,
Jun 1, 2022, 6:37:55 PM6/1/22
to Google App Engine
No, I'm still using version 354.0.0. This was the response from the support team (I'm not sure they understand the issue is with their PHP server dev_appserver.py).  Let me know if you find an answer.

Hi,

Thanks for contacting Google Cloud Platform Support Team,

I was reviewing this issue and as the error message says, the environment must only contain strings.

Note that, judging by this traceback as example, you are using Python 2.6(in this example case), so the linked code does not in fact apply, because it comes from Python 3.3.0 beta2. PyUnicode_Check checks that the object is a unicode object, which makes sense in Python 3, where strings are (internally implemented as) unicode objects. In Python 2.6, however, the equivalent line is using PyString_Check.

One workaround is to downgrade 364.0.0 to 354.0.0 to resolve this issue.

Finally you can take a look to these 2 Stackoverflow post which also include valuable details about this topic:

can-only-contain-strings

contains-a-unicode-object

Thanks and regards.


Andres Marquez Rodriguez

unread,
Jun 2, 2022, 5:43:46 PM6/2/22
to Google App Engine
As a workaround, you can install Python 3 and set the CLOUDSDK_PYTHON env var to python3.
Reply all
Reply to author
Forward
0 new messages