Sidebar

QIE is failing to start or install. How do I fix/troubleshoot?

0 votes
34.5K views
asked Sep 18, 2014 by rich-c-2789 (16,180 points)
edited Jun 17, 2021 by brandon-w-8204
Is there a list of common problems encountered during install?  Either QIE failed to start or connecting to QIE from the browser fails.

7 Answers

+1 vote
 
Best answer

Please add additional problems you encounter or add links to other questions.  Here are a couple issues I ran into today:

Problem:

QIE failed to start.  In the QIE service manager I clicked start.  A progress bar popped up for a short time (about a second) then went away.  When it returned to the QIE service manager the start button was still enabled like it did not start.

One of the logs contains something like this:

[2014-09-18 14:02:53] [info] [10668] Commons Daemon procrun (1.0.15.0 64-bit) started
[2014-09-18 14:02:53] [info] [10668] Running 'QIEService' Service...
[2014-09-18 14:02:53] [info] [ 9004] Starting service...
[2014-09-18 14:02:53] [error] [ 9004] Failed creating java C:\java\api\jdk1.6.0_35_64bit\jre\bin\jvm.dll
[2014-09-18 14:02:53] [error] [ 9004] The system cannot find the file specified.
[2014-09-18 14:02:53] [error] [ 9004] ServiceStart returned 1
[2014-09-18 14:02:53] [error] [ 9004] The system cannot find the file specified.
[2014-09-18 14:02:53] [info] [10668] Run service finished.
[2014-09-18 14:02:53] [info] [10668] Commons Daemon procrun finished

See this link to find the log files: https://www.qvera.com/kb/index.php/5/where-are-the-log-files-for-qie?show=5#q5

Solution 1:

The problem is a bad path to the jvm.dll on the "Java" tab in the QIE service manager.

Action: In QIE service manager, change the "Java Virtual Machine" path on the "Java" tab to use the correct path to the jvm.dll.  The path may be different depending on the JVM version installed.  Some versions, the jvm.dll is under the \jre\bin others are under \jre\bin\server or jre\bin\client.

Solution 2:

This problem can also be caused by trying to install the 64 bit QIE with a 32 bit JRE install.

Action:  Make sure the bit version of the JRE installer and the bit version of the QIE installer are the same.  You may need to uninstall and reinstall one or the other.  64 bit installers are preferred and run faster.

answered Sep 18, 2014 by rich-c-2789 (16,180 points)
selected Sep 19, 2014 by rich-c-2789
0 votes

Problem:

After starting QIE from the QIE service manager.  I could not connect to QIE from the browser.  The browser returned a 404 error.

Solution 1:

Verify URL to QIE is valid in the browser or shortcut.  It should have the following form:

http://host[:port]/qie/launcher.html?appwin

The port in the URL is optional when QIE service manager uses the default port.  80 is the default.  To find the port that QIE uses look on the "Startup" tab in the "Arguments".  The "-Djetty.port" argument defines the port if present.  Default if missing.

Action: Correct the URL by specifiying the correct host and port.

Solution 2:  

This problem can also be due to the port being used by another process.  First check the log files.  If you see something like this:

java.net.BindException: Address already in use: bind

This error indicates that another application is using the port QIE is attempting to use.  If you need to track down what application is using that port you can try doing netstat -abno in a command promt.  Redirecting it to a file may be easier: netstat -abno > netstat.txt.  But in most cases it is easier to just give QIE another port that is not in use. 

Action: Change the port in used by QIE.  This needs to be changed in two places.  The link used in the browser and in the QIE service manager.  See solution 1 above for more detail on where to make the change.

answered Sep 19, 2014 by rich-c-2789 (16,180 points)
0 votes

Problem:

After a 64 bit installation and logging in, QIE seems to work fine for anywhere from 1 to 5 or 10 minutes.  It then throws errors.  Some of the errors in the log file look like this:

ERROR com.qvera.qie.web.SpringHB4GWTRPCServiceExporter - com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String com.qvera.qie.web.app.client.service.SecurityService.getMachineId() throws com.qvera.qie.web.exception.GWTException' threw an unexpected exception: java.lang.NoClassDefFoundError: com/qvera/qie/utils/Md5Utils 

...

Caused by: java.lang.ClassNotFoundException: com.qvera.qie.utils.Md5Utils

or

ERROR com.qvera.qie.web.app.server.CommonServiceImpl - Uncaught Client Exception [ip=127.0.0.1, user=admin, user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36]

com.google.gwt.core.client.JavaScriptException: (TypeError): Cannot read property 'toLowerCase' of null
at Unknown.U3d(Unknown Source)
at Unknown.Pxb(Unknown Source)
at Unknown.S$(Unknown Source)
at Unknown.J$(Unknown Source)
at Unknown._$(Unknown Source)
at Unknown.Fxb(Unknown Source)
at Unknown.Hxb(Unknown Source)
at Unknown.Lxb(Unknown Source)
at Unknown.Vob(Unknown Source)
at Unknown.Epb(Unknown Source)

