OpenVPMS Webapp unavailable

Hi OpenVPMS Gurus

Today our openvpms webapp is unavailable - error 404.

The tomcat installation has been running without errors for many months. A privileged user recently changed user settings within VPMS, including disabling the admin user. This admin user was used for scheduled jobs and for medical record locking.

The tomcat7 catalina.out shows:

[WARN,ArchetypeAwareVoter,localhost-startStop-1 - ] Access denied to principal=User[id=9,archetypeId=security.user.1.0,linkId=da3bccbc-f9e0-11e4-a4a0-032dd8cc1e49,version=11,name=Admin User For Pulsevet], operation=archetypeService.create, archetype=act.auditMessage
[WARN,XmlWebApplicationContext,localhost-startStop-1 - ] Exception encountered during context initialization - cancelling refresh attempt
[INFO,SessionMonitor,localhost-startStop-1 - ] Shutting down SessionMonitor
[ERROR,MessageDispatcherImpl,pool-1-thread-1 - ] Failed to send message, act Id=162137
[DEBUG,MessageDispatcherImpl,pool-1-thread-1 - ] dispatch() - end
[WARN,DisposableBeanAdapter,localhost-startStop-1 - ] Invocation of destroy method failed on bean with name 'sessionFactory': org.hibernate.cache.CacheException: java.lang.IllegalStateException: The CacheManager has been shut down. It can no longer be used.
[ERROR,ContextLoader,localhost-startStop-1 - ] Context initialization failed
Dec 15, 2018 12:59:59 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Dec 15, 2018 12:59:59 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/openvpms_pulsevet] startup failed due to previous errors
Dec 15, 2018 12:59:59 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc
SEVERE: The web application [/openvpms_pulsevet] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Dec 15, 2018 12:59:59 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads
SEVERE: The web application [/openvpms_pulsevet] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
Dec 15, 2018 12:59:59 PM org.apache.catalina.loader.WebappClassLoaderBase checkThreadLocalMapForLeaks
SEVERE: The web application [/openvpms_pulsevet] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1a2c6cff]) and a value of type [org.springframework.security.core.context.SecurityContextImpl] (value [org.springframework.security.core.context.SecurityContextImpl@ffffffff: Null authentication]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Dec 15, 2018 12:59:59 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat7/webapps/openvpms_pulsevet has finished in 53,487 ms
Dec 15, 2018 12:59:59 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
Dec 15, 2018 12:59:59 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Dec 15, 2018 12:59:59 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /var/lib/tomcat7/webapps/ROOT has finished in 491 ms

Any ideas for this one?

Regards

Damien

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: OpenVPMS Webapp unavailable

You will likely need to reactivate the user by running the following SQL in mysql or MySQL Workbench:

update entities e
set e.active= 1
where e.entity_id = 9
    and e.arch_short_name = 'security.user';

Restart Tomcat once done.

Re: OpenVPMS Webapp unavailable

Hi Tim

Thanks for that code.

The user id=9 has been enabled and tomcat restarted. Access Denied error persists in the log.

The user level or category may have been changed. Do you have mysql commands to increase the user level or add Administrator category to this user?

Error in catalina.out is now:
Unfinalised medical records may be edited subject to user permissions
[WARN,ArchetypeAwareVoter,localhost-startStop-1 - ] Access denied to principal=User[id=9,archetypeId=security.user.1.0,linkId=da3bccbc-f9e0-11e4-a4a0-032dd8cc1e49,version=11,name=Admin User For Pulsevet], operation=archetypeService.create, archetype=act.auditMessage
[WARN,XmlWebApplicationContext,localhost-startStop-1 - ] Exception encountered during context initialization - cancelling refresh attempt
[INFO,SessionMonitor,localhost-startStop-1 - ] Shutting down SessionMonitor

Thanks in advance for any feedback

Damien

Re: OpenVPMS Webapp unavailable

Hi Tim
Would you be interested in fixing this issue directly? If yes, email damien[at]thevillagevet[dot]co for root access to that server.
I have clinicians waiting, so a fix is somewhat urgent.
Thanks
Damien

 

Re: OpenVPMS Webapp unavailable

Try:

insert into user_roles (user_id, security_role_id)
select 9, security_role_id
from security_roles r
where r.name in ('Base Role', 'Administration')
    and not exists (select * from user_roles u where u.user_id = 9 and u.security_role_id = r.security_role_id);
Syndicate content