ID Win Services ERROR

112 views
Skip to first unread message

Pedro Olivares

unread,
Aug 23, 2016, 9:01:10 PM8/23/16
to Input Director
After try to install ID version 1.4 on 3 pcs the only way was to uninstall this version and reinstall version 1.3 on systems running Win XP 3 SP3.

Pedro

Shane

unread,
Aug 24, 2016, 2:19:49 AM8/24/16
to Input Director
Hi Pedro,

A couple of folks have had this issue and its been related to Microsoft libraries that don't successfully install behind the scenes.
 
In the Input Director install directory (defaults to c:\Program Files\Input Director or for 64bit Windows c:\Program Files (x86)\Input Director )

will be two files:
 
vcredist_x86.exe
vcredist_x64.exe
 
Double-click on the vcredist_x86 file and run through the installation process. if this doesn't succeed, try again but right-click on the file and select "Run as Administrator".
 
If you're running a 64bit version of Windows 7 (you can tell if it is by opening the system panel (I provide instructions here: http://www.inputdirector.com/faq.html#4_3 to help folks find the hostname of the computer. But if you look at the other fields on the panel, there is one labelled "System type" and will say either 32bit or 64bit)
 
If its 64bit, then also double-click on the vcredist_x64.exe file and run through its installation.


If they are still not installing properly - have a look at the tips covered in this knowledge base article as it's a similar problem:

Once you get them installed, re-run the Input Director installer and it should now install fine.

Regs,

Shane.

skaniol

unread,
Sep 13, 2016, 7:36:45 AM9/13/16
to Input Director
I am in a very similar situation. I try to install IDv1.4 on 3 PCs, but it's failing on Win XP SP3. Versions below 1.4 install fine. My 3 PCs have different CPUs and they run different versions of Windows. Here is a coreinfo of the 3 CPUs and the Windows they run:
AMD Athlon(tm) XP 1800+
x86 Family 6 Model 8 Stepping 1, LegitAMD
`-> Windows XP SP3 32bit

Intel(R) Pentium(R) M processor 2.13GHz
x86 Family 6 Model 13 Stepping 8, TrueIntel
Microcode signature: 00000020
`-> Windows 7 SP1 32bit

