Gitbucket1.2で500エラー
会社でGitbucketを試用しているのですが、
ある日、TOPページにアクセスしようとすると500エラーを返すようになりました。
どうやら、メンバがSourceTreeからGitbucketに対して
プッシュやタグ付けをしていたら、500エラーを返すようになった模様。
500エラーを返すのは下記ページのみっぽい。
- Gitbucketトップページ
- 上記メンバのPublic Activityページ
スタックトレースは以下。
HTTPステータス 500 - String index out of range: 40 type 例外レポート メッセージ String index out of range: 40 説明 The server encountered an internal error that prevented it from fulfilling this request. 例外 java.lang.StringIndexOutOfBoundsException: String index out of range: 40 java.lang.String.substring(Unknown Source) helper.html.activities$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(activities.template.scala:38) helper.html.activities$$anonfun$apply$1$$anonfun$apply$2$$anonfun$apply$3.apply(activities.template.scala:36) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:105) scala.collection.TraversableLike$class.map(TraversableLike.scala:244) scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:105) helper.html.activities$$anonfun$apply$1$$anonfun$apply$2.apply(activities.template.scala:36) helper.html.activities$$anonfun$apply$1$$anonfun$apply$2.apply(activities.template.scala:26) scala.Option.map(Option.scala:145) helper.html.activities$$anonfun$apply$1.apply(activities.template.scala:26) helper.html.activities$$anonfun$apply$1.apply(activities.template.scala:22) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) scala.collection.immutable.List.foreach(List.scala:318) scala.collection.TraversableLike$class.map(TraversableLike.scala:244) scala.collection.AbstractTraversable.map(Traversable.scala:105) helper.html.activities$.apply(activities.template.scala:22) html.index$.apply(index.template.scala:26) app.IndexControllerBase$$anonfun$1.apply(IndexController.scala:12) app.IndexControllerBase$$anonfun$1.apply(IndexController.scala:12) org.scalatra.ScalatraBase$class.org$scalatra$ScalatraBase$$liftAction(ScalatraBase.scala:183) org.scalatra.ScalatraBase$$anonfun$invoke$1.apply(ScalatraBase.scala:178) org.scalatra.ScalatraBase$$anonfun$invoke$1.apply(ScalatraBase.scala:178) org.scalatra.ApiFormats$class.withRouteMultiParams(ApiFormats.scala:175) app.ControllerBase.withRouteMultiParams(ControllerBase.scala:13) org.scalatra.ScalatraBase$class.invoke(ScalatraBase.scala:177) app.ControllerBase.org$scalatra$json$JsonSupport$$super$invoke(ControllerBase.scala:13) org.scalatra.json.JsonSupport$$anonfun$invoke$1.apply(JsonSupport.scala:65) org.scalatra.json.JsonSupport$$anonfun$invoke$1.apply(JsonSupport.scala:57) org.scalatra.ApiFormats$class.withRouteMultiParams(ApiFormats.scala:175) app.ControllerBase.withRouteMultiParams(ControllerBase.scala:13) org.scalatra.json.JsonSupport$class.invoke(JsonSupport.scala:57) app.ControllerBase.invoke(ControllerBase.scala:13) org.scalatra.ScalatraBase$$anonfun$runRoutes$1$$anonfun$apply$3.apply(ScalatraBase.scala:163) org.scalatra.ScalatraBase$$anonfun$runRoutes$1$$anonfun$apply$3.apply(ScalatraBase.scala:162) scala.Option.flatMap(Option.scala:170) org.scalatra.ScalatraBase$$anonfun$runRoutes$1.apply(ScalatraBase.scala:162) org.scalatra.ScalatraBase$$anonfun$runRoutes$1.apply(ScalatraBase.scala:161) scala.collection.immutable.Stream.flatMap(Stream.scala:442) org.scalatra.ScalatraBase$class.runRoutes(ScalatraBase.scala:161) app.ControllerBase.runRoutes(ControllerBase.scala:13) org.scalatra.ScalatraBase$class.executeRoutes(ScalatraBase.scala:114) app.ControllerBase.executeRoutes(ControllerBase.scala:13) org.scalatra.ScalatraBase$$anonfun$handle$1.apply$mcV$sp(ScalatraBase.scala:80) org.scalatra.ScalatraBase$$anonfun$handle$1.apply(ScalatraBase.scala:80) org.scalatra.ScalatraBase$$anonfun$handle$1.apply(ScalatraBase.scala:80) scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) org.scalatra.DynamicScope$class.withResponse(DynamicScope.scala:80) app.ControllerBase.withResponse(ControllerBase.scala:13) org.scalatra.DynamicScope$$anonfun$withRequestResponse$1.apply(DynamicScope.scala:60) scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) org.scalatra.DynamicScope$class.withRequest(DynamicScope.scala:71) app.ControllerBase.withRequest(ControllerBase.scala:13) org.scalatra.DynamicScope$class.withRequestResponse(DynamicScope.scala:59) app.ControllerBase.withRequestResponse(ControllerBase.scala:13) org.scalatra.ScalatraBase$class.handle(ScalatraBase.scala:78) app.ControllerBase.org$scalatra$servlet$ServletBase$$super$handle(ControllerBase.scala:13) org.scalatra.servlet.ServletBase$class.handle(ServletBase.scala:43) app.ControllerBase.handle(ControllerBase.scala:13) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:33) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:33) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:33) scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:32) app.ControllerBase.doFilter(ControllerBase.scala:13) servlet.TransactionFilter$$anonfun$doFilter$1.apply$mcV$sp(TransactionFilter.scala:30) servlet.TransactionFilter$$anonfun$doFilter$1.apply(TransactionFilter.scala:28) servlet.TransactionFilter$$anonfun$doFilter$1.apply(TransactionFilter.scala:28) scala.slick.session.BaseSession.withTransaction(Session.scala:236) scala.slick.session.Database$$anonfun$withTransaction$2.apply(Database.scala:58) scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) scala.slick.session.Database$$anonfun$withSession$1.apply(Database.scala:46) scala.slick.session.Database$$anonfun$withSession$1.apply(Database.scala:46) scala.slick.session.Database.withSession(Database.scala:38) scala.slick.session.Database.withSession(Database.scala:46) scala.slick.session.Database.withTransaction(Database.scala:58) servlet.TransactionFilter.doFilter(TransactionFilter.scala:28) 注意 原因のすべてのスタックトレースは、Apache Tomcat/7.0.42のログに記録されています Apache Tomcat/7.0.42
スタックトレースからソースを参照してみると、
コミットへのリンクを生成する所でエラーが出ている様子。
SourceTreeだから起きる事象なのかは不明。
GitbucketのDB内のActivityテーブルの中が見れれば、なんとなく分かりそうだけど、
DB力が足りずにぐぬぬってなってる。