Cannot connect to server via CPRS or Any GUI apps after upgrade

61 views
Skip to first unread message

Agostino Nigro

unread,
Aug 9, 2026, 11:19:28 PM (3 days ago) Aug 9
to Hardhats
Hello all,

I just upgraded my VistA instance from an old GT.M x86 ubuntu server to new x64 Ubuntu running YottaDB now.

I migrated my globals and have gotten everything working including roll and scroll, Tasman, etc... (per some quick smoke testing), but whenever I try to access via CPRS or any GUI it just fails and does not work at all...

I have checked my xinetd.d configuration, it is working and pointed at /opt/VISTAEHR/cprs_direct. (as shown)

service cprs-gui

    {

        port            = 9297

        disable         = no

        socket_type     = stream

        wait            = no

        user            = gtmuser

        server          = /opt/VISTAEHR/cprs_direct

        passenv         = REMOTE_HOST

        type            = UNLISTED

    }


cprs_direct looks like such:
#!/bin/sh
/opt/VISTAEHR/vista -run %XCMD 's $ZT="Q" d GTMLNX^XWBTCPM'

/opt/VISTAEHR/vista looks like such:

#!/bin/sh

if [ -z "$USER" ] ; then export USER=`whoami` ; fi

if [ -z "$HOME" ] ; then export HOME=/home/$USER ; fi

. /opt/VISTAEHR/env

timestamp=`date -u +%Y%m%d%H%M%S`"UTC"

cd `dirname $ydb_gbldir` ; \

    $ydb_dist/mupip journal -recover -backward "*" 2>$ydb_tmp/"$timestamp"_1_$USER"_mupip_recover" && \

    $ydb_dist/mupip set -journal="on,before" -region "*" 2>$ydb_tmp/"$timestamp"_2_$USER"_mupip_set" && \

    find $HOME \( -name \*.mjl_\* -o -name \*.mjo -o -name \*.mje \) -mtime +$ydb_retention -exec rm -vf {} \; 2>$ydb_tmp/"$timestamp"_3_$USER"_find_rm_jnl"

