[argyllcms] Re: Huey not functioning with argyllV0.70Beta7_win32_exe.zip version, Windows XP.

  • From: "C" <ml-argyllcms712@xxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Sat, 22 Dec 2007 01:28:43 -0800

Thank you very much for your responses, I've been working on
trying to figure out how to get useful crash / trace dump information
on XP without having Visual Studio on this system at this time.

When it offers to send the debug info to Microsoft it prints
an un-copyable stack trace and doesn't appear to save the text
version of it anywhere, and I'm not sure how to regenerate it
from the modest size .dmp file it did leave behind.

Then I got debugging tools for windows with windbg et. al. installed
and that seems to be giving some potentially useful information:

dispread --help run from the D:\SYS_SW\ArgyllCMS\libusbw directory.

This is with the Huey plugged in through a couple of layers of Hubs.
The Huey is still bound to the default Microsoft HID driver in this test;
I did nothing "non-default" with the inf files, libusb, et. al. at this time.

Hmm looks like the call stack trace isn't copyable to the clipboard in windbg
either; at least it's short and more relevant than dumprep's:

0012df6c 004077dd dispread!hid_get_paths+0x252
0012e060 00401294 dispread!icoms_get_paths+0x9d
0012e078 00401e94 dispread!usage+0x134
0012e080 00000000 dispread!main+0xa84

I'd be glad to get more detailed information to you if this isn't useful
as a general clue as to what function is causing troubles and what solutions
might be obvious.

I can install Visual Studio and get better debugging output etc. tomorrow,
perhaps recompile with source debugging and trace/backtrace the program 
execution at
the source level if needed.

Is the beta executable / libusb compiled with debug symbols or does
it have already any useful debug options I should be trying?

I'd be glad to help further with XP SP2 and possibly
NT4 / Vista testing if needed in the intermediate future.

I've already used the current beta of ArgyllCMS a bit under NT4 Workstation,
though that was not having anything to do with USB / Huey, just in
batch mode to deal with generating print targets and profiles from
the tiff scans of them.  That seemed to work relatively well.

I can confirm the Huey I'm testing has the usual 0971+2005 VID + PID.

I'll switch back to Fedora and send some responses to the other
threads about that in a moment.

Executable search path is:
ModLoad: 00400000 00512000   dispread.exe
ModLoad: 7c900000 7c9b0000   ntdll.dll
ModLoad: 7c800000 7c8f5000   C:\WINDOWS\system32\kernel32.dll
ModLoad: 10000000 10010000   D:\SYS_SW\ArgyllCMS\libusbw\libusb0.dll
ModLoad: 77dd0000 77e6b000   C:\WINDOWS\system32\ADVAPI32.DLL
ModLoad: 77e70000 77f02000   C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 77fe0000 77ff1000   C:\WINDOWS\system32\Secur32.dll
ModLoad: 74ae0000 74ae7000   C:\WINDOWS\system32\cfgmgr32.dll
ModLoad: 77920000 77a13000   C:\WINDOWS\system32\setupapi.dll
ModLoad: 77c10000 77c68000   C:\WINDOWS\system32\msvcrt.dll
ModLoad: 77f10000 77f57000   C:\WINDOWS\system32\GDI32.dll
ModLoad: 7e410000 7e4a0000   C:\WINDOWS\system32\USER32.dll
ModLoad: 688f0000 688f9000   C:\WINDOWS\system32\HID.DLL
(14a60.14604): Break instruction exception - code 80000003 (first chance)
eax=00241eb4 ebx=7ffd8000 ecx=00000000 edx=00000001 esi=00241f48 edi=00241eb4
eip=7c901230 esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for 
ntdll.dll -
7c901230 cc              int     3
0:000> g
ModLoad: 76c30000 76c5e000   C:\WINDOWS\system32\WINTRUST.dll
ModLoad: 77a80000 77b14000   C:\WINDOWS\system32\CRYPT32.dll
ModLoad: 77b20000 77b32000   C:\WINDOWS\system32\MSASN1.dll
ModLoad: 76c90000 76cb8000   C:\WINDOWS\system32\IMAGEHLP.dll
(14a60.14604): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=01a006d0 ebx=00000007 ecx=00000000 edx=01a00790 esi=003861b8 edi=0000000e
eip=0040acb2 esp=0012d94c ebp=0000075c iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206
*** WARNING: Unable to verify checksum for dispread.exe
0040acb2 894110          mov     dword ptr [ecx+10h],eax 

Graeme Gill wrote:
C wrote:
I've just been getting started using ArgyllCMS with Huey.
I've successfully used it on LINUX and thought I'd give the
Windows XP beta version a try to calibrate it as well on another system.

I don't seem to be having any success with the binary windows beta version
talking to Huey though.

dispread --help
dispcal --help

...both crash (when the Huey is connected) and offer to send an error report to
Microsoft right as they're printing:
-c listno Set communication port from the following list (default 1)

doubtlessly as they're starting to iterate the USB devices.

The crash does *NOT* occur when the Huey is NOT plugged in to a USB port of the system.

Hal V. Engel has also reported this issue, and it seems to be
specific to MSWindows XP. I don't have an XP system available
to me at the moment (although I am working on it!), so I've
been unable to investigate what the cause is. It is something
to do with opening or accessing the HID driver.
A backtrace would probably give a strong hint as to which
OS call is connected with the crash.
It seems to work fine on MSWindows 2000.

The HUEY's PID/VID shows up as a Human Interface Device managed by
Microsoft's default driver, and I took no steps to change the
driver / inf file associated with the device.

You can work around this issue by installing the Huey .inf file,
and then switching it to use libusb-win32. This disconnects the
HID driver from the Huey. You can pretty simply switch back

After the first attempts failed as above, I was looking to try to change the driver associated with Huey to the libusb ones and the aforementioned huey.inf file. As it turns out, I don't see a huey.inf file in the zipfile distribution of ArgyllCMS Beta 7, so that may be a problem with the distribution packaging.

 > Is the huey.inf file available somewhere?

Yes, I accidentally left it out. It is in the source archive though,
and you can extract it from there.

Is there any benefit in installing the Huey's Pantone software package to get a new driver / inf file (I haven't installed it, and didn't intend to, thanks to the better overall capabilities of ArgyllCMS).

No, since the vendors software uses the HID driver, and libusb-win32
isn't generally used by the vendors in any case.

Perhaps a simply program that iterates and lists all the devices on the USB bus via libusbw would be a good addition to ArgyllCMS's distribution to help people who have USB colorimeters determine if the libusb stuff is
working properly with their systems.

libusb-win32 does come with that kind of stuff, but all of
the Argyll utilities that use an instrument list the
instruments found in the usage dialog.

Graeme Gill.

Other related posts: