Yeah, I've noticed that APL gets unhappy when stdout/stderr
interferes with its pty. I tried to pull down a trial version of
slickedit just to see what was going on, but stopped when it asked
me for a credit card on which to charge 300USD, so I'm only guessing
that the output you're seeing is stdout or stderr. I did a little
experiment with a dummy "editor" (actually hello.c) just to see
what happens when you dump a lot of stuff to stderr, but that didn't
cause any memory issues even when I ran under valgrind. Something I
can try would be to close(STDERR_FILENO),and maybe
close(STDOUT_FILENO) before exec()ing--any editor edif2 can use
will almost certainly use GTK+, Qt, or something other than standard
IO. (I'd use the axis form, like edif2[1] would suppress stderr, or
something similar. The "corrupted double-linked list" message comes
from malloc, so I'm guessing unallocated memory is being stepped on,
but valgrind didn't catch any of that so I'm not sure what's causing
it.
I'll look into the inotify stuff.
Chris
On 08/22/18 16:15, Hans-Peter Sorge
wrote:
Hi Chris,
it' a stubborn case (the latest version).
I have an other case that fails (vs is script starting slickedit) :
#### apl ... session:
'libedif2.so' ⎕fx 'edif2'
edif2
'vs' edif2 'xxxx'
/var/run/user/2000/21616/xxxx.apl ### output from scrip vs
### output from slickedit ------------->
/opt/slickedit-pro2015/bin/vs_exe -sc /home/joy/.slickedit -sr
/home/joy/.slickedit /var/run/user/2000/21616/xxxx.apl ### slickedit
SlickEdit: An instance of SlickEdit is already being displayed on this X
server. The existing instance is being activated.
If you want to bring up a new copy of SlickEdit, use +new option.
You can turn off this message by setting
VSLICKXNOPLUSNEWMSG=1
### output from slickedit -------------<
### this is intermittent. might happen after several editor calls
'vs' edif2 'xxxx'
corrupted double-linked list
Abgebrochen (Speicherabzug geschrieben)
### session end
The message sent from slickedit seems to corrupt the memory.
The problem happened in previous version too (w/o pthread_mutex_......)
|