Fwd: Updated M-Tools/Eclipse Plug-in...

Please see my post on hardhats. ---------- Forwarded message ---------- From: Sam Habiel Date: Wed, Jul 3, 2013 at 10:18 AM Subject: Updated M-Tools/Eclipse Plug-in... To: hardhats PWC/RGI under the VISTA refactoring contract released a new version of the M-Editor/Debugger Eclipse Plug-in. I wish they can more public with their announcements. I am posting it here to remedy their poor publicity performance. I want to say that I am really excited to have a visual debugger working on Linux. From the documentation, it looks like the two programmers did a wonderful job. I would have used Serenji all day long, but it only works on Windows. If it does indeed work, I will become an MTools user in a heartbeat. I got the plug-ins from the OSEHRA journal article: http://hdl.handle.net/10909/85 I am following this document in the zip file: "MTools Installation and Usage.docx" I wasn't able to get it to work. Here are all the issues I encountered. Issues: KIDS files are new from what Joel Ivey put out; yet the T number on them has not been incremented. XT73P107T4.KID has a lot of changes. XT73P101T9.kid has a single line that has changed. XT73P81T12.kid remains unmodifed. Compilation error on GT.M for Invalid Mumps Code: Installing Routines:. S XTDEBUGX = "S XTDEBVAL="_XTDEBEXP ^----- At column 12, line 356, source module /var2/local/foia201303-2/p/XTDEBUG.m %GTM-E-EQUAL, Equal sign expected but not found ......... Spaces between the equal make it invalid Mumps. Link for http://www.seaislandsystems.com/Downloads/VistALink/xobv-gtm.ro makes VISTALink run as a single threaded listener. In FOIA, the multi-threaded listener for xinetd is at GTMLNX^XOBVTCP. No patching needed. Same zip files contained at multiple levels. Confusing. The VistA menu in eclipse ONLY has Connect and Disconnect. Nothing else. I sniffed traffic to my port and can confirm that Connect and Disconnect happen perfectly well. After making a new project, I opened a new .m file from my file system. It refused to load, even after I added to the project. At my console, I get this strange error message: env: wine: No such file or directory Yet, when I run: env | grep -i wine, I get no output. The documentation says that I can load a Mumps routine from the VISTA server by doing this: "Either click the green M button in the eclipse Toolbar or, in the top menu, click VistA -> Load M Routine." I have no green M button; and I don't have the option to Load M Routine in VistA. Debugging help: I looked in Help> About > Installation Details > Configuration. I see this: gov.va.med.iss.connection (0.1.003) "MEditor Plug-in" [Starting] gov.va.med.iss.debug.core (0.1.006) "MDebug Core" [Installed] gov.va.med.iss.debug.ui (0.1.005) "MDebug UI" [Installed] gov.va.med.iss.meditor (0.1.008) "MEditor Plug-in" [Installed] and us.pwc.vista.eclipse.tools (1.0.01) "MUMPS Right-Click Tools" [Installed] Eclipse is Version: 3.7.2 I want other people to try it too. I am not sure whether I am having problems because of my old version of eclipse or because I had the older version of M Tools (but I made sure to remove that before starting this installation). Sam
like0

Comments

Please check your java version

Afsin Ustundag's picture

Please check what "java -version" gives on your linux box.  It needs to be 1.7.  With 1.6 I hit the same problems you did.  I also had problems with OpenJDK 1.7 so I had to install Oracle Java.  Please let me know if updating to 7 is a problem and I can try to switch back to 6 next version.  I am doing some fixes and will update TJ sometime next week and I will also take a look at your other issues.

Thanks for trying,

Afsin

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Okay. I will upgrade.

Sam

On Thu, Jul 25, 2013 at 1:46 PM, austundag <austundag@raygroupintl.com> wrote:
> Please check what "java -version" gives on your linux box. It needs to be
> 1.7. With 1.6 I hit the same problems you did. I also had problems with
> OpenJDK 1.7 so I had to install Oracle Java. Please let me know if updating
> to 7 is a problem and I can try to switch back to 6 next version. I am
> doing some fixes and will update TJ sometime next week and I will also take
> a look at your other issues.
>
> Thanks for trying,
>
> Afsin
>
> --
> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
> Stop emails for this post:
> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

It's working. I am going to die from being so excited!

A good thing happened: the debugger took my enthusiasm away. It looked
like it works, but the Mumps Console doesn't show me anything. How can
I debug that?

