There is no other .OpenMRS in the user home directory.
Now the old trick I used by manually creating the
openmrs-runtime.properties doesn't work anymore. I think the connect
password needs to be encrypted or something. I get the following errors
each time:
java.lang.RuntimeException: Error occurred while trying to get the updates
needed for the database. Unable to get a connection to the database. Please
check your openmrs runtime properties file and make sure you have the correct
connection.username and connection.password set
at
org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:578)
at
org.openmrs.util.DatabaseUpdater.updatesRequired(DatabaseUpdater.java:257)
at org.openmrs.web.Listener.setupNeeded(Listener.java:170)
at org.openmrs.web.Listener.contextInitialized(Listener.java:142)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795)
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500)
at
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.Exception: Unable to get a connection to the database.
Please check your openmrs runtime properties file and make sure you have the
correct connection.username and connection.password set
at
org.openmrs.util.DatabaseUpdater.getLiquibase(DatabaseUpdater.java:337)
at
org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:564)
... 35 more
Can we fix this install bug first? i.e., If this is a fresh install,
create the openmrs-runtime.properties based on the info collected.
On 2/17/2012 10:09 AM, Wyclif Luyima wrote:
Can you just try deleting the one under your user home directory,
there is an order the install wizard follows when looking up the
runtme properties file and application data directory, when i look at
the complete stacktrace from your previous email, the error message
states there is already an existing 'liquibasechangelog' file which
implies that there is an existing database with this table and this
database could be the one pointed to by the runtime-properties file
under the user home directory.
Wyclif
On Fri, Feb 17, 2012 at 2:48 PM, Charles C. Chou <[email protected]
<mailto:[email protected]>> wrote:
Hi Wyclif,
/usr/share/tomcat6 is the home directory for tomcat6. The
error seems to indicate a problem in updating the database. I have
since removed the openmrs database again and tried the install
process from scratch and this time the error messages are
displayed in red on top of the Wizard page, after it tried to
create database openmrs:
* There was an error while updating the database to the latest.
file: liquibase-schema-only.xml. Error:
liquibase.exception.JDBCException: Error executing SQL CREATE
TABLE `liquibasechangeloglock` (`ID` INT NOT NULL, `LOCKED`
TINYINT(1) NOT NULL, `LOCKGRANTED` DATETIME, `LOCKEDBY`
VARCHAR(255), CONSTRAINT `PK_LIQUIBASECHANGELOGLOCK` PRIMARY
KEY (`ID`)) See the error log for more details
* There was an error while updating the database to the latest.
file: liquibase-demo-data.xml. Error:
liquibase.exception.JDBCException: Error executing SQL CREATE
TABLE `liquibasechangeloglock` (`ID` INT NOT NULL, `LOCKED`
TINYINT(1) NOT NULL, `LOCKGRANTED` DATETIME, `LOCKEDBY`
VARCHAR(255), CONSTRAINT `PK_LIQUIBASECHANGELOGLOCK` PRIMARY
KEY (`ID`)) See the error log for more details
* There was an error while updating the database to the latest.
file: liquibase-update-to-latest.xml. Error:
liquibase.exception.JDBCException: Error executing SQL CREATE
TABLE `liquibasechangeloglock` (`ID` INT NOT NULL, `LOCKED`
TINYINT(1) NOT NULL, `LOCKGRANTED` DATETIME, `LOCKEDBY`
VARCHAR(255), CONSTRAINT `PK_LIQUIBASECHANGELOGLOCK` PRIMARY
KEY (`ID`)) Error while trying to update to the latest
database version
Also I had the update database option left to No (default). I
had it set to Yes one previous time and it seems to not want to
forget that.
Thanks,
Charles Chou
On 2/17/2012 9:08 AM, Wyclif Luyima wrote:
Hi Charles,
I'm not sure how you have set up your environment, but by default
the application data directory '.OpenMRS' should be located in
the user home directory and not '/user/share/tomcat6', So you
need to delete the one in the home directory.
Wyclif
On Fri, Feb 17, 2012 at 1:27 PM, Charles C. Chou <[email protected]
<mailto:[email protected]>> wrote:
Hi,
I am now trying to re-install OpenMRS on the same Linux
server. After removing the openmrs database from mysql and
removing the .OpenMRS from /usr/share/tomcat6, undeployed
openmrs from the tomcat manager app, I proceeded with
deploying the openmrs.war file again and got the same runtime
properties not found error. I then created one manually as
suggested by James and now I got:
*The following error occurred at startup:*
Error occurred while trying to get the updates needed for the
database. liquibase.exception.JDBCException: Error executing
SQL CREATE TABLE `liquibasechangeloglock` (`ID` INT NOT NULL,
`LOCKED` TINYINT(1) NOT NULL, `LOCKGRANTED` DATETIME,
`LOCKEDBY` VARCHAR(255), CONSTRAINT
`PK_LIQUIBASECHANGELOGLOCK` PRIMARY KEY (`ID`))
java.lang.RuntimeException: Error occurred while trying to get the
updates needed for the database. liquibase.exception.JDBCException: Error
executing SQL CREATE TABLE `liquibasechangeloglock` (`ID` INT NOT NULL,
`LOCKED` TINYINT(1) NOT NULL, `LOCKGRANTED` DATETIME, `LOCKEDBY` VARCHAR(255),
CONSTRAINT `PK_LIQUIBASECHANGELOGLOCK` PRIMARY KEY (`ID`))
at
org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:578)
at
org.openmrs.util.DatabaseUpdater.updatesRequired(DatabaseUpdater.java:257)
at org.openmrs.web.Listener.setupNeeded(Listener.java:170)
at
org.openmrs.web.Listener.contextInitialized(Listener.java:142)
at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4704)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:563)
at
org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857)
at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795)
at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500)
at
org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:252)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:679)
Caused by: liquibase.exception.LockException:
liquibase.exception.JDBCException: Error executing SQL CREATE TABLE
`liquibasechangeloglock` (`ID` INT NOT NULL, `LOCKED` TINYINT(1) NOT NULL,
`LOCKGRANTED` DATETIME, `LOCKEDBY` VARCHAR(255), CONSTRAINT
`PK_LIQUIBASECHANGELOGLOCK` PRIMARY KEY (`ID`))
at liquibase.lock.LockHandler.waitForLock(LockHandler.java:176)
at liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:518)
at
org.openmrs.util.DatabaseUpdater.getUnrunDatabaseChanges(DatabaseUpdater.java:566)
... 35 more
Caused by: liquibase.exception.JDBCException: Error executing SQL
CREATE TABLE `liquibasechangeloglock` (`ID` INT NOT NULL, `LOCKED` TINYINT(1)
NOT NULL, `LOCKGRANTED` DATETIME, `LOCKEDBY` VARCHAR(255), CONSTRAINT
`PK_LIQUIBASECHANGELOGLOCK` PRIMARY KEY (`ID`))
at
liquibase.database.template.JdbcTemplate.execute(JdbcTemplate.java:55)
at
liquibase.database.template.JdbcTemplate.execute(JdbcTemplate.java:86)
at
liquibase.database.AbstractDatabase.checkDatabaseChangeLogLockTable(AbstractDatabase.java:755)
at liquibase.lock.LockHandler.waitForLock(LockHandler.java:145)
... 37 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
Table '`openmrs`.`liquibasechangeloglock`' already exists
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3468)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
at
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2642)
at
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2571)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:769)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:612)
at
liquibase.database.template.JdbcTemplate$1ExecuteStatementCallback.doInStatement(JdbcTemplate.java:78)
at
liquibase.database.template.JdbcTemplate.execute(JdbcTemplate.java:48)
... 40 more
Any ideas?
BTW anyway to see the deployment code? It seems kind of
sensitive, maybe limited to just the Linux platform.
Regards,
Charles Chou
On 2/8/2012 9:47 AM, Charles C. Chou wrote:
Thanks James. After creating the openmrs-runtime-properties
as suggested I got the installation to complete
successfully. The system is now running. Thanks again!
Regards,
Charles Chou
On 2/8/2012 8:49 AM, James Arbaugh wrote:
Hi again Charles.
It sounds like you ran into a bug. Recent versions of
OpenMRS should create the runtime properties file if it
doesn’t exist.
You could try to do it manually with the details on this page.
https://wiki.openmrs.org/display/docs/Overriding+OpenMRS+Default+Runtime+Properties
Thanks,
James
*From:*[email protected]
<mailto:[email protected]>
[mailto:[email protected]] *On Behalf Of *Charles C.
Chou
*Sent:* Wednesday, February 08, 2012 12:42 PM
*To:* [email protected]
<mailto:[email protected]>
*Subject:* Re: [OPENMRS-IMPLEMENTERS] Linux server installation
Hi,
The installation wizard is now stuck at Create database
user and will not continue. The output details is as follows:
Create database user
Number of actions completed so far:2
Server log file output:
WARN - OpenmrsUtil.getRuntimeProperties(2274) |2012-02-08
07:34:04,225| Unable to find a runtime properties file at
/usr/share/tomcat6/openmrs-runtime.properties
WARN - OpenmrsUtil.getRuntimeProperties(2304) |2012-02-08
07:34:04,351| Unable to find properties file:
/usr/share/tomcat6/.OpenMRS/openmrs-runtime.properties
WARN - OpenmrsUtil.getRuntimeProperties(2321) |2012-02-08
07:34:04,352| Unable to find a runtime properties file.
Initial setup is needed. View the webapp to run the setup
wizard.
WARN - InitializationFilter.verifyConnection(455)
|2012-02-08 07:34:27,881| Error while checking the
connection user account
ERROR - Context.getServiceContext(253) |2012-02-08
07:35:13,877| serviceContext is null. Creating new
ServiceContext()
Any ideas?
On 2/8/2012 7:05 AM, Charles C. Chou wrote:
Thanks. That was the problem. There were 2 users created,
tomcat and tomcat6, during the installation of tomcat
somehow (I guess one is from the distro package and one is
from apache-tomcat-6.0.29) The webapps directory was owned
by tomcat6 where the tomcat6 process was running as user
tomcat. After changing the webapps ownership to
tomcat.tomcat the deployment of openmrs.war was successful.
I have removed the confusing user tomcat6.
Thanks again!
Charles Chou
On 2/8/2012 6:19 AM, Michael Downey wrote:
Hi Charles,
On Wed, Feb 8, 2012 at 11:00 AM, Charles C.
Chou<[email protected]> <mailto:[email protected]> wrote:
Feb 7, 2012 10:17:09 AM
org.apache.catalina.core.ApplicationContext log
SEVERE: HTMLManager: FAIL - Deploy Upload Failed,
Exception: null
A quick Google search suggests this is probably a file
permissions
issue. Make sure all of your files are owned by the user
that is
running the Tomcat process.
Hope this helps get you started!
Best regards,
Michael Downey
OpenMRS Community Infrastructure Team
[email protected] <mailto:[email protected]> -
http://openmrs.org/
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l>
from OpenMRS Implementers' mailing list
------------------------------------------------------------------------
Click here to unsubscribe
<mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l> from
OpenMRS Implementers' mailing list
_________________________________________
To unsubscribe from OpenMRS Implementers' mailing list, send an e-mail to
[email protected] with "SIGNOFF openmrs-implement-l" in the body
(not the subject) of your e-mail.
[mailto:[email protected]?body=SIGNOFF%20openmrs-implement-l]