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

Reply via email to