• Recent
    • Tags
    • Popular
    • Register
    • Login

    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 Mango 5 Documentation Website

    Problem With Mango

    User help
    2
    11
    3.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • phildunlapP
      phildunlap
      last edited by phildunlap

      Hi Rodrigo,

      You should check the Mango\logs\ma.log file for any errors that occur during startup.

      You can also launch it from a command prompt and you'll get the log output in the console, by navigating to Mango\bin\ and running ma-start.bat. You'll need either JAVA_HOME set or java on the PATH

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by

        I just noticed you emailed in your logs. One moment please.....

        1 Reply Last reply Reply Quote 0
        • phildunlapP
          phildunlap
          last edited by phildunlap

          It looks like your database is corrupted, and that is preventing starting. Specifically, a binary chunk of data in your events table appears to have been misplaced.

          You have a couple paths to resolve, you can

          1. Use the Mango\bin\h2-web-console.bat (be sure to add the -webAllowOthers as the comment in the script suggests if you'll be accessing it from another computer) and run delete from events; delete from userEvents; then try to start again and see if the only issue was in the events table.

          or
          2) Move your Mango\databases\mah2.h2.db file somewhere else (back it up), start Mango on a fresh database (login admin/admin) and use the SQL Database Backup tools in the system settings to restore an H2 backup from your Mango\backups\ directory. After restore restart Mango and see if it'll start.

          1 Reply Last reply Reply Quote 0
          • R
            Rodrigo
            last edited by Rodrigo

            Hi Phil,
            Thanks for answering so fast!

            I followed the point 2,

            • moved the mah2.h2.db somewhere else
            • started mango with ma-start.bat (it started and everything I had on Mango and DGLux dissapeared, including licenses)
            • went to system settings, Database Backup Settings, Get backups,
            • choosed one from a month ago and clicked restore database, here I closed the browser and the command prompt, I couldn't do anything else.
            • restarted from m-start.bat and now the loading lines goes to 100% and says "Running shutdown tasks", and keeps refreshing but it doesn't finish loading and mango doesn't starts.

            The point 1 you recommended, I don't have the h2-web-console.bat file in that folder, or any other folder.

            1 Reply Last reply Reply Quote 0
            • phildunlapP
              phildunlap
              last edited by phildunlap

              Certainly!

              Did the database restore finish successfully? Can you post or email the log from the current startup?

              Edit: It is very surprising to me that you would not have an h2-web-console.bat in your Mango/bin/ directory... I believe that was added in 2.7

              R 1 Reply Last reply Reply Quote 0
              • R
                Rodrigo @phildunlap
                last edited by Rodrigo

                @phildunlap

                How do I know if the database has finished restoring?
                After hitting restore it just stays there.

                My mango version is 2.5.2

                "Using C:\Mango as MA_HOME
                C:\Mango\overrides\classes;C:\Mango\classes;C:\Mango\overrides\properties;C:\Man
                go\overrides\lib*;C:\Mango\lib*
                Using Java at java
                INFO 2017-05-26 14:51:16,416 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'asciiFile', v1.1.5 by Infinite Automation
                INFO 2017-05-26 14:51:16,423 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'BACnet', v2.1.3 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,427 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'controlcore', v1.0.5 by Infinite Automation
                INFO 2017-05-26 14:51:16,429 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'dashboards', v1.0.3 by Infinite Automation
                INFO 2017-05-26 14:51:16,430 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'dataFile', v1.0.8 by Infinite Automation
                INFO 2017-05-26 14:51:16,435 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'dataImport', v1.3.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,438 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'dglux', v1.2.0 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,440 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'dnp3', v1.5.0 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,443 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'galil', v1.4.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,445 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'graphicalViews', v1.5.2 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,463 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'http', v1.4.7 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,467 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'internal', v1.4.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,469 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'jmxds', v1.4.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,472 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'jspViews', v2.0.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,482 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'log4jDS', v1.0.2 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,485 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'log4JReset', v1.0.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,486 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'loggingConsole', v1.0.2 by Infinite Automation
                INFO 2017-05-26 14:51:16,487 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'maintenanceEvents', v1.4.8 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,490 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'mangoApi', v1.0.3 by Infinite Automation
                INFO 2017-05-26 14:51:16,491 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'mbus', v1.0.7 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,496 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'meta', v2.1.1 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,500 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'modbus', v1.5.4 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,509 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'onewire', v1.4.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,512 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'opcda', v1.5.7 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,513 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'openv4j', v1.0.5 by aploese
                INFO 2017-05-26 14:51:16,515 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'pachube', v1.4.8 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,517 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'persistent', v1.5.8 by Infinite Automation Systems Inc.
                INFO 2017-05-26 14:51:16,520 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'pointLinks', v1.4.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,522 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'pop3', v1.4.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,525 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'reports', v2.1.3 by Infinite Automation Systems Inc.
                INFO 2017-05-26 14:51:16,529 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'scheduledEvents', v1.4.7 by (unknown vendor)
                INFO 2017-05-26 14:51:16,531 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'scripting', v1.0.8 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,535 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'serial', v1.1.5 by Infinite Automation
                INFO 2017-05-26 14:51:16,537 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'snmp', v1.4.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,540 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'sqlConsole', v1.4.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,542 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'sqlds', v1.5.7 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,545 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'ssh', v1.0.5 by Infinite Automation Systems Inc.
                INFO 2017-05-26 14:51:16,548 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'sstGlobalScripts', v1.4.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,550 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'sstGraphics', v1.0.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,551 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'sstTheme', v1.0.6 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,551 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'TCPIP', v1.0.3 by Infinite Automation Systems Inc.
                INFO 2017-05-26 14:51:16,554 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'templateConfig', v1.0.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,556 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'twilio', v1.0.4 by (unknown vendor)
                INFO 2017-05-26 14:51:16,560 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'virtualDS', v1.4.5 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,563 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'vmstat', v1.4.7 by Infinite Automation Software
                INFO 2017-05-26 14:51:16,569 (com.serotonin.m2m2.Main.loadModules:402) - Loadin
                g module 'watchlists', v1.6.1 by Infinite Automation Systems Inc.
                INFO 2017-05-26 14:51:17,306 (com.serotonin.m2m2.Lifecycle.loadLic:411) - Check
                ing license...
                INFO 2017-05-26 14:51:17,373 (com.serotonin.m2m2.db.H2Proxy.initializeImpl:42)

                • Initializing H2 connection manager
                  INFO 2017-05-26 14:51:22,014 (com.serotonin.m2m2.db.upgrade.DBUpgrade.checkUpgr
                  ade:36) - Starting instance with core version 2.5.2, db 9
                  Exception in thread "main" org.springframework.jdbc.BadSqlGrammarException: Prep
                  aredStatementCallback; bad SQL grammar [select id, xid, alias, data from eventHa
                  ndlers where eventTypeName=? and eventSubtypeName=? and (eventTypeRef1=? or ev
                  entTypeRef1=0) and (eventTypeRef2=? or eventTypeRef2=0)]; nested exception is o
                  rg.h2.jdbc.JdbcSQLException: Tabla "EVENTHANDLERS" no encontrada
                  Table "EVENTHANDLERS" not found; SQL statement:
                  select id, xid, alias, data from eventHandlers where eventTypeName=? and eventSu
                  btypeName=? and (eventTypeRef1=? or eventTypeRef1=0) and (eventTypeRef2=? or
                  eventTypeRef2=0) [42102-181]
                  at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.d
                  oTranslate(SQLErrorCodeSQLExceptionTranslator.java:231)
                  at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslat
                  or.translate(AbstractFallbackSQLExceptionTranslator.java:73)
                  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
                1. at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:69
                2.  at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:72
                  
                3.  at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:73
                  
                4.  at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:78
                  
                5.  at com.serotonin.db.DaoUtils.query(DaoUtils.java:308)
                   at com.serotonin.m2m2.db.dao.EventDao.getEventHandlers(EventDao.java:611
                  

                )
                at com.serotonin.m2m2.db.dao.EventDao.getEventHandlers(EventDao.java:581
                )
                at com.serotonin.m2m2.rt.EventManager.setHandlers(EventManager.java:415)

                    at com.serotonin.m2m2.rt.EventManager.raiseEvent(EventManager.java:94)
                    at com.serotonin.m2m2.rt.event.type.SystemEventType.raiseEvent(SystemEve
                

                ntType.java:97)
                at com.serotonin.m2m2.Lifecycle.terminate(Lifecycle.java:321)
                at com.serotonin.m2m2.Main.main(Main.java:108)
                Caused by: org.h2.jdbc.JdbcSQLException: Tabla "EVENTHANDLERS" no encontrada
                Table "EVENTHANDLERS" not found; SQL statement:
                select id, xid, alias, data from eventHandlers where eventTypeName=? and eventSu
                btypeName=? and (eventTypeRef1=? or eventTypeRef1=0) and (eventTypeRef2=? or
                eventTypeRef2=0) [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:7
                2)
                at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:277)
                at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCre
                ator.createPreparedStatement(JdbcTemplate.java:1557)
                at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:
                638)
                ... 12 more
                "

                1 Reply Last reply Reply Quote 0
                • phildunlapP
                  phildunlap
                  last edited by

                  Ah yes you said that, my mistake. Not that you'll necessarily need it, but the h2-web-console.bat script should work on your version as well, so, here is the current version just for fun:

                  @echo off
                  rem
                  rem | Copyright (C) 2006-2015 //infintie Automation. All rights reserved.
                  rem | @author Phillip Dunlap
                  rem
                  rem | Runs H2 Web Console. (Script Version 1.0.0 - To be run from MA_HOME\bin)
                  
                  rem | Define the port to start H2 on...
                  set H2_PORT=8085
                  
                  rem | Check if MA_HOME is properly defined
                  if "%MA_HOME%" == "" goto useCD
                  if exist "%MA_HOME%\bin\ma-start.bat" goto okHome
                  echo The MA_HOME environment variable is not defined correctly: %MA_HOME%. Trying the current directory instead...
                  
                  rem | Check if the current directory is ok to use
                  :useCD
                  set BIN_DIR=%CD%
                  pushd ..
                  set MA_HOME=%CD%
                  popd
                  if exist "%MA_HOME%\bin\ma-start.bat" goto okHome
                  
                  rem | Don't know where home is.
                  echo Cannot determine the MA home directory
                  goto end
                  
                  rem | Found a good home. Carry on...
                  :okHome
                  echo Using %MA_HOME% as MA_HOME
                  
                  set EXECJAVA=java
                  if "%JAVA_HOME%" == "" goto gotJava
                  set EXECJAVA=%JAVA_HOME%\bin\java
                  
                  :gotJava
                  echo Using Java at %EXECJAVA%
                  
                  rem | Put the whole lib folder on CP because we cannot do h2*.jar...
                  rem | Add -webAllowOthers if you will be using the web console from an origin other than localhost
                  "%EXECJAVA%" -cp "%MA_HOME%\lib\*" org.h2.tools.Server -web -webPort "%H2_PORT%" -baseDir "%MA_HOME%\"
                  
                  :end
                  

                  Which can be put in Mango\bin\

                  You will know the restore finished if it said "Database Restored" under the restore setting sections. Any errors in the restore would have made it to your log file.

                  1 Reply Last reply Reply Quote 0
                  • phildunlapP
                    phildunlap
                    last edited by

                    I would wonder if the restore didn't finish before being terminated. The backup sql file in the Mango/backups directory is a ZIP of of a dump file, so one can read the SQL it's doing if desired.

                    So you know, closing a command prompt is somewhat equivalent to doing a hard kill in linux (-9) in that Mango doesn't get to shutdown nicely and wait for tasks to finish. To kill a Mango running in a command prompt cleanly, you want to click the command prompt and hit Ctrl + C to send a polite termination request instead of an abrupt termination.

                    1 Reply Last reply Reply Quote 0
                    • phildunlapP
                      phildunlap
                      last edited by

                      To provide closure to the thread, the database restore simply took a long time (was fairly large) and was killed during the database restore.

                      The steps provided did yield resolution once the restore was allowed to finish.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Rodrigo @phildunlap
                        last edited by

                        @phildunlap

                        Absolutely, It was my lack of patience :$

                        Thanks again Phil,

                        Regards

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post