title: MQJE018: Protocol error - unexpected segment type received
body: <p>Calling all MQ Gurus,</p>
  
  <p>I have a box under my desk which we use to replicate our production environment which is:</p>
  
  <p>WebSphere 6.1
  Fedora Linux
  MQ 6.0</p>
  
  <p>Whenever one of our applications tries to send a message to a MQ queue we get the following error: MQJE018: Protocol error - unexpected segment type received</p>
  
  <p>Any suggestions on what this might mean would be appreciated, stack traces are below.</p>
  
  <pre><code>Dump of callerThis =
  Object type = com.ibm.ejs.jms.listener.MDBListenerImpl
  com.ibm.ejs.jms.listener.MDBListenerImpl@744c744c
  
  ==&gt; Performing default dump from com.ibm.ejs.jms.JMSDiagnosticModule  = Wed May 06 13:09:58 BST 2009
  Dump of callerThis =
  Object type = com.ibm.ejs.jms.listener.MDBListenerImpl
  com.ibm.ejs.jms.listener.MDBListenerImpl@744c744c
  
  Linked exception = com.ibm.mq.MQException: MQJE001: An MQException occurred: Completion Code 2, Reason 2195
  MQJE018: Protocol error - unexpected segment type received
          at com.ibm.mq.MQManagedConnectionJ11.&lt;init&gt;(MQManagedConnectionJ11.java:238)
          at com.ibm.mq.MQClientManagedConnectionFactoryJ11._createManagedConnection(MQClientManagedConnectionFactoryJ11.java:318)
          at com.ibm.mq.MQClientManagedConnectionFactoryJ11.createManagedConnection(MQClientManagedConnectionFactoryJ11.java:338)
          at com.ibm.mq.StoredManagedConnection.&lt;init&gt;(StoredManagedConnection.java:84)
          at com.ibm.mq.MQSimpleConnectionManager.allocateConnection(MQSimpleConnectionManager.java:168)
          at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:774)
          at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:690)
          at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:646)
          at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:153)
          at com.ibm.mq.MQQueueManager.&lt;init&gt;(MQQueueManager.java:544)
          at com.ibm.mq.MQSPIQueueManager.&lt;init&gt;(MQSPIQueueManager.java:69)
          at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2401)
          at com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:1783)
          at com.ibm.mq.jms.MQQueueConnection.&lt;init&gt;(MQQueueConnection.java:110)
          at com.ibm.mq.jms.MQQueueConnection.&lt;init&gt;(MQQueueConnection.java:67)
          at com.ibm.mq.jms.MQXAQueueConnection.&lt;init&gt;(MQXAQueueConnection.java:57)
          at com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:80)
  </code></pre>
  
  <p>EDIT:I have looked up the reason codes in the IBM documentation which gives little help</p>
  
  <pre><code>2195 (X'0893')
  MQRC_UNEXPECTED_ERROR
  Explanation:
  
  The call was rejected because an unexpected error occurred.
  Completion Code:
  
  MQCC_FAILED
  Programmer Response:
  
  Check the application's parameter list to ensure, for example, that the correct number of parameters was passed, and that data pointers and storage keys are valid. If the problem cannot be resolved, contact your system programmer.
  
      * On z/OS, check whether any information has been displayed on the console. If this error occurs on an MQCONN or MQCONNX call, check that the subsystem named is an active MQ subsystem. In particular, check that it is not a DB2(TM) subsystem. If the problem cannot be resolved, rerun the application with a CSQSNAP DD card (if you have not already got a dump) and send the resulting dump to IBM.
      * On OS/2 and i5/OS, consult the FFST record to obtain more detail about the problem.
      * On HP OpenVMS, Compaq NonStop Kernel, and UNIX systems, consult the FDC file to obtain more detail about the problem.
  </code></pre>