if [ 0 = $# ] ; then

    $ydb_dist/mumps -direct

else

    $ydb_dist/mumps $*

fi

cd `dirname $ydb_gbldir` ; \

    $ydb_dist/mupip rundown -region "*" 2>$ydb_tmp/"$timestamp"_4_$USER"-"`date -u +%Y%m%d%H%M%S`"UTC_mupip_rundown"

find $ydb_tmp -user $USER -mtime +$ydb_retention -exec rm -f {} \; 2>$ydb_tmp/"$timestamp"_5_$USER"_find_rm_tmp"


My env file at /opt/VISTAEHR/env is:

export ydb_dist=/usr/local/lib/yottadb/r206

export ydb_gbldir=/opt/VISTAEHR/g/gtm.gld

export gtmgbldir=$ydb_gbldir

export ydb_log=/var/tmp/yottadb/r206 ; mkdir -p $ydb_log

#note the GT.M editing feature below conflicts with the VistA screen editor, so do not enable

#export gtm_principal_editing=EDITING

export ydb_repl_instance=/opt/VISTAEHR/gtm_repl

export ydb_repl_instname=dummy

export ydb_retention=10

#ADDED 2/2/2026 AMN - Adjust QUIT behavior to accommodate bug/feature of C style function/procedure unification rather than M/Pascal style function/procedure dichotomy

export ydb_zquit_anyway=1

export ydb_routines="/opt/VISTAEHR/o(/opt/VISTAEHR/r) $ydb_dist/plugin/o/_ydbposix.so $ydb_dist/plugin/o/_ydbgui.so $ydb_dist/plugin/o/_ydbmwebserver.so $ydb_dist/libyottadbutil.so $>

export gtmroutines="$ydb_routines"

#export gtm_principal_editing="EDITING"

export ydb_tmp=/var/tmp/yottadb/r206 ; mkdir -p $ydb_tmp

alias mumps=$ydb_dist/mumps

alias mupip=$ydb_dist/mupip

#for YottaDB Web GUI

ydb_xc_ydbposix=$ydb_dist/plugin/ydbposix.xc

GTMXC_ydbposix=$ydb_dist/plugin/ydbposix.xc



Any assistance would be greatly appreciated since the rest of the system is working great on the new YottaDB backend but something must obviously be wonky somewhere after the shift from x86 GT.M to x64 YottaDB...

Sam Habiel

unread,
Aug 10, 2026, 9:04:21 AM (2 days ago) Aug 10
to hard...@googlegroups.com
My first thought is where did you find Xinetd to install? It's now considered deprecated.

Here the things to try to verify things are working:

1. ss -tnlp shows the port being open.
2. A simple nc -v localhost <port> shows it working
3. D CALL^XWBTCPMT which does an interactive broker test. (https://vistapedia.com/index.php/VISTA_XWB_Broker_Troubleshooting).

--Sam

--
--
http://groups.google.com/group/Hardhats
To unsubscribe, send email to Hardhats+u...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "Hardhats" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hardhats+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/hardhats/2cf17ec8-332c-41a9-a059-8eac820d5e2bn%40googlegroups.com.

Agostino Nigro

unread,
Aug 10, 2026, 11:35:21 AM (2 days ago) Aug 10
to Hardhats
I believe I did an Xinetd install using package manager... I can see if Systemd will work better.

I had run those commands before and they showed success, but rand them again and here are the results:

gtmuser@vistaworkshop:~$ ss -tnlp

State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  Process  

LISTEN   0        4096       127.0.0.53%lo:53            0.0.0.0:*              

LISTEN   0        4096             0.0.0.0:22            0.0.0.0:*              

LISTEN   0        4096          127.0.0.54:53            0.0.0.0:*              

LISTEN   0        64                     *:9297                *:*              

LISTEN   0        4096                [::]:22               [::]:*              

gtmuser@vistaworkshop:~$ nc -v localhost 9297

Connection to localhost (127.0.0.1) 9297 port [tcp/cprs-gui] succeeded!

^C

gtmuser@vistaworkshop:~$ ydb


YDB>D CALL^XWBTCPMT


Interactive Broker Test

IP ADDRESS: 127.0.0.1

PORT: 9297

Success, response: 

Sam Habiel

unread,
Aug 10, 2026, 11:36:41 AM (2 days ago) Aug 10
to hard...@googlegroups.com
Okay. Things look good. Maybe it's a firewall issue. Try running nc -v <ip> <port> from another machine.

--Sam

Agostino Nigro

unread,
Aug 10, 2026, 11:43:03 AM (2 days ago) Aug 10
to Hardhats
Yep that showed the same:

Connection to 10.1.2.122 port 9297 [tcp/*] succeeded!

Should I try to migrate to Systemd and see if that shows any success?

Agostino Nigro

unread,
Aug 10, 2026, 11:59:31 AM (2 days ago) Aug 10
to Hardhats
So I just switched to Systemd and it still is not connecting, CPRS gives an error of:
Error Encountered
Function was: recv
Error was: WSAECONNRESET

Of note, if it is helpful, CPRS gives the error message twice when I launch one session...

Agostino Nigro

unread,
Aug 10, 2026, 12:04:03 PM (2 days ago) Aug 10
to Hardhats
Just also tried to do an RPC Test Client from a remote PC and got the following error...
Error Encountered
Function Was: Error Identifying Remote Host 10.1.2.122 
Error Was:WSANO_DATA.


So I am thinking that may lead somewhere, but it is still odd since the old server IP was 10.1.2.199 and when it was set to that IP it didn't work either...

Agostino Nigro

unread,
Aug 10, 2026, 12:28:07 PM (2 days ago) Aug 10
to Hardhats
So thanks to some AI, was able to finally pull the error logs in YottaDB and see the following:

Process ID:  1574  (1574)               AUG 10, 2026 12:26:55


UCI/VOL: [ROU:vistaworkshop]            


$ZA:   0                                


Current $IO: 0                          Current $ZIO: ^0^0^0


$ZE= ESET+2^XWBTCPM, Label expected in this context,150373186,-%YDB-E-LABELEXPEC

TED


 S X="",@^%ZOSF("TRAP") ;Clear old trap


Last Global Ref: ^%ZOSF("TRAP")

Agostino Nigro

unread,
Aug 10, 2026, 12:44:22 PM (2 days ago) Aug 10
to Hardhats
Was able to finally figure it out...

CPRS and other GUI apps were not able to connect to new Server running on YottaDB x64 Architecture…

It was presenting in YDB>D ^XTER as:
Process ID:  1773  (1773)               AUG 10, 2026 12:37:50

UCI/VOL: [ROU:vistaworkshop]            

$ZA:   0                                

Current $IO: 0                          Current $ZIO: ^0^0^0

$ZE= ESET+2^XWBTCPM, Equal sign expected but not found,150372722,-%YDB-E-EQUAL

 S X="",@^%ZOSF("TRAP") ;Clear old trap

Last Global Ref: ^%ZOSF("TRAP")

Solution:

^%ZOSF("TRAP") must start directly with $ETRAP= (without the leading S or SET ), so that the comma cleanly chains into setting $ETRAP.

Step 1: Update ^%ZOSF("TRAP")

Run this exact command at your YDB> prompt:

SET ^%ZOSF("TRAP")="$ETRAP=$S($L(X):""G ""_X,1:""Q"")"

Step 2: Verify the Global Value

Run:

WRITE ^%ZOSF("TRAP")

Expected Output: $ETRAP=$S($L(X):"G "_X,1:"Q") (Note: No leading S or SET)

Step 3: Test standard indirection

Execute the exact line from XWBTCPM:

S X="",@^%ZOSF("TRAP")

This now expands cleanly to S X="",$ETRAP=$S($L(X):"G "_X,1:"Q"), which is valid MUMPS syntax. It will return to the YDB> prompt silently with no error.

Sam Habiel

unread,
Aug 10, 2026, 2:32:18 PM (2 days ago) Aug 10
to hard...@googlegroups.com
So what was the solution? I am guessing a device (HFS or NULL) was not set-up correctly?

--Sam

Agostino Nigro

unread,
Aug 10, 2026, 4:27:58 PM (2 days ago) Aug 10
to Hardhats
The solution ended up being I needed to edit the one broker .m file and recompile it and now I am able to access it via all GUI applications

Nancy Anthracite

unread,
Aug 10, 2026, 9:16:48 PM (2 days ago) Aug 10
to Hardhats, Agostino Nigro
Congratulations!

--
Nancy Anthracite

On Monday, August 10, 2026 4:27:57 PM Eastern Daylight Time Agostino Nigro
wrote:
> The solution ended up being I needed to edit the one broker .m file and
> recompile it and now I am able to access it via all GUI applications
>
> On Monday, August 10, 2026 at 2:32:18 PM UTC-4 Sam Habiel wrote:
>
> > So what was the solution? I am guessing a device (HFS or NULL) was not
> > set-up correctly?
> >
> > --Sam
> >
> > On Mon, Aug 10, 2026 at 12:44 PM Agostino Nigro <austi...@gmail.com>
> > wrote:
> >
> >> Was able to finally figure it out...
> >>
> >> CPRS and other GUI apps were not able to connect to new Server running on
> >> YottaDB x64 Architecture…
> >>
> >> It was presenting in *YDB>D ^XTER* as:
> >> Process ID: 1773 (1773) AUG 10, 2026 12:37:50
> >>
> >> UCI/VOL: [ROU:vistaworkshop]
> >>
> >> $ZA: 0
> >>
> >> Current $IO: 0 Current $ZIO: ^0^0^0
> >>
> >> $ZE= ESET+2^XWBTCPM, Equal sign expected but not
> >> found,150372722,-%YDB-E-EQUAL
> >>
> >> S X="",@^%ZOSF("TRAP") ;Clear old trap
> >>
> >> Last Global Ref: ^%ZOSF("TRAP")
> >>
> >>
> >> *Solution:*
> >>
> >> ^%ZOSF("TRAP") must start directly with $ETRAP= (without the leading S or
> >> SET ), so that the comma cleanly chains into setting $ETRAP.
> >>
> >> Step 1: Update ^%ZOSF("TRAP")
> >>
> >> Run this exact command at your YDB> prompt:
> >> SET ^%ZOSF("TRAP")="$ETRAP=$S($L(X):""G ""_X,1:""Q"")"
> >>
> >> Step 2: Verify the Global Value
> >>
> >> Run:
> >> WRITE ^%ZOSF("TRAP")
> >>
> >> *Expected Output:* $ETRAP=$S($L(X):"G "_X,1:"Q") *(Note: No leading *S*
> >> or *SET*)*
> >>
> >> Step 3: Test standard indirection
> >>
> >> Execute the exact line from XWBTCPM:
> >> S X="",@^%ZOSF("TRAP")
> >>
> >> This now expands cleanly to S X="",$ETRAP=$S($L(X):"G "_X,1:"Q"), which
> >> is valid MUMPS syntax. It will return to the YDB> prompt silently with
*no
> >> error*.
> >>>>>>>> *gtmuser@vistaworkshop*:*~*$ ss -tnlp
> >>>>>>>>
> >>>>>>>> State Recv-Q Send-Q Local Address:Port Peer
> >>>>>>>> Address:Port Process
> >>>>>>>>
> >>>>>>>> LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> LISTEN 0 4096 0.0.0.0:22 0.0.0.0:*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> LISTEN 0 4096 127.0.0.54:53 0.0.0.0:*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> LISTEN 0 64 *:9297 *:*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> LISTEN 0 4096 [::]:22 [::]:*
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> *gtmuser@vistaworkshop*:*~*$ nc -v localhost 9297
> >>>>>>>>
> >>>>>>>> Connection to localhost (127.0.0.1) 9297 port [tcp/cprs-gui]
> >>>>>>>> succeeded!
> >>>>>>>>
> >>>>>>>> ^C
> >>>>>>>>
> >>>>>>>> *gtmuser@vistaworkshop*:*~*$ ydb
> >>>>>>>>>> if [* -z* *"$USER"* ] ; then export USER=`whoami` ; fi
> >>>>>>>>>>
> >>>>>>>>>> if [* -z* *"$HOME"* ] ; then export HOME=/home/*$USER* ; fi
> >>>>>>>>>>
> >>>>>>>>>> . /opt/VISTAEHR/*env*
> >>>>>>>>>>
> >>>>>>>>>> timestamp=`date* -u* +%Y%m%d%H%M%S`*"UTC"*
> >>>>>>>>>>
> >>>>>>>>>> *cd* `dirname *$ydb_gbldir*` ; \
> >>>>>>>>>>
> >>>>>>>>>> *$ydb_dist*/mupip journal -recover -backward *"*"* 2>
> >>>>>>>>>> *$ydb_tmp*/*"$timestamp"*_1_*$USER**"_mupip_recover"* && \
> >>>>>>>>>>
> >>>>>>>>>> *$ydb_dist*/mupip *set* -journal=*"on,before"* -region *"*"*
> >>>>>>>>>> 2>*$ydb_tmp*/*"$timestamp"*_2_*$USER**"_mupip_set"* && \
> >>>>>>>>>>
> >>>>>>>>>> find *$HOME* \( -name \*.mjl_\** -o* -name \*.mjo* -o* -name
> >>>>>>>>>> \*.mje \) -mtime +*$ydb_retention* -exec *rm* -vf {} \; 2>
> >>>>>>>>>> *$ydb_tmp*/*"$timestamp"*_3_*$USER**"_find_rm_jnl"*
> >>>>>>>>>>
> >>>>>>>>>> if [ 0 = *$#* ] ; then
> >>>>>>>>>>
> >>>>>>>>>> *$ydb_dist*/mumps -direct
> >>>>>>>>>>
> >>>>>>>>>> else
> >>>>>>>>>>
> >>>>>>>>>> *$ydb_dist*/mumps *$**
> >>>>>>>>>>
> >>>>>>>>>> fi
> >>>>>>>>>>
> >>>>>>>>>> *cd* `dirname *$ydb_gbldir*` ; \
> >>>>>>>>>>
> >>>>>>>>>> *$ydb_dist*/mupip rundown -region *"*"* 2>*$ydb_tmp*/
> >>>>>>>>>> *"$timestamp"*_4_*$USER**"-"*`date* -u* +%Y%m%d%H%M%S`
> >>>>>>>>>> *"UTC_mupip_rundown"*
> >>>>>>>>>>
> >>>>>>>>>> find *$ydb_tmp* -user *$USER* -mtime +*$ydb_retention* -exec *rm**
> >>>>>>>>>> -f* {} \; 2>*$ydb_tmp*/*"$timestamp"*_5_*$USER**"_find_rm_tmp"*
> >>>>>>>>>> ---
> >>>>>>>>>> You received this message because you are subscribed to the
> >>>>>>>>>> Google Groups "Hardhats" group.
> >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
> >>>>>>>>>> send an email to hardhats+u...@googlegroups.com.
> >>>>>>>>>> To view this discussion visit
> >>>>>>>>>> https://groups.google.com/d/msgid/hardhats/2cf17ec8-332c-41a9-a059-8eac820d5e2bn%40googlegroups.com
> >>>>>>>>>> <https://groups.google.com/d/msgid/hardhats/2cf17ec8-332c-41a9-a059-8eac820d5e2bn%40googlegroups.com?utm_medium=email&utm_source=footer>
> >>>>>>>>>> .
> >>>>>>>>>>
> >>>>>>>>
> >>>>>>>> ---
> >>>>>>>> You received this message because you are subscribed to the Google
> >>>>>>>> Groups "Hardhats" group.
> >>>>>>>> To unsubscribe from this group and stop receiving emails from it,
> >>>>>>>> send an email to hardhats+u...@googlegroups.com.
> >>>>>>>>
> >>>>>>> To view this discussion visit
> >>>>>>>> https://groups.google.com/d/msgid/hardhats/7fa17759-e7c4-4e63-822e-670712309c24n%40googlegroups.com
> >>>>>>>> <https://groups.google.com/d/msgid/hardhats/7fa17759-e7c4-4e63-822e-670712309c24n%40googlegroups.com?
utm_medium=email&utm_source=footer>
> >>>>>>>> .
> >>>>>>>>
> >>
> >> ---
> >> You received this message because you are subscribed to the Google Groups
> >> "Hardhats" group.
> >> To unsubscribe from this group and stop receiving emails from it, send an
> >> email to hardhats+u...@googlegroups.com.
> >>
> > To view this discussion visit
> >> https://groups.google.com/d/msgid/hardhats/d14f2c1d-7597-4def-ae4c-b75bb71393c3n%40googlegroups.com
> >> <https://groups.google.com/d/msgid/hardhats/d14f2c1d-7597-4def-ae4c-b75bb71393c3n%40googlegroups.com?utm_medium=email&utm_source=footer>
> >> .
> >>
> >
>
>




Reply all
Reply to author
Forward
0 new messages