Intel(R) Core(TM)2 Duo CPU     T7500  @ 2.20GHz
Intel64 Family 6 Model 15 Stepping 11, KosherIntel
Microcode signature: 000000BA
`-> Windows 10 64bit

HTT        --* Hyperthreading enabled
VMX        --* Supports Intel hardware-assisted virtualization
X64        --* Supports 64-bit mode

NX         --* Supports no-execute page protection
SMEP       -*- Supports Supervisor Mode Execution Prevention
PSE36      *-* Supports > 32-bit address 4 MB pages
SS         -** Supports bus snooping for cache operations

MMXEXT     *-- Implements AMD MMX extensions
3DNOW      *-- Supports 3DNow! instructions
3DNOWEXT   *-- Supports 3DNow! extension instructions
SSE2       -** Supports Streaming SIMD Extensions 2
SSE3       --* Supports Streaming SIMD Extensions 3
SSSE3      --* Supports Supplemental SIMD Extensions 3

CLFSH      -** Supports CLFLUSH instruction
CX16       --* Supports CMPXCHG16B instruction
MONITOR    --* Supports MONITOR and MWAIT instructions
LAHF-SAHF  --* Supports LAHF/SAHF instructions in 64-bit mode
HLE        -*- Supports Hardware Lock Elision instructions

DTES64     --* Can write history of 64-bit branch addresses
DS         -** Implements memory-resident debug buffer
DS-CPL     --* Supports Debug Store feature with CPL
PDCM       --* Supports Performance Capabilities MSR
xTPR       --* Supports disabling task priority messages

EIST       -** Supports Enhanced Intel Speedstep
ACPI       -** Implements MSR for power management
TM         -** Implements thermal monitor circuitry
TM2        -** Implements Thermal Monitor 2 control

PBE        -** Supports use of FERR#/PBE# pin

PREFETCHW  *-* Supports PREFETCHW instruction

Maximum implemented CPUID leaves: 00000001 (Basic), 80000008 (Extended).
Maximum implemented CPUID leaves: 00000002 (Basic), 80000008 (Extended).
Maximum implemented CPUID leaves: 0000000A (Basic), 80000008 (Extended).

I've listed only the differing features between all CPUs. The supported/unsupported features are marked by "*" and "-" in the order the CPUs are listed, so a SSE2 -** means that the AthlonXP does not support it, while the Pentium M and the Core2Duo both support it.

The installation of IDv1.4 on the Win10 64bit Core2Duo was without any issues. On the Win7 32bit Pentium M the installation failed, but a Windows Update and a manual installation of the vcredist fixed the issues there. On the WinXP 32bit AthlonXP the installation fails (the IDWinService.exe crashes twice) and nothing seems to help. I've tried to manually install many versions of the vcredist (including the one embedded in the installer). I don't suspect it's a vcredist issue, though. The way it crashes looks a lot like an issue related to the very old CPU in use. I decided to investigate why it crashes.

So, I ran Dependency Walker's Profiler on the "IDWinService.exe" and I got this:
Second chance exception 0xC000001D (Illegal Instruction) occurred in "IDWINSERVICE.EXE" at address 0x004016F4.
Exited "IDWINSERVICE.EXE" (process 0x648) with code -1073741795 (0xC000001D).
Then I checked the drwtsn32.log to find the exact instruction:
*----> State Dump for Thread Id 0x648 <----*

eax=00411220 ebx=00401060 ecx=0041121c edx=004ee1d0 esi=0041121c edi=0040935c
eip=004016f4 esp=0012ff54 ebp=0012ff5c iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000206

*** ERROR: Module load completed but symbols could not be loaded for D:\Program Files\Input Director\IDWinService.exe
function: IDWinService
        004016df cc               int     3
        004016e0 55               push    ebp
        004016e1 8bec             mov     ebp,esp
        004016e3 51               push    ecx
        004016e4 56               push    esi
        004016e5 8bf1             mov     esi,ecx
        004016e7 0f57c0           xorps   xmm0,xmm0
        004016ea 0f114604         movups  oword ptr [esi+0x4],xmm0
        004016ee 8d4604           lea     eax,[esi+0x4]
        004016f1 8975fc           mov     [ebp-0x4],esi
FAULT ->004016f4 660fd64010 movq qword ptr [eax+0x10],xmm0 ds:0023:00411230=0000000000000000
        004016f9 6a00             push    0x0
        004016fb c7462000000000   mov     dword ptr [esi+0x20],0x0
        00401702 c7462400000000   mov     dword ptr [esi+0x24],0x0
        00401709 c7462800000000   mov     dword ptr [esi+0x28],0x0
        00401710 50               push    eax
        00401711 c7062c000000     mov     dword ptr [esi],0x2c
        00401717 c7461c00000000   mov     dword ptr [esi+0x1c],0x0
        0040171e ff15d0904000     call    dword ptr [IDWinService+0x90d0 (004090d0)]
        00401724 85c0             test    eax,eax
        00401726 752a             jnz     IDWinService+0x1752 (00401752)

BTW, I get the same results on the "InputDirector.exe" itself:
Second chance exception 0xC000001D (Illegal Instruction) occurred in "INPUTDIRECTOR.EXE" at address 0x00413F4C.
Exited "INPUTDIRECTOR.EXE" (process 0x888) with code -1073741795 (0xC000001D).
*----> State Dump for Thread Id 0xf5c <----*

eax=00000002 ebx=00483558 ecx=00000000 edx=0000005b esi=00000000 edi=00483568
eip=00413f4c esp=0012ff40 ebp=0012ff54 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202

*** ERROR: Module load completed but symbols could not be loaded for D:\Program Files\Input Director\InputDirector.exe
function: InputDirector
        00413f30 c67e298d         mov     byte ptr [esi+0x29],0x8d
        00413f34 3c45             cmp     al,0x45
        00413f36 0100             add     [eax],eax
        00413f38 0000             add     [eax],al
        00413f3a 03f8             add     edi,eax
        00413f3c 2bc6             sub     eax,esi
        00413f3e 8d3cbb           lea     edi,[ebx+edi*4]
        00413f41 f30f7e47f4       movq    xmm0,qword ptr [edi-0xc]
        00413f46 8d7ff4           lea     edi,[edi-0xc]
        00413f49 8b4f08           mov     ecx,[edi+0x8]
FAULT ->00413f4c 660fd6470c movq qword ptr [edi+0xc],xmm0 ds:0023:00483574=0000000000000000
        00413f51 894f14           mov     [edi+0x14],ecx
        00413f54 83e801           sub     eax,0x1
        00413f57 75e8             jnz     InputDirector+0x13f41 (00413f41)
        00413f59 8b7df8           mov     edi,[ebp-0x8]
        00413f5c ff4364           inc     dword ptr [ebx+0x64]
        00413f5f 8d0476           lea     eax,[esi+esi*2]
        00413f62 897c8304         mov     [ebx+eax*4+0x4],edi
        00413f66 c744830800000000 mov     dword ptr [ebx+eax*4+0x8],0x0
        00413f6e c744830c00000000 mov     dword ptr [ebx+eax*4+0xc],0x0
        00413f76 8b4d0c           mov     ecx,[ebp+0xc]

According to ref.x86asm.net, the faulty instruction 660FD6 is a SSE2 one, just like I suspected. SSE2 is not supported by the AthlonXP CPU. BTW, the F30F7E instruction above is also a SSE2 one and although it didn't crash, it still doesn't work as expected.

SSE2 is not supported by many of the old CPUs like Athlon XP/MP, Pentium III and below. These CPUs reside on PCs which rarely deserve a mouse + keyboard on their own and they are perfect targets for enslaving. It would be a shame if we can't run InputDirector on them. Maybe you can fix this, Shane?


On Wednesday, August 24, 2016 at 4:01:10 AM UTC+3, Pedro Olivares wrote:
Reply all
Reply to author
Forward
0 new messages