Good sleuthing, Alex! Could you file a bug for this?:
http://code.google.com/p/googleappengine/issues/entry
It'll make it easier to track this issue.

Thanks!,
robert


On Fri Feb 24 14:10:57 GMT-800 2012, alex <[email protected]> wrote:

> First off, awesome job.
>
> There's one thing I'm not sure whether I'm missing something or doing it
> wrong but, a command like this one:
>
> appcfg.py --oauth2 -V <some-version> request_logs APP_ROOT
> /tmp/requests.log
>
> gives me an exception:
>
> TypeError: object of type 'NoneType' has no len()
>
> I noticed in appengine_rpc_httplib2.py, in Send(...) method args:
>
> "...payload: The body of the request, or None to send an empty request." And
> later, in the code (line 204), there's this:
>
> headers['content-length'] = str(len(payload))
>
> - and that's precisely where it gives the exception, because request_logs
> action eventually calls Send() with payload=None.
>
> I know this is a prerelease so...  I was just wondering whether it's me
> doing something wrong.
>
>
> PS I'm using python2.7. full traceback is attached.
>
>
> On Monday, February 20, 2012 7:03:01 PM UTC+1, Marce (Google) wrote:
>
> Hi,
>
> The 1.6.3 prerelease SDKs are now available to download for Python and
> Java here: http://code.google.com/p/googleappengine/downloads/list
>
> Please see release notes below.
>
> -Marzia
>
> Java Version 1.6.3==================- In the Admin Console, you can use the 
> Traffic Splitting feature to send a  certain percentage of traffic to a 
> non-default application version. The  traffic is split by either cookie or IP 
> address.- Emails from users that belong a Google Apps domain which are sent 
> from a  request originating from the same domain will have a DKIM signature 
> applied to  them.- The instances screen in the Admin Console now has a button 
> to shut down  a specific instance.- Each application log has a link to the 
> instance that served the request. If  the instance is no longer serving 
> requests, a message will be displayed.- The TaskQueue API now supports the 
> ability to tag a Pull Queue task. You may  then lease tasks by tag.- Using 
> Google Apps wildcard domain mappings, you can access alternate  versions of 
> your app via a custom domain.- Pull Queue ACLs now support a "writer-email" 
> role to support notifications  of delivery of tasks to queues.- Push and Pull 
> Queues are now listed separately in the SDK development console.- The 
> DataNucleus Enhancer command line tool  
> (com.google.appengine.tools.enhancer.Enhance) now supports the  
> -enhancerVersion flag, which allow you to specify the version of DataNucleus  
> with which to enhance your JDO/JPA classes.- The dev appserver command line 
> now supports the --generated_dir flag, which  allows you to specify a 
> directory in which to write files generated by the  SDK.- Fixed a 
> StackOverflowError when using the Remote API.    
> http://code.google.com/p/googleappengine/issues/detail?id=6349 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6349&usg=AFQjCNGW-vOO4iX4ru5A-kuIZXIePWAO4A>
>
> Python Version 1.6.3===============================- In the Admin Console, 
> you can use the Traffic Splitting feature to send a  certain percentage of 
> traffic to a non-default application version. The  traffic is split by either 
> cookie or IP address.- Emails from users that belong a Google Apps domain 
> which are sent from a  request originating from the same domain will have a 
> DKIM signature applied to  them.- Datastore statistics now show the amount of 
> storage used by application  indexes.- The instances screen in the Admin 
> Console now has a button to shut down  a specific instance.- Each application 
> log has a link to the instance that served the request. If  the instance is 
> no longer serving requests, a message will be displayed.- The TaskQueue API 
> now supports the ability to tag a Pull Queue task. You may  then lease tasks 
> by tag.- Using Google Apps wildcard domain mappings, you can access alternate 
>  versions of your app via a custom domain.- Pull Queue ACLs now support a 
> "writer_email" role to support notifications  of delivery of tasks to 
> queues.- Push and Pull Queues are now listed separately in the SDK 
> development console.- The NDB datastore api is now generally available.- 
> Appcfg now supports OAuth2.- Python 2.7 now uses webapp2 version 2.5.1.- 
> Django 1.3 is now available in the Python 2.7 runtime.- GQL Query now 
> supports custom type casting for list elements for "IN" filters.- Fixed an 
> issue where StringProperty's validate() didn't check the 500 byte  limit.    
> http://code.google.com/p/googleappengine/issues/detail?id=4030 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4030&usg=AFQjCNEInKfglRMh3rB_SinS2ZFnVRvFCg>-
>  Fixed an issue where the datastore admin didn't work with Federated Login.   
>  http://code.google.com/p/googleappengine/issues/detail?id=4111 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4111&usg=AFQjCNG9NgpxiysOpsWKKc1CpVM6GcF61Q>-
>  Fixed an issue in the SDK where failing to call _RemoveTxn in the  
> datastore_stub_util caused a memory leak:    
> http://code.google.com/p/googleappengine/issues/detail?id=6157 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6157&usg=AFQjCNHXI_ixsXsnVQdRh_tcPmvhumJnAw>-
>  Code that inherits from the deferred library's TaskHandler can now define  
> custom handling of exceptions.    
> http://code.google.com/p/googleappengine/issues/detail?id=6478 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6478&usg=AFQjCNHmeE_Rf9Yws21ohSSp9YPgfnIghg>-
>  Fixed an issue where logging in the SDK was broken in Windows 7 using  
> Python 2.7.2.    
> http://code.google.com/p/googleappengine/issues/detail?id=6756 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6756&usg=AFQjCNGutFX8h8eJqD3NM0ImHjGwog-KIw>-
>  Fixed an issue in the SDK where the Conversion API call limited was limited  
> to 1 MB when the production limit is 2 MB.    
> http://code.google.com/p/googleappengine/issues/detail?id=6794 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6794&usg=AFQjCNHz7Kis4CSnUOVYjQUcbYn74OtYnQ>-
>  Fixed an issue so that a deferred task retries like a push queue task when  
> using the SingularTaskFailure exception:    
> http://code.google.com/p/googleappengine/issues/detail?id=6412 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6412&usg=AFQjCNF-ylQDvreSJTpjm1skgVTN1gxzRw>
>
>
> On Monday, February 20, 2012 7:03:01 PM UTC+1, Marce (Google) wrote:
>
> Hi,
>
> The 1.6.3 prerelease SDKs are now available to download for Python and
> Java here: http://code.google.com/p/googleappengine/downloads/list
>
> Please see release notes below.
>
> -Marzia
>
> Java Version 1.6.3==================- In the Admin Console, you can use the 
> Traffic Splitting feature to send a  certain percentage of traffic to a 
> non-default application version. The  traffic is split by either cookie or IP 
> address.- Emails from users that belong a Google Apps domain which are sent 
> from a  request originating from the same domain will have a DKIM signature 
> applied to  them.- The instances screen in the Admin Console now has a button 
> to shut down  a specific instance.- Each application log has a link to the 
> instance that served the request. If  the instance is no longer serving 
> requests, a message will be displayed.- The TaskQueue API now supports the 
> ability to tag a Pull Queue task. You may  then lease tasks by tag.- Using 
> Google Apps wildcard domain mappings, you can access alternate  versions of 
> your app via a custom domain.- Pull Queue ACLs now support a "writer-email" 
> role to support notifications  of delivery of tasks to queues.- Push and Pull 
> Queues are now listed separately in the SDK development console.- The 
> DataNucleus Enhancer command line tool  
> (com.google.appengine.tools.enhancer.Enhance) now supports the  
> -enhancerVersion flag, which allow you to specify the version of DataNucleus  
> with which to enhance your JDO/JPA classes.- The dev appserver command line 
> now supports the --generated_dir flag, which  allows you to specify a 
> directory in which to write files generated by the  SDK.- Fixed a 
> StackOverflowError when using the Remote API.    
> http://code.google.com/p/googleappengine/issues/detail?id=6349 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6349&usg=AFQjCNGW-vOO4iX4ru5A-kuIZXIePWAO4A>
>
> Python Version 1.6.3===============================- In the Admin Console, 
> you can use the Traffic Splitting feature to send a  certain percentage of 
> traffic to a non-default application version. The  traffic is split by either 
> cookie or IP address.- Emails from users that belong a Google Apps domain 
> which are sent from a  request originating from the same domain will have a 
> DKIM signature applied to  them.- Datastore statistics now show the amount of 
> storage used by application  indexes.- The instances screen in the Admin 
> Console now has a button to shut down  a specific instance.- Each application 
> log has a link to the instance that served the request. If  the instance is 
> no longer serving requests, a message will be displayed.- The TaskQueue API 
> now supports the ability to tag a Pull Queue task. You may  then lease tasks 
> by tag.- Using Google Apps wildcard domain mappings, you can access alternate 
>  versions of your app via a custom domain.- Pull Queue ACLs now support a 
> "writer_email" role to support notifications  of delivery of tasks to 
> queues.- Push and Pull Queues are now listed separately in the SDK 
> development console.- The NDB datastore api is now generally available.- 
> Appcfg now supports OAuth2.- Python 2.7 now uses webapp2 version 2.5.1.- 
> Django 1.3 is now available in the Python 2.7 runtime.- GQL Query now 
> supports custom type casting for list elements for "IN" filters.- Fixed an 
> issue where StringProperty's validate() didn't check the 500 byte  limit.    
> http://code.google.com/p/googleappengine/issues/detail?id=4030 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4030&usg=AFQjCNEInKfglRMh3rB_SinS2ZFnVRvFCg>-
>  Fixed an issue where the datastore admin didn't work with Federated Login.   
>  http://code.google.com/p/googleappengine/issues/detail?id=4111 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4111&usg=AFQjCNG9NgpxiysOpsWKKc1CpVM6GcF61Q>-
>  Fixed an issue in the SDK where failing to call _RemoveTxn in the  
> datastore_stub_util caused a memory leak:    
> http://code.google.com/p/googleappengine/issues/detail?id=6157 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6157&usg=AFQjCNHXI_ixsXsnVQdRh_tcPmvhumJnAw>-
>  Code that inherits from the deferred library's TaskHandler can now define  
> custom handling of exceptions.    
> http://code.google.com/p/googleappengine/issues/detail?id=6478 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6478&usg=AFQjCNHmeE_Rf9Yws21ohSSp9YPgfnIghg>-
>  Fixed an issue where logging in the SDK was broken in Windows 7 using  
> Python 2.7.2.    
> http://code.google.com/p/googleappengine/issues/detail?id=6756 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6756&usg=AFQjCNGutFX8h8eJqD3NM0ImHjGwog-KIw>-
>  Fixed an issue in the SDK where the Conversion API call limited was limited  
> to 1 MB when the production limit is 2 MB.    
> http://code.google.com/p/googleappengine/issues/detail?id=6794 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6794&usg=AFQjCNHz7Kis4CSnUOVYjQUcbYn74OtYnQ>-
>  Fixed an issue so that a deferred task retries like a push queue task when  
> using the SingularTaskFailure exception:    
> http://code.google.com/p/googleappengine/issues/detail?id=6412 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6412&usg=AFQjCNF-ylQDvreSJTpjm1skgVTN1gxzRw>
>
>
> On Monday, February 20, 2012 7:03:01 PM UTC+1, Marce (Google) wrote:
>
> Hi,
>
> The 1.6.3 prerelease SDKs are now available to download for Python and
> Java here: http://code.google.com/p/googleappengine/downloads/list
>
> Please see release notes below.
>
> -Marzia
>
> Java Version 1.6.3==================- In the Admin Console, you can use the 
> Traffic Splitting feature to send a  certain percentage of traffic to a 
> non-default application version. The  traffic is split by either cookie or IP 
> address.- Emails from users that belong a Google Apps domain which are sent 
> from a  request originating from the same domain will have a DKIM signature 
> applied to  them.- The instances screen in the Admin Console now has a button 
> to shut down  a specific instance.- Each application log has a link to the 
> instance that served the request. If  the instance is no longer serving 
> requests, a message will be displayed.- The TaskQueue API now supports the 
> ability to tag a Pull Queue task. You may  then lease tasks by tag.- Using 
> Google Apps wildcard domain mappings, you can access alternate  versions of 
> your app via a custom domain.- Pull Queue ACLs now support a "writer-email" 
> role to support notifications  of delivery of tasks to queues.- Push and Pull 
> Queues are now listed separately in the SDK development console.- The 
> DataNucleus Enhancer command line tool  
> (com.google.appengine.tools.enhancer.Enhance) now supports the  
> -enhancerVersion flag, which allow you to specify the version of DataNucleus  
> with which to enhance your JDO/JPA classes.- The dev appserver command line 
> now supports the --generated_dir flag, which  allows you to specify a 
> directory in which to write files generated by the  SDK.- Fixed a 
> StackOverflowError when using the Remote API.    
> http://code.google.com/p/googleappengine/issues/detail?id=6349 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6349&usg=AFQjCNGW-vOO4iX4ru5A-kuIZXIePWAO4A>
>
> Python Version 1.6.3===============================- In the Admin Console, 
> you can use the Traffic Splitting feature to send a  certain percentage of 
> traffic to a non-default application version. The  traffic is split by either 
> cookie or IP address.- Emails from users that belong a Google Apps domain 
> which are sent from a  request originating from the same domain will have a 
> DKIM signature applied to  them.- Datastore statistics now show the amount of 
> storage used by application  indexes.- The instances screen in the Admin 
> Console now has a button to shut down  a specific instance.- Each application 
> log has a link to the instance that served the request. If  the instance is 
> no longer serving requests, a message will be displayed.- The TaskQueue API 
> now supports the ability to tag a Pull Queue task. You may  then lease tasks 
> by tag.- Using Google Apps wildcard domain mappings, you can access alternate 
>  versions of your app via a custom domain.- Pull Queue ACLs now support a 
> "writer_email" role to support notifications  of delivery of tasks to 
> queues.- Push and Pull Queues are now listed separately in the SDK 
> development console.- The NDB datastore api is now generally available.- 
> Appcfg now supports OAuth2.- Python 2.7 now uses webapp2 version 2.5.1.- 
> Django 1.3 is now available in the Python 2.7 runtime.- GQL Query now 
> supports custom type casting for list elements for "IN" filters.- Fixed an 
> issue where StringProperty's validate() didn't check the 500 byte  limit.    
> http://code.google.com/p/googleappengine/issues/detail?id=4030 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4030&usg=AFQjCNEInKfglRMh3rB_SinS2ZFnVRvFCg>-
>  Fixed an issue where the datastore admin didn't work with Federated Login.   
>  http://code.google.com/p/googleappengine/issues/detail?id=4111 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D4111&usg=AFQjCNG9NgpxiysOpsWKKc1CpVM6GcF61Q>-
>  Fixed an issue in the SDK where failing to call _RemoveTxn in the  
> datastore_stub_util caused a memory leak:    
> http://code.google.com/p/googleappengine/issues/detail?id=6157 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6157&usg=AFQjCNHXI_ixsXsnVQdRh_tcPmvhumJnAw>-
>  Code that inherits from the deferred library's TaskHandler can now define  
> custom handling of exceptions.    
> http://code.google.com/p/googleappengine/issues/detail?id=6478 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6478&usg=AFQjCNHmeE_Rf9Yws21ohSSp9YPgfnIghg>-
>  Fixed an issue where logging in the SDK was broken in Windows 7 using  
> Python 2.7.2.    
> http://code.google.com/p/googleappengine/issues/detail?id=6756 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6756&usg=AFQjCNGutFX8h8eJqD3NM0ImHjGwog-KIw>-
>  Fixed an issue in the SDK where the Conversion API call limited was limited  
> to 1 MB when the production limit is 2 MB.    
> http://code.google.com/p/googleappengine/issues/detail?id=6794 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6794&usg=AFQjCNHz7Kis4CSnUOVYjQUcbYn74OtYnQ>-
>  Fixed an issue so that a deferred task retries like a push queue task when  
> using the SingularTaskFailure exception:    
> http://code.google.com/p/googleappengine/issues/detail?id=6412 
> <http://www.google.com/url?q=http://code.google.com/p/googleappengine/issues/detail%3Fid%3D6412&usg=AFQjCNF-ylQDvreSJTpjm1skgVTN1gxzRw>
>
>   --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/dURZnUHqELQJ.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to