lmenezes / cerebro

MIT License
5.51k stars 714 forks source link

cerebro-0.8.3-1.noarch.rpm fails on CentOS 7 #376

Open bastelfreak opened 5 years ago

bastelfreak commented 5 years ago

Hi, I noticed an error after the installation:

Jun 20 05:51:06 localhost cerebro[4237]: java.sql.SQLTransientConnectionException: db - Connection is not available, request timed out after 30001ms. 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:676) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:190) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:155) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:100) 
Jun 20 05:51:06 localhost cerebro[4237]: at slick.jdbc.hikaricp.HikariCPJdbcDataSource.createConnection(HikariCPJdbcDataSource.scala:14) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.slick.evolutions.internal.DBApiAdapter$DatabaseAdapter.getConnection(DBApiAdapter.scala:57) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.DatabaseEvolutions.databaseEvolutions(EvolutionsApi.scala:136) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.DatabaseEvolutions.scripts(EvolutionsApi.scala:114) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.DatabaseEvolutions.scripts(EvolutionsApi.scala:129) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.DefaultEvolutionsApi.scripts(EvolutionsApi.scala:94) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions$.$anonfun$runEvolutions$1(ApplicationEvolutions.scala:177) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions$.withLock(ApplicationEvolutions.scala:203) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions$.runEvolutions(ApplicationEvolutions.scala:173) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions.$anonfun$start$1(ApplicationEvolutions.scala:53) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions.$anonfun$start$1$adapted(ApplicationEvolutions.scala:53) 
Jun 20 05:51:06 localhost cerebro[4237]: at scala.collection.immutable.Stream.foreach(Stream.scala:533) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions.start(ApplicationEvolutions.scala:53) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutions.<init>(ApplicationEvolutions.scala:85) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutionsProvider.get$lzycompute(EvolutionsModule.scala:51) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutionsProvider.get(EvolutionsModule.scala:50) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.db.evolutions.ApplicationEvolutionsProvider.get(EvolutionsModule.scala:41) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:85) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:77) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:59) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.Guice.createInjector(Guice.java:87) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.google.inject.Guice.createInjector(Guice.java:78) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:186) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:139) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.core.server.ProdServerStart$.start(ProdServerStart.scala:57) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.core.server.ProdServerStart$.main(ProdServerStart.scala:29) 
Jun 20 05:51:06 localhost cerebro[4237]: at play.core.server.ProdServerStart.main(ProdServerStart.scala) 
Jun 20 05:51:06 localhost cerebro[4237]: Caused by: java.sql.SQLException: opening db: './cerebro.db': Permission denied 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.core.CoreConnection.open(CoreConnection.java:203) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:25) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.JDBC.createConnection(JDBC.java:114) 
Jun 20 05:51:06 localhost cerebro[4237]: at org.sqlite.JDBC.connect(JDBC.java:88) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:119) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool.access$100(HikariPool.java:71) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:706) 
Jun 20 05:51:06 localhost cerebro[4237]: at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:692) 
Jun 20 05:51:06 localhost cerebro[4237]: at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
Jun 20 05:51:06 localhost cerebro[4237]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
Jun 20 05:51:06 localhost cerebro[4237]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
Jun 20 05:51:06 localhost cerebro[4237]: at java.base/java.lang.Thread.run(Thread.java:835) 
Jun 20 05:51:06 localhost systemd[1]: cerebro.service: main process exited, code=exited, status=255/n/a

The service fails to start because it cannot write the databse to /usr/share/cerebro/. I fixed this by running chown cerebro:cerebro /usr/share/cerebr. In my opinion, the default permissions of root:root for this directory are a bad idea. Also you could consider switching the homedir for the user from /home/cerebro to /usr/share/cerebro/

zhixiangjoy commented 3 years ago

I meet the same problem