Page 1 of 1

Traditional Functions Halt in First Statement

Posted: Sun Feb 17, 2019 7:34 pm
by tomgarwin
I'm running v 17 on both a PC (64 bit) and rPI (32 bit) and occasionally either on loading a ws with a latent expression or on calling a function directly from the terminal in an active workspace the function stops in the first statement (debugger displays) without any error message. Typically on executing again things work fine. I don't think ⎕DM shows any relevant error message either (at least the one time I tried this). It can't be anything specific to the first statement because sometimes it is a line with no executable code -- just a comment. I am not sure whether this has happened without the spawn option (executing the function in a new thread). This hasn't caused me any real problems -- wondering if there is a diagnostic I should try to figure out what is going on. Needless to say, no stop or trace vector is set (at least not intentionally).

Re: Traditional Functions Halt in First Statement

Posted: Mon Feb 18, 2019 9:27 am
by AndyS|Dyalog
"at least not intentionally" ..

.. I've always found it very easy to accidentally set stop bits when using the editor and tracer in the tty interface - so it's probably a good idea to check that you've not got stop bits set. If you have the option to use RIDE then that may be a better option as it's not easy to inadvertently set bits in the RIDE interface.

What you might like to experiment with is 2400⌶1 .. this causes all stop, monitor and trace bits to be cleared when you )save the workspace. It's a per-workspace setting - there's a little more about on the help page for Set Workspace Save Options.

If all else fails, you're welcome to send one of the workspaces to support@ and we'll take a look.

Re: Traditional Functions Halt in First Statement

Posted: Mon Feb 18, 2019 5:18 pm
by tomgarwin
Thanks very much, I'll try that.

Re: Traditional Functions Halt in First Statement

Posted: Sun Feb 24, 2019 6:53 am
by Adam|Dyalog
I don't think this is due to a stop bit, because that would print the function name and line number into the session:
      )clear
clear ws
⎕lx←'g'
⎕fx'g9'
1⎕stop'g'
)save /tmp/lxstop
/tmp/lxstop.dws saved Sun Feb 24 07:48:21 2019
⎕load⎕wsid

g[1]


Could it be that you are mistakenly pressing Ctrl+Enter (<TC>) when loading the workspace and thus end up tracing into ⎕LX?