General Troubleshooting (Magic xpi 3.x)

« Go Back


Created ByKnowledge Migration User
Approval Process StatusPublished

General Troubleshooting (Magic xpi 3.x)


Why won't Messaging Mode work properly?


If you have problems with using Messaging Mode, you should check the [MAGIC_IBOLT] file's ActivityLogSynchronizationMode flag. This flag can be set to either Async or Sync, and governs how the Activity Log is handled:

  • Async is the default option. If you select this, the Magic xpi Server waits and enters a batch of activities in a single thread. This increases the speed, and therefore the performance, of the system.

  • Sync indicates that each thread logs its own activities. If you select this, the Magic xpi Server can log the activities in real time on the same thread that the activity is executed. Alternatively, you can balance the load for projects with many activities.

If you find that you have a problem changing this flag, in some cases this may help you to identify the particular component where the problem can be found.


What should I do if I get a "CVS Client Installation is incomplete" error?


This is a known issue when you have a Magic xpi installation and a separate uniPaaS installation with the CVS option (Client and Server). After starting the Debugger or invoking a uniPaaS component, this error sometimes appears. Just ignore the error.


Why am I getting an error that the service is not in the Service table?


The error indicates that the Magic.ini file is missing from the Web Service definition. The two most common causes for this problem are:

  1. The Magic.ini is marked as read only.

  2. The project was created on one machine and is now running on another.

To solve this issue, try to rebuild the .ibp (File menu ->Build Executable File). If this does not help, or you cannot do this, open your Magic.ini file, go to the [MAGIC_SERVICES] section and add the following:

= SOAP,,,,,,\resource\\.jar,0,M,

For example:

Web Services Client Example = SOAP,


ice1.asmx?WSDL,D:\Magic xpi\projects\Project1\resource\Web Services Client +

Example\Web Services Client Example.jar,0,M


Why can't I change the case (upper or lower) of the variable names?


If you try and change the case of variable names, you will get the "Variable was already entered" error. This is because variable names are not case sensitive.


What should I do if I get a "System Date is incorrect" error?


An incorrect system date error is generated when a local file or directory has an accessed/modified/created future date-stamp. Solve this issue by restoring any such files or directories to the present date, through re-dating (that is, changing their date stamp). It is recommended to restart your computer after this process.


Why was the Magic.ini file deleted while the project was running?


In some cases, where there is not enough space on the disc where Magic xpi is installed, the Magic.ini file is deleted.


What should I do if I get a "uniPaaS cabinet file ecf does not exist" error?


To fix this error, regenerate the ifs.ini file for that particular project.

To regenerate the ifs.ini file:

  1. Delete or rename the previous ifs.ini file from the project's folder

  2. Save/build the project again.

This generates the new ifs.ini file.

Note: This error may occur if you copy the project from another location or from a different installation, and you have environment variables that point to a location that does not exist.


Why does the connection to the Exchange 2007 Server fail if there is a SoapSpyAddress entry in the Magic.ini file?


If there is a SoapSpyAddress entry in the Magic.ini file, and you are using the Exchange 2007 Server, the following error message is received: “Connection to the requested Exchange server could not be established. Exchange call error:.......: Connection refused: connect”.

When you define a SoapSpyAddress, you are actually defining the http.proxyHost and http.proxyPort Java system properties. These definitions influence any component that is using Web services and is based on Java (Salesforce, Dynamic CRM, Exchange 2007, SharePoint, etc.). Although this works properly with the proxy, the Systinet proxy cannot handle HTTPs.

The connection therefore fails.


When trying to run a project, the "Java Virtual Machine: Cannot be loaded (status: -4) >> Application : c:\Magic xpi\, program: Read Data.Initialize Java Parameters."error appears in the log. What does this error mean?


The JVM load's -4 status code means out of memory. The JVM needs a continuous memory chunk, and the error indicates that it was not able to allocate this chunk.

The memory allocation for Java is set in the Magic.ini. To set the allocation, follow these steps:

  1. Open the Magic.ini file and go to the JVM_ARGS= flag in the [MAGIC_JAVA] section. This flag shows the Java process's memory allocation. By default it is set to -Xms256m -Xmx256m.

  2. Change the value to -Xms32m -Xmx128m and check if the error is resolved.

There is also a utility called sysinternals VMMap which displays the machine's memory usage and can help find the problem.


Why does the flow’s Abort timeout policy not terminate the thread (flow) as expected upon reaching the specified time?


