AppEngine Maven deployment failure: '500 Internal Server Error'

187 views
Skip to first unread message

Patrick Conant

unread,
Oct 28, 2017, 3:16:02 PM10/28/17
to Google App Engine
I've recently become unable to deploy an AppEngine project using the AppEngine Maven plugin's 'appengine:update' target. This has worked for me previously, but just today it seems to be failing for multiple projects. I've reviewed the files generated during my maven build process -- they all look fine to me -- the appengine-application.xml and appengine-web.xml both look correct, all of the files are where I expect them, etc. 


[INFO] Google App Engine Java SDK - Updating Application
[INFO] 
[INFO] Retrieving Google App Engine Java SDK from Maven
[INFO] Updating Google App Engine Application
[INFO] Running -A app-177622 --oauth2 update /......./src/web/app-ear/target/app-app-ear-4
Reading application configuration data...
Processing module default
Oct 28, 2017 1:02:30 PM com.google.apphosting.utils.config.IndexesXmlReader readConfigXml
INFO: Successfully processed /......./src/web/app-ear/target/app-app-ear-4/app-app-4.war/WEB-INF/datastore-indexes.xml
Ignoring application.xml context-root element, for details see https://developers.google.com/appengine/docs/java/modules/#config


Beginning interaction for module default...
0% Created staging directory at: '/var/folders/sj/1g22m18516v4g1nml657ly380000gn/T/appcfg2859224178009721962.tmp'
5% Scanning for jsp files.
8% Generated git repository information file.
20% Scanning files on local disk.
25% Initiating update.
Oct 28, 2017 1:02:32 PM com.google.appengine.tools.admin.AbstractServerConnection send1
500 Internal Server Error
Server Error (500)A server error has occurred.
This is try #0
Oct 28, 2017 1:02:33 PM com.google.appengine.tools.admin.AbstractServerConnection send1
500 Internal Server Error
Server Error (500)A server error has occurred.
This is try #1
Oct 28, 2017 1:02:34 PM com.google.appengine.tools.admin.AbstractServerConnection send1
500 Internal Server Error
Server Error (500)A server error has occurred.
This is try #2
Oct 28, 2017 1:02:35 PM com.google.appengine.tools.admin.AbstractServerConnection send1
500 Internal Server Error
Server Error (500)A server error has occurred.
This is try #3

com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/create?module=default&app_id=app-177622&version=4&
500 Internal Server Error
Server Error (500)A server error has occurred.

500 Internal Server Error
Server Error (500)A server error has occurred.

Please see the logs [/var/folders/sj/1g22m18516v4g1nml657ly380000gn/T/appcfg7918010232880723505.log] for further information.

The log file referenced above contains this:
Unable to update:
com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/create?module=default&app_id=app-177622&version=4&
500 Internal Server Error
Server Error (500)A server error has occurred.

        at com.google.appengine.tools.admin.AbstractServerConnection.send1(AbstractServerConnection.java:371)
        at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:317)
        at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:296)
        at com.google.appengine.tools.admin.LoggingClientDeploySender.send(LoggingClientDeploySender.java:47)
        at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:1134)
        at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:747)
        at com.google.appengine.tools.admin.AppVersionUpload.uploadFilesTransaction(AppVersionUpload.java:221)
        at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:197)
        at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:580)
        at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:65)
        at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1526)
        at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:393)
        at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:216)
        at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:116)
        at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:112)
        at com.google.appengine.appcfg.AbstractAppCfgMojo.executeAppCfgCommand(AbstractAppCfgMojo.java:264)
        at com.google.appengine.appcfg.Update.execute(Update.java:32)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
com.google.appengine.tools.admin.AdminException: Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/create?module=default&app_id=app-177622&version=4&
500 Internal Server Error
Server Error (500)A server error has occurred.

        at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:586)
        at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:65)
        at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:1526)
        at com.google.appengine.tools.admin.AppCfg.executeAction(AppCfg.java:393)
        at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:216)
        at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:116)
        at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:112)
        at com.google.appengine.appcfg.AbstractAppCfgMojo.executeAppCfgCommand(AbstractAppCfgMojo.java:264)
        at com.google.appengine.appcfg.Update.execute(Update.java:32)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: com.google.appengine.tools.admin.HttpIoException: Error posting to URL: https://appengine.google.com/api/appversion/create?module=default&app_id=app-177622&version=4&
500 Internal Server Error
Server Error (500)A server error has occurred.

        at com.google.appengine.tools.admin.AbstractServerConnection.send1(AbstractServerConnection.java:371)
        at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:317)
        at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:296)
        at com.google.appengine.tools.admin.LoggingClientDeploySender.send(LoggingClientDeploySender.java:47)
        at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:1134)
        at com.google.appengine.tools.admin.AppVersionUpload.beginTransaction(AppVersionUpload.java:747)
        at com.google.appengine.tools.admin.AppVersionUpload.uploadFilesTransaction(AppVersionUpload.java:221)
        at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:197)
        at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:580)
        ... 30 more


I ran across this post (https://issuetracker.google.com/issues/68317095) and tried disabling lifecycle management on my staging bucket, to no avail. And nothing else I've run across has been helpful. 

Any thoughts on what could be going wrong?

Patrick Conant

unread,
Oct 28, 2017, 3:29:41 PM10/28/17
to Google App Engine
I should add: I initially ran into the problem with the latest Maven plugin (version 1.9.58), but also tried reverting to versions that have worked for me over the past two months (1.9.56 and 1.9.55). I ran into the same error with all three versions.

Patrick Conant

unread,
Oct 28, 2017, 9:14:34 PM10/28/17
to Google App Engine
It appears that AppEngine was choking on this http-header defined in appengine-web.xml:
<http-header name="X-XSS-Protection" value="1" />

When I removed that, deployment succeeded. When I replaced the value with "1; mode=block", deployment succeeded. It doesn't appear to be the header name that causes the problem, as defining either of these headers in appengine-web.xml causes deployment to fail:
<http-header name="pork-chop" value="1" />
<http-header name="pork-chop" value="2" />

But deployment still succeeds with either of these headers defined:
<http-header name="pork-chop" value="a" />
<http-header
 name="pork-chop" value="0" />

I've got no idea what is behind these errors, so I'm just noting the details here in case others run into the same problem. 

Kenworth (Google Cloud Platform)

unread,
Oct 29, 2017, 3:17:46 PM10/29/17
to Google App Engine
Thank you for posting and providing the solution to possibly help other community users who may experience same issues. 

The value of '1' is the default for most browsers which will sanitize the page (remove the unsafe parts) if a cross-site scripting attack is detected. It is odd though that deployment fails when you set it to '1'. As such, I highly encourage you to submit a defect report as described in this article so that proper attention and weight will be given to it. We monitor that issue tracker closely.
Reply all
Reply to author
Forward
0 new messages