I don't think the problem is in the code for Ctrl-K:
1. executing 13!:1 (1) without Ctrl-K is enough to create the problem;
2. Going into debug and then coming out leaves the system corrupted.
It seems to me that there is some entity that corrupts the system if
executed while in debug, causing a crash later. We could try to isolate
that by chopping down the code for debug, but I would think it would be
easier to start with the failure in the J Engine & see if that makes the
next move clear.
If you want to go into it, ctrl-K executes
dbg_z_ ''
IIRC, and that runs
jdb_open_jdebug_''
But beware! Make a false step in the debug code itself and the system
may crash.
Henry Rich
On 3/21/2016 6:27 PM, Pascal Jasmin wrote:
Is there a link to the source code behind ctrl-K. I think the last time
someone complained about it having a bug, the feature was removed for 4 months
:P
It appears as though the bug would be in what should be a relatively short bit
of code?
----- Original Message -----
From: Henry Rich <henryhr...@gmail.com>
To: Programming forum <programm...@jsoftware.com>
Sent: Monday, March 21, 2016 3:11 PM
Subject: [Jprogramming] Help, please - crash after suspension in J64
I have a reproducible crash on J64 when I run a large script after debug
has been active, even if it no longer active. This appears to be in the
J Engine, and I am wondering if someone who is working on that would be
willing to post a fix that could get into a release before next August,
when next semester starts.
Bill Lam reproduced this with Jconsole, and I did on JQt Windows, and
Bill says it doesn't fail on 32-bit Jconsole. This strongly implicates
the J Engine, methinks.
The crash happens whenever I run the sentence
lint 'h:\dissect.ijs'
Unfortunately lint is a huge program and the dissect.ijs source file is
even huger. Sometimes I get crashes on smaller files but this seems
totally reproducible. If it looks like cutting the testcase down is
called for I will do so, but it would be better to start by looking at
the crash in a C debugger.
Here are the results of my experiments. To reproduce, load debug/lint
and run it on the file ~addons/debug/dissect/dissect.ijs
FAILS:
13!:0 (1)
lint 'H:\dissect.ijs' NB. h: is my source disk, yours will be different
WORKS:
13!:0 (1)
13!:0 (0)
lint 'H:\dissect.ijs'
FAILS:
Ctrl+K to start debug
lint 'H:\dissect.ijs'
FAILS:
Ctrl+K to start debug
Cancel the debug window
hit enter in term to make sure debug is over
13!:17 '' to verify debug is off
lint 'H:\dissect.ijs'
WORKS:
13!:0 (1)
harmlessname =. 1
13!:0 (0)
lint 'H:\dissect.ijs'
It appears that something that Ctrl-K does poisons the system, even
after debug is turned off.
Henry Rich
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm