Hello Chris, The session stays blocked - what ever I try fiddling around.
During this fiddling I came across on other situation that makes the edif2 case even more interesting: (EDIF2 is a work space having edif2 as function only) The first session (eg. after reboot) has a double free corruption in either case. 1) 'libedif.so' ⎕fx 'edif2' .. 'libedif.so' ⎕fx 'edif2' .. )off or 2) )load a WS having function edif2 then 'libedif.so' ⎕fx 'edif2' .. )off [joy@joyw520 ~]$ apl 'libedif.so' ⎕fx 'edif2' edif2 )clear CLEAR WS )load EDIF2 SAVED 2018-08-20 16:03:15 (GMT+2) 'libedif.so' ⎕fx 'edif2' edif2 )off double free or corruption (fasttop) Abgebrochen (Speicherabzug geschrieben) The following case is not expected. Yet one could argue )save does some cleaning. [joy@joyw520 ~]$ apl 'libedif.so' ⎕fx 'edif2' edif2 )save EDIF2 NOT SAVED: THIS WS IS CLEAR WS )drop EDIF2 2018-08-20 16:10:32 (GMT+2) )save EDIF2 2018-08-20 16:10:36 (GMT+2) 'libedif.so' ⎕fx 'edif2' edif2 )off Goodbye. Session duration: 133.863 seconds But now, on a naked WS, the corruption is gone .... sofar I could not repeat a subsequent corruption until after a reboot! [joy@joyw520 ~]$ apl 'libedif.so' ⎕fx 'edif2' edif2 'libedif.so' ⎕fx 'edif2' edif2 )off Goodbye. Session duration: 6.48602 seconds Best regards, Hans-Peter Am 20.08.2018 um 05:26 schrieb Chris Moller: > Hi, Hans-Peter, > > That quirk where you quad-fx edif2 twice... > > When edif2 starts, it fork()s a process to watch for changes in the > working-file copies of the functions passed to emacs, and it also > opens a POSIX message queue so the monitor process can communicate > changes to APL. When you quad-fx-ed edif2 twice, all that was > duplicated--two monitor processes, another sender on the queue, and > more signals being emitted. I've put a patch in (but haven't > committed it yet, and it should fix the segfault) that prevents all > that, but my question is whether the "session blocked" bug happens > only after the second quad-fx. I just can't reproduce the blocking > bug here, so I'm looking desperately for some non-obvious cause. > > Thanks, > Chris > > On 08/18/18 15:29, Hans-Peter Sorge wrote: >> >> Hello Chris, >> >> I have just one process running. >> >> I recompiled and reinstalled edif to make sure it's the most recent >> version. >> >> During editing with emacs: >> >> session is blocked, then in APL session >> >> Ctrl C >> fg >> >> 'some data' ENTER - no response >> >> in emacs: save >> >> in APL session: >> 'some data' replayed >> 'some data' response >> >> --------------------------------- >> >> There is on other quirk too: >> >> .... >> 'libedif.so' ⎕fx 'edif2' >> edif2 >> 'libedif.so' ⎕fx 'edif2' >> edif2 >> )off >> double free or corruption (fasttop) >> Abgebrochen (Speicherabzug geschrieben) [segmentation fault] >> >> Best regards, >> Hans-Peter >> >> >> Am 18.08.2018 um 02:39 schrieb Chris Moller: >>> >>> I can't make it fail, but I'll look closer in the morning. >>> >>> Is there any chance you have multiple APL processes running >>> concurrently? Apparently, that causes problems I hadn't caught before. >>> >>> >>> Chris >>> >>> >>> On 17/08/18 17:14, Hans-Peter Sorge wrote: >>>> >>>> Hello Chris, >>>> >>>> edif2 blocks the apl session again. >>>> >>>> edif: latest git. >>>> >>>> apl: 1069M >>>> >>>> Best Regards, >>>> >>>> Hans-Peter >>>> >>>> >>>> Am 16.08.2018 um 21:31 schrieb Chris Moller: >>>>> >>>>> Not that I expected otherwise, but edif and edif2 still work as >>>>> expected. >>>>> >>>>> cm >>>>> >>>>> >>>>> On 16/08/18 15:14, Juergen Sauermann wrote: >>>>>> Hi Hans-Peter, >>>>>> >>>>>> thanks, hopefully fixed in *SVN 1069*. >>>>>> >>>>>> Best Regards, >>>>>> /// Jürgen >>>>>> >>>>>> >>>>>> On 08/16/2018 07:29 PM, Hans-Peter Sorge wrote: >>>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> The ⎕IO bug is back. >>>>>>> >>>>>>> (note: ⎕IO ←→ 0 seems to be set to 0 using edif2) >>>>>>> >>>>>>> >>>>>>> ∇qio_test[⎕]∇ >>>>>>> >>>>>>> ∇ >>>>>>> [0] qio_test >>>>>>> [1] ⎕IO >>>>>>> ∇ >>>>>>> >>>>>>> >>>>>>> ⎕IO←1 >>>>>>> ⎕IO >>>>>>> 1 >>>>>>> qio_test >>>>>>> 1 >>>>>>> ⍎¨ 'qio_test' 'qio_test' >>>>>>> 1 >>>>>>> 1 >>>>>>> >>>>>>> ⎕IO←0 >>>>>>> >>>>>>> ⎕IO >>>>>>> >>>>>>> 0 >>>>>>> >>>>>>> qio_test >>>>>>> 0 >>>>>>> ⍎¨ 'qio_test' 'qio_test' >>>>>>> 1 >>>>>>> 1 >>>>>>> >>>>>>> Greetings >>>>>>> >>>>>>> Hans-Peter >>>>>>> >>>>>>> >>>>>>> >>>>>>> Am 14.08.2018 um 18:17 schrieb Chris Moller: >>>>>>>> >>>>>>>> I just committed a minor patch to edif, fixing a relatively low >>>>>>>> probability bug involving a possible message queue name >>>>>>>> collision if you have two or more APL sessions open simultaneously. >>>>>>>> >>>>>>>> https://github.com/ChrisMoller/edif >>>>>>>> >>>>>>>> --cm >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >