Hey guys. I've been dealing with this problem for a while now, hoping that
it would somehow get fixed. Unfortunately, it's still a problem for me, and
it's getting more annoying and more troublesome as time goes on.
Here's my original post on the subject:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&threadm
=3f030f26%241%40news.microsoft.com&rnum=8&prev=/groups%3Fq%3DMurawski%2Bgrou
p:microsoft.public.windowsce.platbuilder%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe
%3DUTF-8%26safe%3Doff%26scoring%3Dd%26selm%3D3f030f26%25241%2540news.microso
ft.com%26rnum%3D8
Here's a post from Steve Maillet where he lists it as bug #7 in his list of
known CE 4.xx bugs:
http://groups.google.com/groups?q=Maillet+group:microsoft.public.windowsce.p
latbuilder&start=90&hl=en&lr=&ie=UTF-8&oe=UTF-8&safe=off&scoring=d&selm=eB72
YpWQDHA.2316%40TK2MSFTNGP12.phx.gbl&rnum=97
Basically, what's happening is this. When I have a PCMCIA card in my device
at cold boot, NDIS occasionally hits a DEBUGCHK in the kernel when trying to
enter a critical section that has never been initialized. Since I don't
have access to NDIS code, I can't really tell what's going on, but the call
stack looks like this:
<stack dump>
COREDLL!EnterCriticalSection(CRITICAL_SECTION * 0x01fd98c0
PcmciaMemListLock) line 90 + 76 bytes
NDIS!mapAllWindowsForHSock(_CARD_SOCKET_HANDLE {...}, int 0x00000001, int
(_NDIS_PCMCIA_WINDOW *)* 0x03d6a954 npwMapToDevice(_NDIS_PCMCIA_WINDOW *))
line 478
NDIS!PcmciaCallBack(unsigned int 0x00000040, _CARD_SOCKET_HANDLE {...},
_CARD_EVENT_PARMS * 0x080afdf0) line 620
PCMCIA!CallClient(unsigned int (unsigned int, _CARD_SOCKET_HANDLE,
_CARD_EVENT_PARMS *)* 0x00000000, unsigned int 0x01fa8aa0,
_CARD_SOCKET_HANDLE {...}, _CARD_EVENT_PARMS * 0x00000000, _CLIENT_DRIVER *
0x2dfa5fda) line 600 + 24 bytes
PCMCIA!CallbackThread(unsigned int 0x00000000) line 910 + 56 bytes
COREDLL!ThreadBaseFunc(void * 0x03a6aecc CallbackThread(unsigned int),
unsigned long 0x00000000) line 418 + 16 bytes
</stack dump>
Unfortunately, this problem is probably much more serious for me than it is
for most CE platforms. Our device ALWAYS has a PCMCIA card in it, and it
goes through a cold boot quite often. I seem to hit this problem almost
every time my platform boots. To make things worse, about 50% of the time
when it happens, and I try to run past the DEBUGCHK, I hit another critical
access violation in NDIS. (I guess there's a critical section somewhere for
a reason!)
Does anyone have any new information on this problem? Any suggestions on
what I should do? I've been dreading trying to call Microsoft about it
directly. I haven't had much luck trying to describe problems of anything
beyond trivial technical complexity with the first one or two levels of
technical support. Should I suck it up and put in a call on this one?
Thanks in advance guys.
Mark Murawski
Vocollect, Inc.