I noticed that it was really slow; I ran wireshark to see what it's
doing, and now I know why it's slow. Mumps is sending back ONE BYTE AT
A TIME (yes, yes, I know you didn't write that code... I fixed TCP
issues with VISTA before... so I will take a look at it).

Sam

On Thu, Jul 25, 2013 at 1:51 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
> java -version
> java version "1.6.0_27"
> OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>
> Okay. I will upgrade.
>
> Sam
>
> On Thu, Jul 25, 2013 at 1:46 PM, austundag <austundag@raygroupintl.com> wrote:
>> Please check what "java -version" gives on your linux box. It needs to be
>> 1.7. With 1.6 I hit the same problems you did. I also had problems with
>> OpenJDK 1.7 so I had to install Oracle Java. Please let me know if updating
>> to 7 is a problem and I can try to switch back to 6 next version. I am
>> doing some fixes and will update TJ sometime next week and I will also take
>> a look at your other issues.
>>
>> Thanks for trying,
>>
>> Afsin
>>
>> --
>> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
>> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
>> Stop emails for this post:
>> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

I took a look at the TCP sending code in VistALink, and I think it's
what's causing the problem.

In WRITE^XOBVSKT, a string is written to the socket directly, without
buffering (see below).

My experience with GT.M and xinetd is that xinetd sends the data as
soon as it receives it (it doesn't wait for a flush). The XWB broker
does the following to avoid the problem:

WRITE(STR) ;Write a data string
; send data for DSM (requires buffer flush (!) every 511 chars)
;IF XWBOS="DSM"!(XWBOS="UNIX")!(XWBOS="OpenM) next line
F Q:'$L(STR) D
. I $L(XWBSBUF)+$L(STR)>240 D WBF
. S XWBSBUF=XWBSBUF_$E(STR,1,255),STR=$E(STR,256,99999)
Q
WBF ;Write Buffer Flush
Q:'$L(XWBSBUF)
I $G(XWBDEBUG)>2,$L(XWBSBUF) D LOG^XWBDLOG("wrt ("_$L(XWBSBUF)_"):
"_$E(XWBSBUF,1,247))
W XWBSBUF,@XWBT("BF")
S XWBSBUF=""
Q

I went one better in the BMX broker port to VISTA which reads 32K
before sending the data off.

Each TCP packet is around ~1400 bytes of data; so in general, you
shouldn't write to TCP before you are done with your data. My reading
on the Internet 2-3 back (can't believe it has been that long) says
that you cannot tell TCP/IP when to flush.

I want to see how the direct listener in GT.M works. I suspect it will
have the same problem.

Sam

On Thu, Jul 25, 2013 at 4:06 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
> It's working. I am going to die from being so excited!
>
> A good thing happened: the debugger took my enthusiasm away. It looked
> like it works, but the Mumps Console doesn't show me anything. How can
> I debug that?
>
> I noticed that it was really slow; I ran wireshark to see what it's
> doing, and now I know why it's slow. Mumps is sending back ONE BYTE AT
> A TIME (yes, yes, I know you didn't write that code... I fixed TCP
> issues with VISTA before... so I will take a look at it).
>
> Sam
>
> On Thu, Jul 25, 2013 at 1:51 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
>> java -version
>> java version "1.6.0_27"
>> OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>
>> Okay. I will upgrade.
>>
>> Sam
>>
>> On Thu, Jul 25, 2013 at 1:46 PM, austundag <austundag@raygroupintl.com> wrote:
>>> Please check what "java -version" gives on your linux box. It needs to be
>>> 1.7. With 1.6 I hit the same problems you did. I also had problems with
>>> OpenJDK 1.7 so I had to install Oracle Java. Please let me know if updating
>>> to 7 is a problem and I can try to switch back to 6 next version. I am
>>> doing some fixes and will update TJ sometime next week and I will also take
>>> a look at your other issues.
>>>
>>> Thanks for trying,
>>>
>>> Afsin
>>>
>>> --
>>> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
>>> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
>>> Stop emails for this post:
>>> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

I just confirmed that a GT.M socket listening directly has the same
issue as xinetd.

Bonus: I just updated all of Lloyd Milligan's code from VistaLink 1.0
to VistaLink 1.6 for GT.M support. I plan to post it tomorrow.

Sam

On Thu, Jul 25, 2013 at 5:49 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
> I took a look at the TCP sending code in VistALink, and I think it's
> what's causing the problem.
>
> In WRITE^XOBVSKT, a string is written to the socket directly, without
> buffering (see below).
>
> My experience with GT.M and xinetd is that xinetd sends the data as
> soon as it receives it (it doesn't wait for a flush). The XWB broker
> does the following to avoid the problem:
>
> WRITE(STR) ;Write a data string
> ; send data for DSM (requires buffer flush (!) every 511 chars)
> ;IF XWBOS="DSM"!(XWBOS="UNIX")!(XWBOS="OpenM) next line
> F Q:'$L(STR) D
> . I $L(XWBSBUF)+$L(STR)>240 D WBF
> . S XWBSBUF=XWBSBUF_$E(STR,1,255),STR=$E(STR,256,99999)
> Q
> WBF ;Write Buffer Flush
> Q:'$L(XWBSBUF)
> I $G(XWBDEBUG)>2,$L(XWBSBUF) D LOG^XWBDLOG("wrt ("_$L(XWBSBUF)_"):
> "_$E(XWBSBUF,1,247))
> W XWBSBUF,@XWBT("BF")
> S XWBSBUF=""
> Q
>
> I went one better in the BMX broker port to VISTA which reads 32K
> before sending the data off.
>
> Each TCP packet is around ~1400 bytes of data; so in general, you
> shouldn't write to TCP before you are done with your data. My reading
> on the Internet 2-3 back (can't believe it has been that long) says
> that you cannot tell TCP/IP when to flush.
>
> I want to see how the direct listener in GT.M works. I suspect it will
> have the same problem.
>
> Sam
>
> On Thu, Jul 25, 2013 at 4:06 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
>> It's working. I am going to die from being so excited!
>>
>> A good thing happened: the debugger took my enthusiasm away. It looked
>> like it works, but the Mumps Console doesn't show me anything. How can
>> I debug that?
>>
>> I noticed that it was really slow; I ran wireshark to see what it's
>> doing, and now I know why it's slow. Mumps is sending back ONE BYTE AT
>> A TIME (yes, yes, I know you didn't write that code... I fixed TCP
>> issues with VISTA before... so I will take a look at it).
>>
>> Sam
>>
>> On Thu, Jul 25, 2013 at 1:51 PM, Sam Habiel <sam.habiel@gmail.com> wrote:
>>> java -version
>>> java version "1.6.0_27"
>>> OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.12.04.2)
>>> OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
>>>
>>> Okay. I will upgrade.
>>>
>>> Sam
>>>
>>> On Thu, Jul 25, 2013 at 1:46 PM, austundag <austundag@raygroupintl.com> wrote:
>>>> Please check what "java -version" gives on your linux box. It needs to be
>>>> 1.7. With 1.6 I hit the same problems you did. I also had problems with
>>>> OpenJDK 1.7 so I had to install Oracle Java. Please let me know if updating
>>>> to 7 is a problem and I can try to switch back to 6 next version. I am
>>>> doing some fixes and will update TJ sometime next week and I will also take
>>>> a look at your other issues.
>>>>
>>>> Thanks for trying,
>>>>
>>>> Afsin
>>>>
>>>> --
>>>> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
>>>> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
>>>> Stop emails for this post:
>>>> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Feature Request - support OpenJDK

Christopher Edwards's picture

It would be very nice for this to work with openJDK. Oracle Java is prohibited from distribution from others other than Oracle, so integreting this project into a ready-to-go VM for developers would not be possible without manual steps.

I remember having the original M-Tools working on OpenJDK without any issues (that I could detect and I tried several items).

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

Agreed.

Sam

On Mon, Jul 29, 2013 at 9:04 AM, Christopher.Edwards
<Christopher.Edwards@krminc.com> wrote:
> It would be very nice for this to work with openJDK. Oracle Java is
> prohibited from distribution from others other than Oracle, so integreting
> this project into a ready-to-go VM for developers would not be possible
> without manual steps.
>
> I remember having the original M-Tools working on OpenJDK without any issues
> (that I could detect and I tried several items).
>
> --
> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
> Stop emails for this post:
> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Feature Request - support OpenJDK

Afsin Ustundag's picture

OK.  I will switch back to Java 1.6 in the next update.

like0

Java Version Number

Christopher Edwards's picture

Afsin,

Is backing down to Java 1.6 necessary? I think OpenJDK has a 1.7 version as well. From my point of view the java version number is less important than the compatibility with OpenJDK.

Thanks!

like0

Java Version Number

Afsin Ustundag's picture

A while back I tried to get Eclipse (Indigo) run with OpenJDK 1.7 and it just crashed.  This is before installing anything MTools related.  A couple of post I read reported similar problems with Eclipse/Ubuntu/OpenJDK 1.7 combination so I did not investigate further.  If you can get Eclipse working on OpenJDK 1.7 M-Tools should already be compatible.   I will try to test again this weeek.

like0

Write Commands to MUMPS console

Afsin Ustundag's picture

Write command stopped working a while back due to changes in REF-369.  I think the following change should fix it

(XTDEBUG1:274): Missing S @XTDEBLOC@("NXTCMD")="Q" before QUIT

if you take a look at the changes for that issue and you should be able to tell the context.

Debugger back-end still needs more work.  It does not support all the Mumps language constructs yet.

 

 

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

" Bonus: I just updated all of Lloyd Milligan's code from VistaLink 1.0
to VistaLink 1.6 for GT.M support. I plan to post it tomorrow."

Looks like I am not doing it today. Turns out I tested the wrong thing
yesterday; so I have to break and try again later.

Sam

On Thu, Jul 25, 2013 at 8:56 PM, austundag <austundag@raygroupintl.com> wrote:
> Write command stopped working a while back due to changes in REF-369. I
> think the following change should fix it
>
> (XTDEBUG1:274): Missing S @XTDEBLOC@("NXTCMD")="Q" before QUIT
>
> if you take a look at the changes for that issue and you should be able to
> tell the context.
>
> Debugger back-end still needs more work. It does not support all the Mumps
> language constructs yet.
>
>
>
>
>
> --
> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
> Stop emails for this post:
> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Connection Error?

Joshua Cope's picture

I set my server connection to local;127.0.0.1;8001;

and then when I go the VIsta Menu and click Load M Routine, a screen pops up asking for access and verify code, I enter correct credentials and then I get a popup message on screen saying "The connection to the server has been lost, sign in again", I repeat process and same error message continually comes up

when I run "lke show all" in my terminal, these are the processes I have running

DEFAULT
^%ZIS(8994.171,"RPCB Listener","PLA","PLA","PLA:iszm",9210)
                         Owned by PID= 2601 which is an existing process
^XOB(18.01,"VistALink Listener","PLA","PLA","PLA:iszm",8001)
                         Owned by PID= 8882 which is an existing process
%GTM-I-LOCKSPACEUSE, Estimated free lock space: 89% of 40 pages

any ideas? Am I using wrong IP address? when trying wrong credentials, I get a different error message that login credentials are incorrect.

like0

Environment details?

Christopher Edwards's picture

Can you post more of your environment? How did you setup VistALink?

like0

Nevermind

Joshua Cope's picture

I forgot to assign XUPROGMODE security key to user now it works, thanks for help

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Sam Habiel's picture

This is actually a bug. It should be more verbose about failing. I had
this problem before and it drives me nuts. Instead, it just
disconnects silently.

Sam

On Mon, Jul 29, 2013 at 10:39 AM, jcope <jcope@albany.edu> wrote:
> I forgot to assign XUPRODMODE security key to user now it works, thanks for
> help
>
> --
> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> Manage my subscriptions: http://www.osehra.org/og_mailinglist/subscriptions
> Stop emails for this post:
> http://www.osehra.org/og_mailinglist/unsubscribe/2958

like0

Fwd: Updated M-Tools/Eclipse Plug-in...

Jason Li's picture

I found out it is very helpful if you start eclipse via command line option
like the following:

<path_to_eclipse> -console -consoleLog -debug.

That way, it will print out all debug messages directly to terminal window.

- Jason.

On Mon, Jul 29, 2013 at 2:06 PM, Sam Habiel <sam.habiel@gmail.com> wrote:

> This is actually a bug. It should be more verbose about failing. I had
> this problem before and it drives me nuts. Instead, it just
> disconnects silently.
>
> Sam
>
> On Mon, Jul 29, 2013 at 10:39 AM, jcope <jcope@albany.edu> wrote:
> > I forgot to assign XUPRODMODE security key to user now it works, thanks
> for
> > help
> >
> > --
> > Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> > Manage my subscriptions:
> http://www.osehra.org/og_mailinglist/subscriptions
> > Stop emails for this post:
> > http://www.osehra.org/og_mailinglist/unsubscribe/2958
>
>
>
> --
> Full post: http://www.osehra.org/content/fwd-updated-m-toolseclipse-plug
> Manage my subscriptions:
> http://www.osehra.org/og_mailinglist/subscriptions
> Stop emails for this post:
> http://www.osehra.org/og_mailinglist/unsubscribe/2958
>
>

--
Jason Li
R&D Engineer
Kitware, Inc.
Tel: (518)-881-4421

like0