Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

  • Good Afternoon All,

    I am receiving this error on one of our client systems in the field:

    File corrupted while reading record: "[360329] stream data key:16680 pos:11 remaining:0". Possible solution: use the recovery tool [90030-181] 90030/90030 (Help)

    Based on a quick search it looks like there are varying degrees of success in recovering the database file.

    Has anyone had any experience in recovering a Mango H2 database?

    Thanks!


  • Hi Brad_GMI,

    Has anyone had any experience in recovering a Mango H2 database?

    Yeah, I've done it a couple of times or more...

    Here's the thread I typically link people to: https://forum.infiniteautomation.com/topic/2748/how-to-restore-a-database-backup

    Which has the easy way (works if the backup was created from the same version of Mango, in the third post) and the command line way (works even with backups that are from a version prior to the current version, but must be done when Mango is off and you may need to adjust the path to the H2 jar file from the second post as the version has changed).

    I would expect restoring a database backup will solve the issue. If you're using the NoSQL module, the only thing that would be lost is any events or modifications that you made to the configuration since the backup was created: the data will have still been recorded into the NoSQL database.


  • I've attempted several recoveries from the available backups. They are all producing these errors once the restore process completes:

    org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement:
    SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181]
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    	at com.serotonin.m2m2.web.filter.WebContextFilter.doFilter(WebContextFilter.java:43)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at com.serotonin.m2m2.web.filter.LoggedInFilter.doFilter(LoggedInFilter.java:49)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at com.serotonin.m2m2.web.filter.UrlSecurityFilter.doFilter(UrlSecurityFilter.java:206)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at com.serotonin.web.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:37)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
    	at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at org.springframework.web.filter.ShallowEtagHeaderFilter.doFilterInternal(ShallowEtagHeaderFilter.java:87)
    	at com.serotonin.m2m2.web.filter.MangoShallowEtagHeaderFilter.doFilterInternal(MangoShallowEtagHeaderFilter.java:47)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
    	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at com.serotonin.m2m2.web.mvc.spring.security.CsrfHeaderFilter.doFilterInternal(CsrfHeaderFilter.java:41)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
    	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    	at org.eclipse.jetty.server.Server.handle(Server.java:499)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    	at java.lang.Thread.run(Thread.java:745)
    Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement:
    SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181]
    	at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231)
    	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:645)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:680)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:722)
    	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:772)
    	at com.serotonin.db.DaoUtils.query(DaoUtils.java:308)
    	at com.serotonin.m2m2.db.dao.EventDetectorDao.getWithSourceId(EventDetectorDao.java:177)
    	at com.serotonin.m2m2.db.dao.DataPointDao.setEventDetectors(DataPointDao.java:460)
    	at com.serotonin.m2m2.db.dao.DataPointDao.setRelationalData(DataPointDao.java:288)
    	at com.serotonin.m2m2.db.dao.DataPointDao.getDataPoint(DataPointDao.java:167)
    	at com.serotonin.m2m2.db.dao.DataPointDao.getDataPoint(DataPointDao.java:159)
    	at com.serotonin.m2m2.web.mvc.controller.DataPointDetailsController.handleRequest(DataPointDetailsController.java:78)
    	at com.serotonin.m2m2.web.mvc.UrlHandlerController.handleRequest(UrlHandlerController.java:36)
    	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    	... 74 more
    Caused by: org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement:
    SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181]
    	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
    	at org.h2.message.DbException.get(DbException.java:179)
    	at org.h2.message.DbException.get(DbException.java:155)
    	at org.h2.command.Parser.readTableOrView(Parser.java:5227)
    	at org.h2.command.Parser.readTableFilter(Parser.java:1221)
    	at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1860)
    	at org.h2.command.Parser.parseSelectSimple(Parser.java:1969)
    	at org.h2.command.Parser.parseSelectSub(Parser.java:1854)
    	at org.h2.command.Parser.parseSelectUnion(Parser.java:1675)
    	at org.h2.command.Parser.parseSelect(Parser.java:1663)
    	at org.h2.command.Parser.parsePrepared(Parser.java:433)
    	at org.h2.command.Parser.parse(Parser.java:305)
    	at org.h2.command.Parser.parse(Parser.java:277)
    	at org.h2.command.Parser.prepareCommand(Parser.java:242)
    	at org.h2.engine.Session.prepareLocal(Session.java:446)
    	at org.h2.engine.Session.prepareCommand(Session.java:388)
    	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1189)
    	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:72)
    	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:277)
    	at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.createPreparedStatement(JdbcTemplate.java:1516)
    	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:623)
    	... 90 more
    
    REQUEST URL
    http://localhost:8080/exception/error.jsp
    
    REQUEST PARAMETERS
    
    
    REQUEST HEADERS
       Cookie=MANGO8080=1oorhho5d8upo1gbk0m2mlbznz; XSRF-TOKEN=f1840133-71be-4aaf-9ff9-e5cc0422867d
       Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
       Upgrade-Insecure-Requests=1
       User-Agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
       Referer=http://localhost:8080/modules.shtm
       Connection=keep-alive
       Host=localhost:8080
       Accept-Language=en-US,en;q=0.5
       Accept-Encoding=gzip, deflate
    
    
    REQUEST ATTRIBUTES
       javax.servlet.forward.context_path=
       org.springframework.web.context.request.async.WebAsyncManager.WEB_ASYNC_MANAGER=org.springframework.web.context.request.async.WebAsyncManager@5252d6dd
       javax.servlet.error.status_code=500
       javax.servlet.forward.servlet_path=/data_point_details.shtm
       org.springframework.web.servlet.DispatcherServlet.CONTEXT=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext
       javax.servlet.jsp.jstl.fmt.localizationContext.request=org.springframework.web.servlet.support.JstlUtils$SpringLocalizationContext@1bc9424c
       org.springframework.web.servlet.HandlerMapping.introspectTypeLevelMapping=false
       org.eclipse.jetty.server.error_page=/exception/error.jsp
       __spring_security_session_mgmt_filter_applied=true
       urlSecurity=true
       org.springframework.web.servlet.DispatcherServlet.LOCALE_RESOLVER=org.springframework.web.servlet.i18n.SessionLocaleResolver@6a6a2a03
       org.springframework.web.servlet.HandlerMapping.bestMatchingPattern=/data_point_details.shtm
       org.springframework.web.servlet.DispatcherServlet.OUTPUT_FLASH_MAP=FlashMap [attributes={}, targetRequestPath=null, targetRequestParams={}]
       javax.servlet.error.exception_type=class org.springframework.web.util.NestedServletException
       org.springframework.web.servlet.DispatcherServlet.FLASH_MAP_MANAGER=org.springframework.web.servlet.support.SessionFlashMapManager@3b093a20
       lang=en
       javax.servlet.forward.request_uri=/data_point_details.shtm
       availableLanguages=[]
       javax.servlet.http.HttpServletResponse=org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterResponse@3893bdbb
       __spring_security_filterSecurityInterceptor_filterApplied=true
       _csrf=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349
       javax.servlet.error.servlet_name=springDispatcher
       javax.servlet.error.message=org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement:
    SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181]
       org.springframework.web.servlet.DispatcherServlet.THEME_SOURCE=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext
       instanceDescription=My Mango Automation
       NEW_ID=-1
       org.springframework.web.servlet.HandlerMapping.pathWithinHandlerMapping=/data_point_details.shtm
       org.springframework.security.web.csrf.CsrfToken=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349
       javax.servlet.error.request_uri=/data_point_details.shtm
       org.springframework.web.servlet.DispatcherServlet.THEME_RESOLVER=org.springframework.web.servlet.theme.FixedThemeResolver@3642fad0
       javax.servlet.jsp.jstl.fmt.locale.request=en_US
       javax.servlet.error.exception=org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id]; nested exception is org.h2.jdbc.JdbcSQLException: Table "EVENTDETECTORS" not found; SQL statement:
    SELECT edt.id,edt.xid,edt.sourceTypeName,edt.typeName,edt.data,edt.dataPointId FROM eventDetectors AS edt WHERE edt.dataPointId=? ORDER BY id [42102-181]
    
    
    SESSION ATTRIBUTES
       org.springframework.security.web.csrf.HttpSessionCsrfTokenRepository.CSRF_TOKEN=org.springframework.security.web.csrf.DefaultCsrfToken@d43e349
       sessionUser=User [id=1, username=admin, password={BCRYPT}$2a$10$geXLtQkG69172R6A5oHyGO4uv4UrMwPNVg0/XiNvsttNfgDK9m0wC, email=admin@yourMangoDomain.com, phone=, disabled=false, homeUrl=null, lastLogin=0, receiveAlarmEmails=-3, receiveOwnAuditEvents=false, timezone=null, permissions=superadmin]
       LONG_POLL_DATA_TIMEOUT=1550520355793
       SPRING_SECURITY_CONTEXT=org.springframework.security.core.context.SecurityContextImpl@eefb1197: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@eefb1197: Principal: User [id=1, username=admin, password={BCRYPT}$2a$10$geXLtQkG69172R6A5oHyGO4uv4UrMwPNVg0/XiNvsttNfgDK9m0wC, email=admin@yourMangoDomain.com, phone=, disabled=false, homeUrl=null, lastLogin=0, receiveAlarmEmails=-3, receiveOwnAuditEvents=false, timezone=null, permissions=superadmin]; Credentials: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_superadmin, ROLE_ADMIN
       LONG_POLL_DATA=[com.serotonin.m2m2.web.dwr.longPoll.LongPollData@360ca62, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@8d8250d, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@4c78eef5, com.serotonin.m2m2.web.dwr.longPoll.LongPollData@1df20e14]
    
    
    CONTEXT ATTRIBUTES
       org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern=.*\.jar$
       DwrContainer=org.directwebremoting.impl.DefaultContainer@11ab28ec
       LocalDeviceDwr=com.serotonin.ma.bacnet.device.LocalDeviceDwr@309ec473
       constants.EventType.EventTypeNames.AUDIT=AUDIT
       constants.SystemEventType.TYPE_USER_LOGIN=USER_LOGIN
       constants.Permissions.DataPointAccessTypes.READ=1
       org.directwebremoting.ContainerList=[org.directwebremoting.impl.DefaultContainer@11ab28ec]
       constants.DataTypes.BINARY=1
       constants.UserComment.TYPE_EVENT=1
       constants.SystemEventType.TYPE_SYSTEM_STARTUP=SYSTEM_STARTUP
       constants.SystemEventType.TYPE_REJECTED_WORK_ITEM=REJECTED_WORK_ITEM
       constants.AuditEventType.TYPE_EVENT_DETECTOR=EVENT_DETECTOR
       javax.servlet.ServletConfig=org.eclipse.jetty.servlet.ServletHolder$Config@3482d47c
       javax.servlet.http.HttpServlet=org.directwebremoting.servlet.DwrServlet@31342b54
       org.eclipse.jetty.tmpdirConfigured=true
       constants.EventType.EventTypeNames.DATA_POINT=DATA_POINT
       clientSideMessages={common.alarmLevel.lifeSafety=com.serotonin.m2m2.i18n.TranslatableMessage@1c71626, common.disabled=com.serotonin.m2m2.i18n.TranslatableMessage@be9bfeff, header.mute=com.serotonin.m2m2.i18n.TranslatableMessage@43df3cba, header.unmute=com.serotonin.m2m2.i18n.TranslatableMessage@d635aa93, common.alarmLevel.critical=com.serotonin.m2m2.i18n.TranslatableMessage@2b076d7, js.help.related=com.serotonin.m2m2.i18n.TranslatableMessage@3dce6ae3, js.help.lastUpdated=com.serotonin.m2m2.i18n.TranslatableMessage@729293fd, js.email.addAddress=com.serotonin.m2m2.i18n.TranslatableMessage@cbb9a38a, js.help.error=com.serotonin.m2m2.i18n.TranslatableMessage@f876c0, js.email.addUser=com.serotonin.m2m2.i18n.TranslatableMessage@49cc77b5, js.email.addMailingList=com.serotonin.m2m2.i18n.TranslatableMessage@6fa4a69f, js.email.noRecipForEmail=com.serotonin.m2m2.i18n.TranslatableMessage@4b694592, common.access.set=com.serotonin.m2m2.i18n.TranslatableMessage@a3e5309b, common.access.read=com.serotonin.m2m2.i18n.TranslatableMessage@d8bff83d, common.loading=com.serotonin.m2m2.i18n.TranslatableMessage@cf5f0419, common.sendTestEmail=com.serotonin.m2m2.i18n.TranslatableMessage@8fd89c9f, common.disabledToggle=com.serotonin.m2m2.i18n.TranslatableMessage@d7f89333, common.alarmLevel.none=com.serotonin.m2m2.i18n.TranslatableMessage@223c1a70, common.administrator=com.serotonin.m2m2.i18n.TranslatableMessage@a467f3ea, common.enabledToggle=com.serotonin.m2m2.i18n.TranslatableMessage@ea5c2f12, common.alarmLevel.urgent=com.serotonin.m2m2.i18n.TranslatableMessage@8fa9c879, common.minimize=com.serotonin.m2m2.i18n.TranslatableMessage@5d740b21, js.email.noRecipients=com.serotonin.m2m2.i18n.TranslatableMessage@d78563d2, common.user=com.serotonin.m2m2.i18n.TranslatableMessage@8a9479ce, events.silence=com.serotonin.m2m2.i18n.TranslatableMessage@8376c0ac, js.email.testSent=com.serotonin.m2m2.i18n.TranslatableMessage@f59d9881, common.alarmLevel.ignore=com.serotonin.m2m2.i18n.TranslatableMessage@7a97f30a, common.maximize=com.serotonin.m2m2.i18n.TranslatableMessage@c752a74f, common.alarmLevel.doNotLog=com.serotonin.m2m2.i18n.TranslatableMessage@9d8a4f14, events.unsilence=com.serotonin.m2m2.i18n.TranslatableMessage@29ad6533, common.alarmLevel.info=com.serotonin.m2m2.i18n.TranslatableMessage@2239cfe6}
       constants.SystemEventType.TYPE_SET_POINT_HANDLER_FAILURE=SET_POINT_HANDLER_FAILURE
       MangoApiSystemSettingsDwr=com.infiniteautomation.mangoApi.web.MangoApiSystemSettingsDwr@799089d6
       constants.DataTypes.ALPHANUMERIC=4
       constants.Permissions.DataPointAccessTypes.ADMIN=4
       constants.Permissions.DataPointAccessTypes.SET=2
       constants.AuditEventType.TYPE_DATA_SOURCE=DATA_SOURCE
       constants.SystemEventType.TYPE_EMAIL_SEND_FAILURE=EMAIL_SEND_FAILURE
       constants.SystemEventType.TYPE_UPGRADE_CHECK=UPGRADE_CHECK
       constants.Permissions.DataPointAccessTypes.NONE=0
       org.directwebremoting.impl.ServerContext=org.directwebremoting.impl.DefaultServerContext@3f6b67cb
       constants.EventType.EventTypeNames.PUBLISHER=PUBLISHER
       org.eclipse.jetty.containerInitializers=[ContainerInitializer{org.eclipse.jetty.apache.jsp.JettyJasperInitializer,interested=[],applicable=[],annotated=[]}]
       org.eclipse.jetty.server.Executor=qtp1324514662{STARTED,10<=10<=200,i=6,q=0}
       constants.EventType.EventTypeNames.DATA_SOURCE=DATA_SOURCE
       constants.SystemEventType.TYPE_LICENSE_CHECK=LICENSE_CHECK
       org.springframework.web.context.WebApplicationContext.ROOT=Root WebApplicationContext: startup date [Mon Feb 18 15:00:31 EST 2019]; root of context hierarchy
       org.springframework.web.context.support.ServletContextScope=org.springframework.web.context.support.ServletContextScope@1de8756e
       constants.SystemEventType.TYPE_SYSTEM_SHUTDOWN=SYSTEM_SHUTDOWN
       SystemSettingsDwr=com.serotonin.m2m2.web.dwr.SystemSettingsDwr@d16830c
       mangoMessageKeys=[Ljava.lang.String;@38290674
       org.directwebremoting.WebContextFactory$WebContextBuilder=org.directwebremoting.impl.DefaultWebContextBuilder@140411b3
       org.apache.jasper.runtime.JspApplicationContextImpl=org.apache.jasper.runtime.JspApplicationContextImpl@4a994558
       javax.servlet.context.tempdir=C:\EnsureSmart\work
       constants.DataTypes.MULTISTATE=2
       org.apache.tomcat.InstanceManager=org.apache.tomcat.SimpleInstanceManager@732ea1e4
       org.apache.catalina.jsp_classpath=C:\EnsureSmart\web\modules\sqlConsole\classes;C:\EnsureSmart\web\modules\sqlConsole\lib\m2m2-sqlConsole-1.6.0.jar;C:\EnsureSmart\web\modules\sstGraphics\classes;C:\EnsureSmart\web\modules\sstGraphics\lib\m2m2-sstGraphics-1.2.0.jar;C:\EnsureSmart\web\modules\TCPIP\classes;C:\EnsureSmart\web\modules\TCPIP\lib\m2m2-TCPIP-1.2.0.jar;C:\EnsureSmart\web\modules\dataPointDetailsView\classes;C:\EnsureSmart\web\modules\dataPointDetailsView\lib\m2m2-dataPointDetailsView-1.1.0.jar;C:\EnsureSmart\web\modules\jsonFileImport\classes;C:\EnsureSmart\web\modules\jsonFileImport\lib\m2m2-jsonFileImport-1.2.2.jar;C:\EnsureSmart\web\modules\mbus\classes;C:\EnsureSmart\web\modules\mbus\lib\commons-beanutils-1.8.3.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-collections-3.2.2.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-lang-2.5.jar;C:\EnsureSmart\web\modules\mbus\lib\commons-logging-1.1.1.jar;C:\EnsureSmart\web\modules\mbus\lib\ezmorph-1.0.6.jar;C:\EnsureSmart\web\modules\mbus\lib\json-lib-2.4-jdk15.jar;C:\EnsureSmart\web\modules\mbus\lib\m2m2-mbus-1.2.0.jar;C:\EnsureSmart\web\modules\mbus\lib\mbus4j-core-1.0.0.jar;C:\EnsureSmart\web\modules\mbus\lib\mbus4j-master-1.0.0.jar;C:\EnsureSmart\web\modules\mbus\lib\spsw-java-0.0.7.jar;C:\EnsureSmart\web\modules\twilio\classes;C:\EnsureSmart\web\modules\twilio\lib\m2m2-twilio-1.2.0.jar;C:\EnsureSmart\web\modules\twilio\lib\twilio-java-sdk-3.4.1-jar-with-dependencies.jar;C:\EnsureSmart\web\modules\pop3\classes;C:\EnsureSmart\web\modules\pop3\lib\m2m2-pop3-1.6.0.jar;C:\EnsureSmart\web\modules\vmstat\classes;C:\EnsureSmart\web\modules\vmstat\lib\m2m2-vmstat-1.6.0.jar;C:\EnsureSmart\web\modules\egauge\classes;C:\EnsureSmart\web\modules\egauge\lib\m2m2-egauge-1.2.0.jar;C:\EnsureSmart\web\modules\scripting\classes;C:\EnsureSmart\web\modules\scripting\lib\m2m2-scripting-1.2.0.jar;C:\EnsureSmart\web\modules\opcda\classes;C:\EnsureSmart\web\modules\opcda\lib\j-interop-2.0.10.jar;C:\EnsureSmart\web\modules\opcda\lib\j-interopdeps-2.01.jar;C:\EnsureSmart\web\modules\opcda\lib\jcifs-1.2.19.jar;C:\EnsureSmart\web\modules\opcda\lib\m2m2-opcda-1.7.0.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.opc.dcom_0.7.0.201203290910.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.opc.lib_0.9.0.201203290910.jar;C:\EnsureSmart\web\modules\opcda\lib\org.openscada.utils_0.17.0.201203290908.jar;C:\EnsureSmart\web\modules\loggingConsole\classes;C:\EnsureSmart\web\modules\loggingConsole\lib\m2m2-loggingConsole-1.2.0.jar;C:\EnsureSmart\web\modules\asciiFile\classes;C:\EnsureSmart\web\modules\asciiFile\lib\m2m2-asciiFile-1.3.0.jar;C:\EnsureSmart\web\modules\dashboards\classes;C:\EnsureSmart\web\modules\dashboards\lib\m2m2-dashboards-3.3.1.jar;C:\EnsureSmart\web\modules\dataImport\classes;C:\EnsureSmart\web\modules\dataImport\lib\m2m2-dataImport-1.5.0.jar;C:\EnsureSmart\web\modules\serial\classes;C:\EnsureSmart\web\modules\serial\lib\m2m2-serial-1.3.0.jar;C:\EnsureSmart\web\modules\onewire\classes;C:\EnsureSmart\web\modules\onewire\lib\m2m2-onewire-1.6.0.jar;C:\EnsureSmart\web\modules\onewire\lib\OneWireAPI.jar;C:\EnsureSmart\web\modules\onewire\lib\RXTXcomm.jar;C:\EnsureSmart\web\modules\ssh\classes;C:\EnsureSmart\web\modules\ssh\lib\jsch-0.1.51.jar;C:\EnsureSmart\web\modules\ssh\lib\m2m2-ssh-1.2.0.jar;C:\EnsureSmart\web\modules\sstGlobalScripts\classes;C:\EnsureSmart\web\modules\sstGlobalScripts\lib\m2m2-sstGlobalScripts-1.6.0.jar;C:\EnsureSmart\web\modules\BACnet\classes;C:\EnsureSmart\web\modules\BACnet\lib\bacnet4j-3.2.4.jar;C:\EnsureSmart\web\modules\BACnet\lib\m2m2-BACnet-2.3.0.jar;C:\EnsureSmart\web\modules\mangoApi\classes;C:\EnsureSmart\web\modules\mangoApi\lib\apache-log4j-extras-1.2.17.jar;C:\EnsureSmart\web\modules\mangoApi\lib\m2m2-mangoApi-1.2.1.jar;C:\EnsureSmart\web\modules\modbus\classes;C:\EnsureSmart\web\modules\modbus\lib\m2m2-modbus-1.8.0.jar;C:\EnsureSmart\web\modules\modbus\lib\modbus4j-3.0.3.jar;C:\EnsureSmart\web\modules\excelReports\classes;C:\EnsureSmart\web\modules\excelReports\lib\m2m2-excelReports-1.1.2.jar;C:\EnsureSmart\web\modules\dglux\classes;C:\EnsureSmart\web\modules\dglux\lib\gentlyWEB-utils-1.1.jar;C:\EnsureSmart\web\modules\dglux\lib\JoSQL-2.2.jar;C:\EnsureSmart\web\modules\dglux\lib\m2m2-dglux-1.4.0.jar;C:\EnsureSmart\web\modules\virtualDS\classes;C:\EnsureSmart\web\modules\virtualDS\lib\m2m2-virtualDS-1.6.1.jar;C:\EnsureSmart\web\modules\scheduledEvents\classes;C:\EnsureSmart\web\modules\scheduledEvents\lib\m2m2-scheduledEvents-1.6.0.jar;C:\EnsureSmart\web\modules\jspViews\classes;C:\EnsureSmart\web\modules\jspViews\lib\m2m2-jspViews-2.2.0.jar;C:\EnsureSmart\web\modules\log4jDS\classes;C:\EnsureSmart\web\modules\log4jDS\lib\m2m2-log4jDS-1.2.0.jar;C:\EnsureSmart\web\modules\snmp\classes;C:\EnsureSmart\web\modules\snmp\lib\m2m2-snmp-1.6.0.jar;C:\EnsureSmart\web\modules\snmp\lib\SNMP4J.jar;C:\EnsureSmart\web\modules\pointLinks\classes;C:\EnsureSmart\web\modules\pointLinks\lib\m2m2-pointLinks-1.6.0.jar;C:\EnsureSmart\web\modules\sqlds\classes;C:\EnsureSmart\web\modules\sqlds\lib\m2m2-sqlds-1.7.0.jar;C:\EnsureSmart\web\modules\controlcore\classes;C:\EnsureSmart\web\modules\controlcore\lib\m2m2-controlcore-1.2.0.jar;C:\EnsureSmart\web\modules\meta\classes;C:\EnsureSmart\web\modules\meta\lib\m2m2-meta-2.3.0.jar;C:\EnsureSmart\web\modules\dnp3\classes;C:\EnsureSmart\web\modules\dnp3\lib\dnp34j.jar;C:\EnsureSmart\web\modules\dnp3\lib\m2m2-dnp3-1.7.0.jar;C:\EnsureSmart\web\modules\maintenanceEvents\classes;C:\EnsureSmart\web\modules\maintenanceEvents\lib\m2m2-maintenanceEvents-1.6.0.jar;C:\EnsureSmart\web\modules\graphicalViews\classes;C:\EnsureSmart\web\modules\graphicalViews\lib\m2m2-graphicalViews-1.7.0.jar;C:\EnsureSmart\web\modules\persistent\classes;C:\EnsureSmart\web\modules\persistent\lib\m2m2-persistent-1.7.2.jar;C:\EnsureSmart\web\modules\templateConfig\classes;C:\EnsureSmart\web\modules\templateConfig\lib\m2m2-templateConfig-1.1.0.jar;C:\EnsureSmart\web\modules\internal\classes;C:\EnsureSmart\web\modules\internal\lib\m2m2-internal-1.6.2.jar;C:\EnsureSmart\web\modules\http\classes;C:\EnsureSmart\web\modules\http\lib\m2m2-http-1.6.2.jar;C:\EnsureSmart\web\modules\log4JReset\classes;C:\EnsureSmart\web\modules\log4JReset\lib\m2m2-log4JReset-1.2.0.jar;C:\EnsureSmart\web\modules\reports\classes;C:\EnsureSmart\web\modules\reports\lib\m2m2-reports-2.3.2.jar;C:\EnsureSmart\web\modules\dataFile\classes;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-api.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-core.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-impl.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-jxc.jar;C:\EnsureSmart\web\modules\dataFile\lib\jaxb-xjc.jar;C:\EnsureSmart\web\modules\dataFile\lib\m2m2-dataFile-1.2.0.jar;C:\EnsureSmart\web\modules\watchlists\classes;C:\EnsureSmart\web\modules\watchlists\lib\m2m2-watchlists-1.8.0.jar
       constants.UserComment.TYPE_POINT=2
       org.directwebremoting.Container=org.directwebremoting.impl.DefaultContainer@11ab28ec
       constants.DataTypes.IMAGE=5
       org.apache.jasper.compiler.TldCache=org.apache.jasper.compiler.TldCache@286acdad
       org.springframework.web.servlet.FrameworkServlet.CONTEXT.springDispatcher=WebApplicationContext for namespace 'springDispatcher-servlet': startup date [Mon Feb 18 15:00:34 EST 2019]; parent: Root WebApplicationContext
       constants.Permissions.DataPointAccessTypes.DATA_SOURCE=3
       constants.EventType.EventTypeNames.SYSTEM=SYSTEM
       constants.SystemEventType.TYPE_PROCESS_FAILURE=PROCESS_FAILURE
       constants.AuditEventType.TYPE_DATA_POINT=DATA_POINT
       constants.SystemEventType.TYPE_MAX_ALARM_LEVEL_CHANGED=MAX_ALARM_LEVEL_CHANGED
       constants.DataTypes.NUMERIC=3
       constants.Common.NEW_ID=-1
       MiscDwr=com.serotonin.m2m2.web.dwr.MiscDwr@1c57d89a
       constants.AuditEventType.TYPE_EVENT_HANDLER=EVENT_HANDLER
    

  • Are you restoring a backup from a previous version of Mango into a newer version? That's what it looks like. To do that, you would have to follow the instructions for doing the restore on the command line, so that Mango can follow its normal upgrade procedure during startup. The "eventDetectors" table which is missing was created in Upgrade12, which was released long ago.

    You'll want to move your existing mah2.h2.db file before doing the command line restore, for safe keeping.