I stand ready to help by cutting the failing case down if that is called for.

But I don't think that's the right first step. This feels like a memory-corruption problem, given that the failure occurs only if debug has been engaged long before, and that I can run lint on smaller files without error. Having a single line that fails might not be much easier than having a large file, if both cases require looking into the past.

If someone who knows the source can look at it, I will work with them; otherwise if I do it myself I am going to wait until I have examined the problem in the C debugger.

Henry Rich

On 3/22/2016 9:39 AM, bill lam wrote:
I still think it is easier for developers if you can provide a simple
example to reproduce the bug.  I agree with Eric.
On Mar 22, 2016 8:06 PM, "Henry Rich" <henryhr...@gmail.com> wrote:

Thanks Bill.

I'm not sure taking it farther will help.  The point of error may be back
in debug, rather than the place where the program crashed.  We really need
to look at it under a C debugger to see what the problem is.

Henry Rich

On 3/21/2016 9:33 PM, bill lam wrote:

I can trace it segfaulted at this line of lint

NB. get vbls , emsgs for each valence
ve=. (((>: lineno + |.!.0 >:@#@> valences),.(exptype>:2)) ;"1 0 stvbls)
checkvalence valences

during processing the name parsemain_dissect_

perhaps you can go further to isolate the exact point of
failure.

Пн, 21 мар 2016, Henry Rich написал(а):

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

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to