2014-09-28 51 views
0

我在Heroku上推送了一个更新到我的应用程序,现在我收到了以下与应用程序崩溃相关的错误。如果你看看这个错误,你会发现它与S3Blobs.java有关。但是,我上次更新并未影响此文件,实际上也没有影响任何Java代码。最后一次更新是html,javascript和css文件。Play Framework 1.2.7 Heroku更新崩溃

是否有人熟悉这个错误,并且可能会导致它在Heroku上看起来无处可见。本地应用程序运行良好。

如果我在Heroku上回滚到以前版本的应用程序,应用程序仍然运行(再次回滚不影响S3Blobs.java)。

Heroku编译我的Java代码的方式是否改变了?

2014-09-27T22:24:13.874161 + 00:00应用程式[web.2]:〜_ _

2014-09-27T22:24:13.874166 + 00:00应用程式[幅。 2]:〜_ __ | | __ _ _ | | 2014-09-27T22:24:13.874167 + 00:00 app [web.2]:〜| '| | /'| || || 2014-09-27T22:24:13.874189 + 00:00 app [web.2]:〜|/| | \ | \() 2014-09-27T22:24:13.874190 + 00:00 app [web.2]:〜|| |/

2014-09-27T22:24:13.874192 + 00:00应用程式[web.2]:〜 2014-09-27T22:24:13.874193 + 00:00应用程式[web.2]:〜播放! 1.2.7, http://www.playframework.org 2014-09-27T22:24:13.874195 + 00:00 app [web.2]:〜framework ID is prod 2014-09-27T22:24:13.874196 + 00:00 app [web。 2]:〜2014-09-27T22:24:13.874197 + 00:00 app [web.2]:〜Ctrl + C至 stop 2014-09-27T22:24:13.874199 + 00:00 app [web.2] :〜 2014-09-27T22:24:13.623029 + 00:00 app [web.1]:22:24:13,622 INFO〜 连接到 jdbc:postgresql:// ec2-23-23-147-250。 compute-1.amazonaws.com:5582/d7p28cauibod8d?ssl=true & sslfactory = org.postgresql.ssl.NonValidatingFactory 2014-09-27T22:24:14.543346 + 00:00 heroku [web.2]:进程退出 状态1 2014-09-27T22:24:14.553771 + 00:00 heroku [web.2]:状态已从开始改为 d 2014-09-27T22:24:14.807111 + 00:00 app [web.1]: 22:24:14,806 INFO〜Application'tfp_v2_fix'现在开始了! 2014-09-27T22:24:14.956075 + 00:00 app [web.1]: 2014-09-27T22:24:14.956085 + 00:00 app [web.1]:启动S3Blobs 2014-09-27T22 :24:14.956088 + 00:00 app [web.1]:2014-09-27T22:24:16Z app [postgres.12036]:[OLIVE]无法从客户端接收数据: 由对等方2014-09 -27T22:24:16Z app [postgres.12035]: [OLIVE]无法从客户端接收数据:连接由对端重置 2014-09-27T22:24:16Z app [postgres.12034]:[OLIVE] could not收到 来自客户端的数据:由对端重置的连接 2014-09-27T22:24:16.122974 + 00:00 app [web.1]:2014年9月27日22时24分16秒 +0000 [3 5] com.newrelic .agent.Agent INFO:New Relic Agent已关闭2014-09-27T22:24:16.116801 + 00:00 app [web.1]:22:24:16,11 5 错误〜2014-09-27T22:24:16.116807 + 00:00 app [web.1]: 2014-09-27T22:24:16.116810 + 00:00 app [web.1]:@ 6jk9a374i 2014- 09-27T22:24:16.116811 + 00:00 app [web.1]:作业期间出错 执行(s3.S3Blobs)2014-09-27T22:24:16.116813 + 00:00 app [web.1]: 2014 -09-27T22:24:16.116815 + 00:00 app [web.1]:执行异常( /app/s3/S3Blobs.java在第32行左右)2014-09-27T22:24:16.116817 + 00:00 应用[网络。1]:IllegalStateException发生:不支持的cookie规范: 默认2014-09-27T22:24:16.116818 + 00:00应用[web.1]: 2014-09-27T22:24:16.116820 + 00:00 app [web。 1]: play.exceptions.JavaExecutionException:不支持的cookie规范: 默认2014-09-27T22:24:16.116821 + 00:00应用[web.1]:在 play.jobs.Job.call(Job.java: 2014-09-27T22:24:16.116823 + 00:00 app [web.1] ]:导致:java.lang.IllegalStateException:不支持 cookie规范:默认2014-09-27T22:24:16.116826 + 00:00应用[web.1]:在 org.apache.http.cookie.CookieSpecRegistry.getCookieSpec (CookieSpecRegistry.java:110) 2014-09-27T22:24:16.116828 + 00:00 app [web.1 ]:at org.apache.http.cookie.CookieSpecRegistry $ 1.create(CookieSpecRegistry.java:163) 2014-09-27T22:24:16.116829 + 00:00 app [web.1]:at org.apache。 http.client.protocol.RequestAddCookies.process(RequestAddCookies.java:157) 2014-09-27T22:24:16.116831 + 00:00 app [web.1]:at org.apache.http.protocol.ImmutableHttpProcessor.process (ImmutableHttpProcessor.java:132) 2014-09-27T22:24:16.116833 + 00:00 app [web.1]:at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166) 2014 -09-27T22:24:16.116834 + 00:00 app [web.1]:at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485) 2014-09-27T22:24: 16.116835 + 00:00 app [web.1]:在 org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:878) 2014-09-27T22:24:16.116837 + 00:00 app [web.1]:at org.apache.http。 impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:84) 2014-09-27T22:24:16.116838 + 00:00 app [web.1]:at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:109) 2014-09-27T22:24:16.116839 + 00:00 app [web.1]:at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) 2014-09-27T22:24:16.116840 + 00:00 app [web.1]:at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:268) 2014-09-27T22:24:16.799309+ 00:00 heroku [web.1]:用01退出进程状态1 2014-09-27T22:24:16.809162 + 00:00 heroku [web.1]:状态从开始改为 2014-09-27T22:24:16.116842 + 00:00 app [web.1]: at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170) 2014-09-27T22:24:16.116843 + 00:00 app [web.1]:at com.amazonaws.services.s3。 AmazonS3Client.invoke(AmazonS3Client.java:2597) 2014-09-27T22:24:16.116845 + 00:00 app [web.1]:at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2569 ) 2014-09-27T22:24:16.116846 + 00:00 app [web.1]:at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:415) 2014-09-27T22:24 :16.116847 + 00:00应用[web.1]:在(AmazonS3Client.java:723) 2014-09-27T22:24:16.116849 + 00:00 app [web.1]:at s3.S3Blobs.doJob(S3Blobs。 java:32)2014-09-27T22:24:16.116850 + 00:00 app [web.1]:at play.jobs.Job.doJobWithResult(Job.java:50) 2014-09-27T22:24:16.116851 +00:00 app [web.1]:at play.jobs.Job.call(Job.java:146)2014-09-27T22:24:16.116853 + 00:00 app [web.1]:.. 。1更多2014-09-27T22:24:16.118780 + 00:00 app [web.1]: 线程“main”中的异常play.exceptions.JavaExecutionException: 不支持的cookie规范:默认2014-09-27T22:24: 16.118817 + 00:00 app [web.1]:在play.jobs.Job.call(Job.java:155) 2014-09-27T22:24:16.118846 + 00:00 app [web。1]:在Invocation.Job(播放!) 2014-09-27T22:24:16.118882 + 00:00 app [web.1]:由: java.lang.IllegalStateException:不支持的cookie规范:默认 2014- 09-27T22:24:16.118912 + 00:00应用程式[web.1]:在 org.apache.http.cookie.CookieSpecRegistry.getCookieSpec(CookieSpecRegistry.java:110) 2014-09-27T22:24:16.118942 + 00 :00应用程式[web.1]:在 org.apache.http.cookie.CookieSpecRegistry $ 1。创建(CookieSpecRegistry.java:163) 2014-09-27T22:24:16.118973 + 00:00应用程式[web.1] :at org.apache.http.client.protocol.RequestAddCookies.process(RequestAddCookies.java:157) 2014-09-27T22:24:16.118998 + 00:00 app [web.1]:at org.apache。 http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:13 2) 2014-09-27T22:24:16.119030 + 00:00 app [web.1]:at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166) 2014-09-27T22: 24:16.119060 + 00:00 app [web.1]:at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485) 2014-09-27T22:24:16.119091 + 00:00应用[web.1]:在 org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:878) 2014-09-27T22:24:16.119112 + 00:00应用程式[web.1]:在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:84) 2014-09-27T22:24:16.119145 + 00:00 app [web.1]:at org.apache.http .impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:109) 2014-09-27T22:24:16.119174 + 00:00 app [web.1]:at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57) 2014-09-27T22: 24:16.119206 + 00:00 app [web.1]:at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:268) 2014-09-27T22:24:16.119227 + 00:00 app [web。 1]:at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170) 2014-09-27T22:24:16.119258 + 00:00 app [web.1]:at com.amazonaws.services。 s3.AmazonS3Client.invoke(AmazonS3Client.java:2597) 2014-09-27T22:24:16.119288 + 00:00 app [web.1]:at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java :2569) 2014-09-27T22:24:16.119317 + 00 :00应用程式[web.1]:在 com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:415) 2014-09-27T22:24:16.119342 + 00:00应用程式[web.1]: at com.amazonaws.services.s3.AmazonS3Client.doesBucketExist(AmazonS3Client.java:723) 2014-09-27T22:24:16.119374 + 00:00 app [web.1]:at s3.S3Blobs.doJob(S3Blobs的.java:32)2014-09-27T22:24:16.119404 + 00:00 应用程式[web.1]:在play.jobs.Job.doJobWithResult(Job.java:50) 2014-09-27T22:24: 16 + 00:00 app [heroku-postgres]: source = HEROKUPOSTGRESQL_OLIVE sample#current_transaction = 1953 sample#db_size = 6842552bytes sample#tables = 1 sample#active-connections = 5 sample#waiting-connections = 0 sample# index-cache-hit-rate = 0.97895 sample#table-cache-hit-rate = 0.99444 sample#load-avg-1m = 0.535 sample#load-avg-5m = 0.375 sample#load-avg-15m = 0.285 sample#read-iops = 0 sample# write-iops = 20.195 sample#memory-total = 15405616kB sample#memory-free = 243784kB sample#memory-cached = 14421060kB sample#memory-postgres = 253500kB 2014-09-27T22:24:16.119434 + 00:00 app [web.1]:在play.jobs.Job.call(Job.java:146) 2014-09-27T22:24:16.119459 + 00:00应用程式[web.1]:...... 1更 2014- 09-27T22:24:16.121017 + 00:00 app [web.1]:2014年9月27日22时24分16秒 +0000 [3 5] com.newrelic.agent。代理INFO:JVM正在关闭