When you set the Abort policy on a flow, the flow should be aborted and the thread terminated when the timeout value is reached.

However, there are situations where the Magic xpi server is unable to release the thread.

This behavior mostly affects the project’s thread consumption (if the thread is not released and a new one is launched). It also generates repeated "Max instance was exceeded" error messages if the flow is set with a Max instance flag.

Magic xpi has a preset internal ‘grace’ time value of five minutes. This allows a step to end if a flow was timed out and aborted, and the server was unable to terminate the executing thread.

At the end of the five minutes grace time, the process will be terminated forcefully, thus ending the flow.


When I open the Magic xpi Studio, I get the following message and the Studio crashes: "Component used by the task does not exist or could not be opened". How can I fix this?


This error indicates that Magic xpi is not able to reach one or more of the files it needs in order to open the Studio.

You should check the [MAGIC_LOGICAL_NAMES] section of the Magic.ini file and verify that the Magic xpi environment variable points to the Magic xpi installation directory.


Why can't I get the HTTP request's HTTP verb?


In the mgreq.ini file, enable the HttpVars parameter and add the variable REQUEST_METHOD to it.

In the flow containing the HTTP trigger, use the following expression in a Flow Data service's Update Expression column to receive the verb: GetParam ('REQUEST_METHOD')

When running the project, you will get values such as GET, POST, PUT, DELETE, and HEAD.


What should I do if I encounter a "Service cannot be started. System.Runtime.InteropServices.COMException (0x800A03EC): Microsoft Office Excel cannot access the file 'c:\temp\test.xls'." error?


You might receive this error warning if you use the Excel component on the Windows Server 2008 (x86/x64 bit) when the broker is running as a service.

There are several possible reasons for this error:

  • The file name or path does not exist.

  • The file is being used by another program.

  • The workbook you are trying to save has the same name as a currently open workbook.

One possible solution is to do the following:

  • For the Windows 2008 Server x64, create the following folder:

  • For the Windows 2008 Server x86, create the following folder:

For more information, click here.


What should I do if I get a "Parallel Execution Error (-198)" error?


This error occurs when the Broker queue is full because there is no thread to run the requests.

The Parallel Execution Failure error message will be sent to the Magic xpi Monitor and to the ifs.log file.


If thousands of messages at a time are sent to an MSMQ trigger from outside of Magic xpi, the Broker queue will be completely full. Here, the solution is to increase the QueueMaxSize parameter in the Mgrb.ini file. The default value is 1000.

You should be aware that, while setting this parameter, the Broker must be shut down.

If the problem continues after you change the QueueMaxSize parameter in the Mgrb.ini file, this indicates that there are not enough available threads to run the project.


How can I know if a specific project is running or stopped, without reference to the Magic xpi Monitor?


There are several ways to know if the project is running or stopped without reference to the Monitor:

  1. In the Project Properties dialog box's Environment tab, define the Send Error Mail To parameter and select the required Email Resource name. This feature sends an email to the defined address each time the Server starts and stops.

  2. Create a flow in your project with an HTTP trigger that will return the following message: I'm Alive

  3. Use the uniPaaS Enterprise Server Functions, such as RqRts, RqInf, etc. (These are not in the Magic xpi Help - you can learn about them in the uniPaaS Help).

  4. Use the MGrqcmdl.exe command line requester (located in the Magic xpi installation folder) to query the available runtimes of the Magic xpi broker.

For example: C:\iBOL3.2_SP1b>MGrqcmdl.exe -query=RT
The result can be parsed (for example, with the InStr function) and checked if a given project is started.


Why does the Command Line request fail in Magic xpi 3.4?


When executing a project using the File Management component's Command Line method, calling the MGrqcmdl.exe file, the following error is generated:

Error 207 “Failed to execute the command line”

The same step worked properly in previous iBOLT versions. Why does this happen?

Magic xpi 3.4 is installed by default with spaces in the directory name.

The Command Line method requires special handling if there are spaces in the arguments. This means that the File Management component's Command Line method fails to execute the command if the expressions are not treated respectively.

To avoid this error, you need to wrap your expression with quotes ('Execute File Name' parameter). For example:

  1. If an environment variable is used: '"'&EnvVal ('magicxpi')&'MGrqcmdl.exe'&'"'

  2. If a hard coded path is used: '"D:\Magic xpi 3.4\IBTHInternal\MGrqcmdl.exe"'