OpenJDK で Gitbucket を動かす

OpenJDK で Gitbucket を起動しようとすると、Internal Error (os_linux_zero.cpp:285) のエラーが出てダメ。
JDKのバージョンは、以下。

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-5~deb7u1)
OpenJDK Zero VM (build 24.65-b04, mixed mode)

失敗した時の起動ログ。

$ java -jar gitbucket.war 
2014-09-21 09:22:44.438:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2014-09-21 09:22:45.434:INFO:oejw.WebInfConfiguration:Extract jar:file:/home/git/gitbucket.war!/ to /home/git/.gitbucket/tmp/webapp
2014-09-21 09:26:53.173:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/git/.gitbucket/tmp/webapp/WEB-INF/lib/slf4j-jdk14-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/git/.gitbucket/tmp/webapp/WEB-INF/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
9 21, 2014 9:26:57 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Using default implementation for ThreadExecutor
9 21, 2014 9:26:57 午前 org.quartz.simpl.SimpleThreadPool initialize
情報: Job execution threads will use class loader of thread: main
9 21, 2014 9:26:58 午前 org.quartz.core.SchedulerSignalerImpl <init>
情報: Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
9 21, 2014 9:26:58 午前 org.quartz.core.QuartzScheduler <init>
情報: Quartz Scheduler v.2.2.1 created.
9 21, 2014 9:26:58 午前 org.quartz.simpl.RAMJobStore initialize
情報: RAMJobStore initialized.
9 21, 2014 9:26:58 午前 org.quartz.core.QuartzScheduler initialize
情報: Scheduler meta-data: Quartz Scheduler (v2.2.1) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

9 21, 2014 9:26:58 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
9 21, 2014 9:26:58 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Quartz scheduler version: 2.2.1
Null identity service, trying login service: null
Finding identity service: null
2014-09-21 09:27:05.055:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
2014-09-21 09:27:05.063:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (os_linux_zero.cpp:285), pid=3158, tid=3061703792
#  fatal error: caught unhandled signal 11
#
# JRE version: OpenJDK Runtime Environment (7.0_65-b32) (build 1.7.0_65-b32)
# Java VM: OpenJDK Zero VM (24.65-b04 mixed mode linux-arm )
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/git/hs_err_pid3158.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
#

ググってみたら、Oracle の JDK を入れろと。
しかし、HDL-GXR は、ARMv5 なのですが、Oracle の JDK は配布されておらず。
そこで、JamVM に切り替えて使うことに。

$ java -jamvm -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-5~deb7u1)
JamVM (build 1.6.0-devel, inline-threaded interpreter with stack-caching)

起動の仕方は、

$ java -jamvm -jar gitbucket.war

これです。成功の起動ログは、以下。

$ java -jamvm -jar gitbucket.war
2014-09-21 09:32:01.922:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2014-09-21 09:32:02.415:INFO:oejw.WebInfConfiguration:Extract jar:file:/home/git/gitbucket.war!/ to /home/git/.gitbucket/tmp/webapp
2014-09-21 09:35:15.273:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/git/.gitbucket/tmp/webapp/WEB-INF/lib/slf4j-jdk14-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/git/.gitbucket/tmp/webapp/WEB-INF/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
9 21, 2014 9:35:17 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Using default implementation for ThreadExecutor
9 21, 2014 9:35:17 午前 org.quartz.simpl.SimpleThreadPool initialize
情報: Job execution threads will use class loader of thread: main
9 21, 2014 9:35:17 午前 org.quartz.core.SchedulerSignalerImpl <init>
情報: Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
9 21, 2014 9:35:17 午前 org.quartz.core.QuartzScheduler <init>
情報: Quartz Scheduler v.2.2.1 created.
9 21, 2014 9:35:17 午前 org.quartz.simpl.RAMJobStore initialize
情報: RAMJobStore initialized.
9 21, 2014 9:35:17 午前 org.quartz.core.QuartzScheduler initialize
情報: Scheduler meta-data: Quartz Scheduler (v2.2.1) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

9 21, 2014 9:35:17 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
9 21, 2014 9:35:18 午前 org.quartz.impl.StdSchedulerFactory instantiate
情報: Quartz scheduler version: 2.2.1
Null identity service, trying login service: null
Finding identity service: null
2014-09-21 09:35:20.334:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
2014-09-21 09:35:20.340:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
9 21, 2014 9:35:31 午前 org.quartz.core.QuartzScheduler start
情報: Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
2014-09-21 09:35:31.872:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
9 21, 2014 9:35:32 午前 grizzled.slf4j.Logger info
情報: The cycle class name from the config: ScalatraBootstrap
9 21, 2014 9:35:32 午前 grizzled.slf4j.Logger info
情報: Initializing life cycle class: ScalatraBootstrap
9 21, 2014 9:35:33 午前 plugin.PluginUpdateJob execute
情報: Start plugin information updating
9 21, 2014 9:35:33 午前 plugin.PluginUpdateJob$$anonfun$execute$1 apply
情報: Updating central: https://github.com/takezoe/gitbucket_plugins.git...
2014-09-21 09:36:01.591:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
2014-09-21 09:36:01.715:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/,file:/home/git/.gitbucket/tmp/webapp/},file:/home/git/gitbucket.war
2014-09-21 09:36:04.131:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080
9 21, 2014 9:36:20 午前 plugin.PluginUpdateJob execute
情報: End plugin information updating

これで、http://(HDL-GXRのIPアドレス):8080/ にアクセスすれば、OK。
めちゃ重くて使えないけど。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です