Solution:

In some cases the installation of both a 32 bit and 64 bit installation of java may cause unpredictable problems.  In one known case with both 32 and 64 JVMs installed, specifying the JVM.dll on the java tab was not enough.  Doing so caused QIE to return a 404 error which felt like a step backward.

Action:  Uninstall the 32bit JVM.

 

answered Sep 30, 2014 by rich-c-2789 (16,180 points)
0 votes

Problem:  

QIE will not start.  In the qieLauncher.log file is the following exception:

SEVERE QieLauncher.init() - qieHome.canWrite() = true, war.canWrite() = false, updatesDir.canWrite() = true, logDir.canWrite() = true
SEVERE QieLauncher.init() - Uh oh... the current user requires 'Full control' of C:\ProgramData\QIE
SEVERE QieLauncher.init() - Please give the qie user permissions to the qie.home directory.
SEVERE QieLauncher.init() - Will shut down with failed status.
INFO QieLauncher.main() - keepRunning is now 'false'
WARNING QieLauncher.shutdownQIEJVM() - QieLauncher: shutdownQIEJVM() was called.
SEVERE QieLauncher.getRmiLauncher() - Error getting RmiLauncher object: java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:51494 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:51494 connect,resolve)

...

Solution:  

This occurs when the QIE does not have the proper access to the QIE Home directory.  This is usually specified like this "-Dqie.home=C:\ProgramData\QIE" in the Java options on the Java tab in QIE Service Manager.

Action 1:  On the Log On tab verify that the Local System account has access or switch to another account that does have access.

or

Action 2:  In windows grant Full Control to the QIE Home directory and all of its subdirectories etc.

or

Action 3:  If this is a new install then you may be able to delete the QIE Home directory and reinstall as an alternative to the above actions.

answered Sep 30, 2014 by rich-c-2789 (16,180 points)
0 votes

Problem:

Browser returned 503 error like:

HTTP ERROR: 503

Problem accessing /qie/launcher.html. Reason:

Service Unavailable
Powered by Jetty://

Log file may contain something like this:

ERROR org.springframework.web.context.ContextLoader - Context initialization failed

Invocation of init method failed; nested exception is org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

or

Cannot open connection

Solution:

This is usually due to an incomplete/bad database configuration or a network failure connecting to the database server.

One cause is an invalid username and/or password.

Action1: Validate that the database username and password are correct.  If the database username and/or password is different from the default (qie, qie), use the following in the startup arguments to change it:

-Dconnection.username=qie
-Dconnection.password=qie

Another cause is invalid dialect or missing database java arguments.  In one case the customer intented to use the H2 database but had the following in the "Arguments":

-Dhibernate.dialect=com.qvera.qie.persistence.SQLServerDialectEx

In this case the above line should have been removed.

If the customer had wanted to connect to SQL Server instead then they should complete the database configuration by specifiying the following:

-Dconnection.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
-Dconnection.url=jdbc:sqlserver://localhost:1433;databaseName=qie
-Dhibernate.dialect=com.qvera.qie.persistence.SQLServer2014UnicodeDialect

Above we also selected the dialect that best matched the version of Sql Server they used.  Which was 2014.

Optionally they could also add the following if the database user id and password needs to be changed:

-Dconnection.username=qie
-Dconnection.password=qie

Action2: Make sure the java arguments to the database are correct as mentioned above.  For H2 they should be removed.

On MS SQL Server it may be an issue with how the database is mapped to the user.

Action 3: Validate the user mapping via SSMS

Another cause is that the DNS resolution to the database server is outdated or incorrect.  

Action 4:  Try configuring a JDBC connection via Squirrel SQL (or equivelent) or configure a ODBC TCP/IP connection.  If it fails after validating that it is not one of the above problems, then it may be a DNS issue.  On the QIE server you can try flushing the DNS like so:

Open a command prompt using Run as Administrator and execute this command: ipconfig /flushdns

For other OSes see http://www.wikihow.com/Flush-DNS

Otherwise get your network admin to review any servers that are used in DNS resolution between the QIE server and the database server.

 

 

answered Oct 3, 2014 by rich-c-2789 (16,180 points)
edited Oct 28, 2014 by rich-c-2789
commented Nov 18, 2015 by rich-c-2789 (16,180 points)
0 votes

Problem:

"The memory could not be read" error appears one or more times while clicking through the QIE install wizard.

Solution:

This is due to running the installer without loggin in as an administrator.

Action:  Run the installer using "Run as Administrator".

answered Oct 22, 2014 by rich-c-2789 (16,180 points)
edited Jan 23, 2015 by rich-c-2789
...