回答

1

Heroku每次将应用程序推送到它们时会同步您的dependencies.yml文件。我的一个依赖项最终被淘汰,而且heroku自动获取了该文件的新版本,这反过来打破了亚马逊的依赖关系。将我的亚马逊升级到最新版本最终解决了问题。

我几周没有碰到我的dependenies.yml文件,也没有运行“play deps --sync”几周,所以没有想到在我的本地机器上看。

+0

这个技巧保存了我的项目!我使用的是旧版本的亚马逊sdk,在我更新了我的dependencies.yml文件以使用亚马逊sdk 1.8而不是1.3一切正常。 – user1187534 2014-10-03 10:16:45

1

此处同样的问题(“IllegalStateException发生:不支持的cookie规范:默认”),甚至没有在Play框架或Heroku中,但在经典的Java Web应用程序(Mifos开源小额贷款平台)中,并且通过升级解决从v1.7.2到最新的v2.3.3的其他可靠的测试框架(可能还有一些隐含的传递依赖关系,它们可能是比其他人更重要的根本原因 - 也许是来自v4的org.apache.httpcomponents httpclient的变化.2.3到目前最新的v4.3.5) - 显然有些版本不匹配是造成这种错误的根本原因。

0

org.apache.httpcomponents httpclient似乎是我的根本原因。

版本4.3.5之后的任何内容都会在使用它的库中导致此错误(并且尚未准备好),因此请检查您拥有的版本。

0

Apache httpclient 4.3.6工作正常,请使用此版本。