YES - Thank You - I'll have a good night sleep now:-)
Peter Am 20.08.2018 um 21:17 schrieb Chris Moller: > Aha! That both versions, edif and edif2, fail the same was a great > clue! Another patch just committed... > > > On 20/08/18 13:03, Hans-Peter Sorge wrote: >> >> Hello Chris, >> >> The session blocking was my fault. Sorry for having you mislead on this. >> >> I used >> >> 'libedif.so' ⎕fx 'edif2' >> >> instead of >> >> 'libedif2.so' ⎕fx 'edif2' >> >> -- >> However, the latest version still segfaults on >> 'libedif2.so' ⎕fx 'edif2' >> 'libedif2.so' ⎕fx 'edif2' >> )off >> >> and >> 'libedif.so' ⎕fx 'edif2' >> 'libedif.so' ⎕fx 'edif2' >> )off >> >> >> Best regards, >> Hans-Peter >> >> >> Am 20.08.2018 um 18:48 schrieb Chris Moller: >>> Yet another bugfix committed to https://github.com/ChrisMoller/edif.git >>> >>> Mostly, what it does is detect multiple ⎕fx invocations of >>> libedif2.so and short-circuits them, leaving the inotify() process >>> intact and the message queue opened only once. It also detects >>> )clear and closes/unlinks the queue, kills the inotify() process, >>> and closes any open editor processes. >>> >>> Chris >>> >>> On 20/08/18 10:38, Hans-Peter Sorge wrote: >>>> >>>> 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 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> >