INtime SDK Help
Troubleshooting
INtime SDK v6 > References > Troubleshooting

This topic lists problems you may encounter while running INtime software, and explains how to avoid or resolve those problems.

Installation does not complete

UAC privilege elevation must be acknowledged

If you start the installation under Windows Vista or Windows 7 with UAC enabled, you will be prompted to continue with Administrator privileges. If you ignore this dialog, or leave the installation unattended, this dialog will timeout and the installation will be abandoned.

Licensing failures

“Time tampering”

If your clock battery failed or the system clock was changed back by more than one day after you install the software, the license management software considers this action as an attempt to defeat the licensing, so will fail.

Restoring the clock value will allow the system to continue to function.

Incorrect license installed

Be careful that when installing a license generated from a fingerprint that the license is being installed on the correct system .

Reformatting the hard drive will invalidate the license

Prior to INtime 5, a node-locked license is keyed in part from the volume ID of the system volume of the Windows installation. If you replace or reformat the disk drive then your license will be invalidated. After INtime 5 the disk hardware ID is used instead so this is no longer an issue. However, if the storage medium is a RAID volume then there is no unique disk ID so the license reverts to using the Windows volume ID.

Use the correct USB key

If you have multiple development kits each with their own key, be sure to use the correct key with each development kit.

The kernel fails to start

I started the INtime kernel but it did not start (INtime for Windows)

Inspect the event log. Open the Windows Event Viewer and inspect the INtime log. Look for error messages from the INtimeKernelManager service, which should explain why the kernel failed to start. Possible failures may include the following:

License failure

If you receive a message about license failure, inspect the cases in the “License Failures” section.

Memory not available (INtime for Windows)

If you have configured memory from the Windows non-paged pool and you find a message “memory not available” then this is because Windows was unable to allocate the required memory in a single contiguous allocation. If running on a 32-bit version of Windows of if there is 4 GB or less of RAM installed, consider changing the configuration to “Exclude memory from Windows”. This reserves memory at the top of available RAM before Windows is ever booted and prevents Windows from using it. INtime then uses that memory.

The system freezes or resets when I start the kernel

1. Bugcheck event (“bluescreen”) occurs.
The INtime product has a feature which can intercept bluescreen events (Windows “STOP” or "Bugcheck" events) so that if an event occurs which causes a bluescreen, the system will freeze. In this case the INtime kernel continues to operate until it decides to release Windows and allows it to completely shutdown. If this feature is disabled (The Windows Bugcheck Interception feature in the System parameter in INtime configuration is set to “Do not Trap Windows Bugcheck Exception”) then the bluescreen will occur. However, if your Windows system is configured to automatically reboot after collecting the dump information you may not have time to observe the event.

2. An automatically-loaded application is causing the system to freeze.
INtime for Windows: open the INtime configuration and disable the autoloader. In the Node Manager, select your node then select the Auto Load tab. Check the "Disable Auto Load" box. Start the kernel again.

The system freezes when I start my application

A real-time application may cause the system to hang in a couple of cases:

• If a thread continuously executes (“spins”) it will prevent threads of a lower priority from executing. This can cause the interface between INtime and Windows not to operate and make it appear as if Windows is completely hung. There is an INtime feature to detect this, called “Spin Doctor”. See the appropriate documentation to configure this feature.

• Hardware faults are by default caught by the INtime kernel and the faulting thread suspended. In the case where a thread is interrupted and the fault occurs in the interrupt handler, the interrupted thread may be suspended. This may cause a critical kernel thread to be suspended which causes lock-up. Keep interrupt handlers simple and short. See the Debugging section about how to debug interrupt handlers.

Assigning devices to the INtime kernel

If a device is to be used by INtime on an INtime for Windows system, then they must first be assigned to an INtime node using the INtime Device Manager. See Configuration for details.

INtime Device Manager reports a conflict when I pass a device

It is not permitted to share a legacy interrupt line ("IRQ") between devices controlled by both INtime and Windows. This is because both device drivers, the INtime one and the Windows one, have to handle the interrupt before the next interrupt can be asserted, which would lose the ability of handling the real-time interrupt in a deterministic way. The Device Manager prints a warning when you have created a configuration in this way.  

INtime Device Manager reports an error when I pass a device

The most likely cause of this is that the Windows Device Interface is expecting a Windows device driver to be installed before it can replace it with the INtime dummy device driver (rtdrm.sys). If you do not have a Windows device driver for your device you can apply rtdrm.sys manually by using the Windows Device Manager, select the device, then Update driver... and navigate to %INTIMECFG%\drivers to install the driver.

I cannot install an interrupt handler for my device

If SetRtInterruptHandler(Ex) fails and returns a status 0x8004 (E_PARAM), assuming that the parameters are correct, the other reason for this failure is that the kernel does not know that the device is assigned to this node. Make sure that the device is assigned to the INtime node by using the INtime Device Manager to do so.

Visual Studio

Loading an INtime project fails “Project type not supported”

If you installed Visual Studio after installing INtime you need to perform an additional step in order to include the INtime components in Visual Studio. Go to Control Panel -> INtime -> Development Tools, and click on the Install button for the version of Visual Studio which you are using.

Loading an INtime project causes “License error” dialog

The INtime project type and the debugger require a valid license to be installed. See the section on “license errors”. It is possible to configure your solution so that you can edit and compile it without the need for a license to be installed. See the article at: http://support.tenasys.com/helpdesk/admin.php?pg=kb.page&page=19 Visual Studio hangs when I debug my interrupt handler You cannot debug interrupt handlers using Visual Studio. Keep interrupt handlers short and simple and debug the code in the interrupt thread. If you really need to debug your handler, see the section in “Debugging”. Perfmon.exe and INtime performance counters