CMINIT May Fail with PRODUCT_SPECIFIC_ERROR(20) After a CMCANC
ID: Q153523
|
The information in this article applies to:
-
Microsoft SNA Server, version 2.11 SP1
on the following platforms: NT
SYMPTOMS
When an application issues a cmcanc() call with a cmrcv() outstanding, the
CPIC library would release its conversation control block twice. This would
cause a subsequent cminit() call to fail with PRODUCT_SPECIFIC_ERROR(20).
CAUSE
When the application issues the cmcanc() verb the outstanding cmrcv()
returns with the error, CM_DEALLOCATED_ABEND_SVC. At that point the CPIC
library frees the conversation control block. When the cmcanc() verb had
finished its processing, it then frees the conversation control block
again. This causes the CPIC library's count of active conversations to drop
to -1. Because the CPI-C library uses unsigned integers, a negative value
of -1 appears as a very large positive number. When the application now
issues the next cminit() call the CPIC library checks its count of active
conversations, and notice that it was greater than the maximum limit of 16.
With the SNA Application, CPI-C trace enabled you might see the following:
|00000101.000000e0 CPIC ----------------------------------------------
13:35:10.55
|00000101.000000e0 CPIC CMCANC request
|00000101.000000e0 CPIC Conversation ID = 02000000
|00000101.000000e0 CPIC ----------------------------------------------
13:35:10.57
|00000101.000000e0 CPIC CMRCV async response, result =
CM_DEALLOCATED_ABEND_SVC
|00000101.000000e0 CPIC Buffer empty
|00000101.000000e0 CPIC Data received type = CM_INCOMPLETE_DATA_RECEIVED
|00000101.000000e0 CPIC Received length = 0
|00000101.000000e0 CPIC Status received = CM_NO_STATUS_RECEIVED
|00000101.000000e0 CPIC Request to send received =
CM_REQ_TO_SEND_NOT_RECEIVED
|00000101.000000e0 CPIC ----------------------------------------------
13:35:10.57
|00000101.000000e0 CPIC CMCANC response, result = CM_OK
|00000101.000000e0 CPIC ----------------------------------------------
13:35:14.26
|00000101.000000e0 CPIC CMINIT request
|00000101.000000e0 CPIC Sym dest name = LU62TEST
|00000101.000000e0 CPIC ----------------------------------------------
13:35:14.26
|00000101.000000e0 CPIC CMINIT response, result =
CM_PRODUCT_SPECIFIC_ERROR
|00000101.000000e0 CPIC Conversation ID = 00000000
|00000101.000000e0 CPIC Conversation characteristics
|00000101.000000e0 CPIC Conversation type = CM_BASIC_CONVERSATION
|00000101.000000e0 CPIC Deallocate type = CM_DEALLOCATE_SYNC_LEVEL
|00000101.000000e0 CPIC Error direction = CM_RECEIVE_ERROR
|00000101.000000e0 CPIC Sync level = CM_NONE
|00000101.000000e0 CPIC Fill type = CM_FILL_LL
|00000101.000000e0 CPIC Prepare to receive type =
CM_PREP_TO_RECEIVE_SYNC_LEVEL
|00000101.000000e0 CPIC Receive type = CM_RECEIVE_AND_WAIT
|00000101.000000e0 CPIC Send type = CM_BUFFER_DATA
|00000101.000000e0 CPIC Conversation security type = XC_SECURITY_NONE
|00000101.000000e0 CPIC Log data pointer = 00000000
|00000101.000000e0 CPIC Log data length = 0
|00000101.000000e0 CPIC Sym dest name =
|00000101.000000e0 CPIC Partner LU name =
|00000101.000000e0 CPIC 00000000 00000000 00000000 00000000
<................>
|00000101.000000e0 CPIC 00 <.
>
|00000101.000000e0 CPIC Mode name =
|00000101.000000e0 CPIC 00000000 00000000 <........
>
|00000101.000000e0 CPIC Partner TP name =
|00000101.000000e0 CPIC 00000000 00000000 00000000 00000000
<................>
|00000101.000000e0 CPIC 00000000 00000000 00000000 00000000
<................>
|00000101.000000e0 CPIC 00000000 00000000 00000000 00000000
<................>
|00000101.000000e0 CPIC 00000000 00000000 00000000 00000000
<................>
|00000101.000000e0 CPIC ----------------------------------------------
13:35:14.28
STATUS
Microsoft has confirmed this to be a problem in Microsoft SNA Server
version 2.11.sp1.
This problem was corrected in the latest Microsoft SNA Server 2.11 U.S.
Service Pack. For information on obtaining the service pack, query on the
following word in the Microsoft Knowledge Base (without the spaces):
S E R V P A C K
MORE INFORMATION
There might be other reasons for getting a PRODUCT_SPECIFIC_ERROR(20) that
are not necessarily be related to this article. Further reasons for getting
a PRODUCT_SPECIFIC_ERROR(20) can be found in the Knowledge Base articles
Q132720 and Q148359.
If you should observe this behavior you will also get the error message
3022 logged in the Application Event Log which indicates an attempt to
exceed the maximum number of concurrent CPIC conversations.
Additional query words:
prodsna sp1 cpi-c cmcanc cminit product_specific_error
Keywords : kbnetwork kbbug2.11.sp1 kbfix2.11.sp2
Version : WINDOWS:2.11 SP1
Platform : WINDOWS
Issue type :