This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Vibe 4.0.4 SLES11SP3 to Vibe 4.0.6 OES2018 crash

Hey,

at the moment I tried to move our Vibe 4.0.4 on an SLES11 SP3 to an new Server with OES2018 and Vibe 4.0.6, but when i restore the data from the old server, i became an error at the browser like below

HTTP Status 500 – Internal Server Error

Type Exception Report

Message Cannot find class [org.kablink.teaming.util.SPropsUtil] for bean with name 'sPropsUtil' defined in ServletContext resource [/WEB-INF/context/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.kablink.teaming.util.SPropsUtil]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.kablink.teaming.util.SPropsUtil] for bean with name 'sPropsUtil' defined in ServletContext resource [/WEB-INF/context/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.kablink.teaming.util.SPropsUtil]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1357)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076)
org.kablink.teaming.util.SpringContextUtil.getBean(SpringContextUtil.java:117)
org.kablink.teaming.util.SessionUtil.getSessionFactory(SessionUtil.java:55)
org.kablink.teaming.util.SessionUtil.sessionActive(SessionUtil.java:101)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.setupHibernateSession(HibernateSessionSetupFilter.java:89)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.doFilter(HibernateSessionSetupFilter.java:73)
org.kablink.teaming.webdav.servlet.filter.ResourceDispatchFilter.doFilter(ResourceDispatchFilter.java:87)

Root Cause

java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [org.kablink.teaming.util.SPropsUtil]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1319)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1176)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:394)
org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1402)
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1349)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076)
org.kablink.teaming.util.SpringContextUtil.getBean(SpringContextUtil.java:117)
org.kablink.teaming.util.SessionUtil.getSessionFactory(SessionUtil.java:55)
org.kablink.teaming.util.SessionUtil.sessionActive(SessionUtil.java:101)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.setupHibernateSession(HibernateSessionSetupFilter.java:89)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.doFilter(HibernateSessionSetupFilter.java:73)
org.kablink.teaming.webdav.servlet.filter.ResourceDispatchFilter.doFilter(ResourceDispatchFilter.java:87)

Root Cause

java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.kablink.teaming.util.SPropsUtil]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1329)
org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1317)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1176)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
org.springframework.util.ClassUtils.forName(ClassUtils.java:250)
org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:394)
org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1402)
org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1349)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:296)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076)
org.kablink.teaming.util.SpringContextUtil.getBean(SpringContextUtil.java:117)
org.kablink.teaming.util.SessionUtil.getSessionFactory(SessionUtil.java:55)
org.kablink.teaming.util.SessionUtil.sessionActive(SessionUtil.java:101)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.setupHibernateSession(HibernateSessionSetupFilter.java:89)
org.kablink.teaming.webdav.servlet.filter.HibernateSessionSetupFilter.doFilter(HibernateSessionSetupFilter.java:73)
org.kablink.teaming.webdav.servlet.filter.ResourceDispatchFilter.doFilter(ResourceDispatchFilter.java:87)

Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.32


I had setup an new Server with OES2018 an install mysql 8 and Vibe 4.0.6 an all work fine, I can login and do what ever I want. But if I restore the data from the existing Vibe 4.0.4 it dosn´t work anymore.

I think you will know how I restore the data.
I copied the /var/opt/novell/teaming via WINSCP from the old Vibe to my computer and create an dumpfile from the Database. On the new Vibe I copied the data from my computer to the new server in the same location an changed the Owner to my Vibeuser and my Vibegroup, and because there is an testserver I changed the rights to 777, so I can be sure there is no right issue, I restored the dumpfile in mysql an then I run the Vibe Upgrade again. Run the Datbase update and start the vibe deamon. At the point I enter the Vibe site, the Error appear.

What do I wrong and is there a way I can fix this issue.
  • 0
    landrich;2497093 wrote:
    Hey,

    at the moment I tried to move our Vibe 4.0.4 on an SLES11 SP3 to an new Server with OES2018 and Vibe 4.0.6, but when i restore the data from the old server, i became an error at the browser like below


    AFAIK you can't just move the data part of one Vibe instance to another install. You will then be missing essential config entries that are unique to the original install.

    I've moved Vibe over to new server quite a few times, the method there was to make a tar backup of;

    1) /opt/novell/teaming
    2) /var/opt/novell/teaming
    3) /var/lib/mysql

    To be clear, the tar backup should be made with teaming shutdown and mysql/mariadb service stopped.

    Before untar'ing those files on the new server, it's convenient to have teaming user and group accounts in place in the server (with the same id).

    Also I usually combine it with a Vibe upgrade as you can then simple run the teaming-installer script in upgrade mode.

    Make sure to use the original installer.xml, and have the original database up and running on the new server before doing so (do an mysql_upgrade when applicable).

    With the above I have not had any real issues.

    Cheers,
    Willem
  • 0 in reply to 
    thanks, my fault was the vibeuser and vibegroup, at the old Server I wroth it with lowercase in the new with uppercase, now I fixed it and all work fine
  • 0 in reply to 
    landrich;2497200 wrote:
    thanks, my fault was the vibeuser and vibegroup, at the old Server I wroth it with lowercase in the new with uppercase, now I fixed it and all work fine


    Ah, that was a simple fix! Very good to know.

    Just curious, you did not bring over /opt/novell/teaming to the new server as well?

    Cheers,
    Willem