IBM MQ client application fails on latest cygwin

Takashi Yano takashi.yano@nifty.ne.jp
Thu Apr 8 12:25:59 GMT 2021


On Thu, 8 Apr 2021 20:16:00 +0900
Takashi Yano wrote:
> On Thu, 8 Apr 2021 08:04:26 +0200
> Morten Kjærulff wrote:
> > On Wed, Apr 7, 2021 at 1:04 PM Takashi Yano wrote:
> > >
> > > On Wed, 7 Apr 2021 19:56:24 +0900
> > > Takashi Yano wrote:
> > > > On Wed, 7 Apr 2021 11:32:59 +0200
> > > > Morten Kjærulff wrote:
> > > > > On Tue, Apr 6, 2021 at 4:37 PM Takashi Yano wrote:
> > > > > >
> > > > > > On Tue, 6 Apr 2021 15:16:56 +0200
> > > > > > Morten Kjærulff wrote:
> > > > > > > When I run it from a windows command prompt, it works fine.
> > > > > >
> > > > > > In this case, did you run MQ client from cygwin shell
> > > > > > in command prompt? Or run it in cmd.exe?
> > > > >
> > > > > what works is:
> > > > > cmd.exe->bash->script->non-cygwin-mq-client.exe
> > > > >
> > > > > what fails is:
> > > > > cmd.exe->bash->mintty->bash->script->non-cygwin-mq-client.exe
> > > > >
> > > > > also fails:
> > > > > cmd.exe->bash->mintty->bash
> > > > > and then
> > > > > cmd /c bash -c 'script' # script->non-cygwin-mq-client.exe
> > > >
> > > > Thnaks for the report.
> > > >
> > > > What about:
> > > > mintty->cmd /c bash->non-cygwin-mq-client.exe ?
> > >
> > > Do you mean your script starting mq-client by "script" ?
> > > I meant /usr/bin/script by "script".
> > >
> > > > > cmd.exe->bash->script->non-cygwin-mq-client.exe
> > >
> > > If so, what about:
> > > cmd.exe->bash->/usr/bin/script->(your script)->non-cygwin-mq-client.exe ?
> > >
> > > --
> > > Takashi Yano
> > 
> > Hi,
> > 
> > I cooked the issue down to this.
> > 
> > My script:
> > $ cat tmq.sh
> > #!/bin/sh
> > 
> > export MQSERVER='BROWSE/TCP/mvs1(1414)'
> > amqsbcgc Q
> > 
> > amqsbcgc is a sample that comes with MQ:
> > $ which amqsbcgc
> > /cygdrive/c/Program Files/IBM/WebSphere MQ/tools/c/samples/bin64/amqsbcgc
> > 
> > It is a C program:
> > $ head /cygdrive/c/Program\ Files/IBM/WebSphere\ MQ/tools/c/Samples/amqsbcg0.c
> > /* @(#) MQMBID sn=p800-008-171121 su=_A5OAkM6qEeemCpCOEyy4yA
> > pn=samples/c/amqsbcg0.c */
> > /**********************************************************************/
> > /*                                                                    */
> > /* Program name: AMQSBCG0                                             */
> > /*                                                                    */
> > /* Description : Sample program to read and output the message        */
> > /*                 descriptor fields, any other message properties    */
> > /*                 and the message content of all the messages on a   */
> > /*                 queue                                              */
> > /*   <copyright                                                       */
> > 
> > When I run it from a bash prompt, started with cmd.exe->bash.exe, I
> > see correct output (2085 means Q not found, which means that we are
> > connected ok):
> > $ ./tmq.sh
> > 
> > AMQSBCG0 - starts here
> > **********************
> > 
> >  MQOPEN - 'Q'
> >  MQOPEN failed with CompCode:2, Reason:2085
> >  MQDISC
> > 
> > If I start mintty, I see:
> > $ ./tmq.sh
> > 
> > AMQSBCG0 - starts here
> > **********************
> > 
> >  MQCONNX failed with CompCode:2, Reason:2539
> > 
> > I also see errors at the server side, which means that some sort of
> > connection has been made, but it seems to be garbled.
> > 
> > When we are "under" mintty it does not matter how I call amqsbcgc, it
> > always fails, here is one example:
> > 
> > $ ./tmq.sh
> > 
> > AMQSBCG0 - starts here
> > **********************
> > 
> >  MQCONNX failed with CompCode:2, Reason:2539
> > 
> > $ cmd
> > Microsoft Windows [Version 10.0.17763.1817]
> > (c) 2018 Microsoft Corporation. Alle rettigheder forbeholdes.

Ah, you are using Win10 1809. Then the pseudo console should be
supported.

> > C:\mhome\mqadm>set MQSERVER=BROWSE/TCP/mvs1(1414)
> > set MQSERVER=BROWSE/TCP/mvs1(1414)
> > 
> > C:\mhome\mqadm>amqsbcgc Q
> > amqsbcgc Q
> > 
> > AMQSBCG0 - starts here
> > **********************
> > 
> >  MQCONNX failed with CompCode:2, Reason:2539
> 
> In the log above in cmd, input command are echoed twice.
> This happens when the pseudo console is not activated. Are you
> using Win7 or old Win10? Or do you set CYGWIN=disable_pcon by
> any chance?
> 
> If you set CYGWIN=disable_pcon, please try unset it.

Probably you set CYGWIN=disable_pcon in .bashrc or elsewhere.
Please try to unset it.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin mailing list