From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25725 invoked by alias); 1 Oct 2016 22:46:54 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 39535 Received: (qmail 4612 invoked from network); 1 Oct 2016 22:46:54 -0000 X-Qmail-Scanner-Diagnostics: from mail-qk0-f178.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(209.85.220.178):SA:0(0.5/5.0):. Processed in 0.467076 secs); 01 Oct 2016 22:46:54 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=DATE_IN_PAST_24_48, FREEMAIL_FROM,SPF_PASS,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.220.178 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Vg0hmTUyr/wkdt+VN9K07UvfQL7svsQgt233cMv1zw0=; b=TIVvjUDCkTyqB+GpOBrtZ23DP6EaM9Wz5leEA26BuFs5nni/5K5LDIPZlobRbRhBZM 2cS10fmePq/rjXtDFzvXo7cn3NPEeD8ie13KLPxHlxtbts2HK5oFvXi6BUOJCWUFUUov UlBZERkiENdmU+00kMEbeWvfbend/KXUQ6N86rueZDdslK+xoB7m9zzqE+V3q7QuaieA B3IId0AsESpyqKTtP4lHZQ1O0GbqsDeZSGYCmxYvlOWTGFMBC/1VyrXv78i4KptpUKR6 LbxvB9TPzXd3sY0pIvMr6cn0effMO5W702NC7+MjehGtxZOZas4JVASnKOnVNK75r653 9p6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Vg0hmTUyr/wkdt+VN9K07UvfQL7svsQgt233cMv1zw0=; b=VNk5d9BWb0bhfud/s2I6cg4P/ZsTuZ7BG6ZJWPAHRoR0m6PvnJA9Zt/mO6dQpwf+cf GgJT7oy20PS13QLm6QBq8OBhjZk0wnh0WOzM+J8F8dIS/ZUYKzP+bMVzc166OXx8ehHu NLP6OQNIX/uE6SbNSzGXetabbKcm00sI0GzBeuAeEn8oPpSVHGWTqaS/0s8d6aaTYSor rrAZaLFUyhf2Eknu8r7/MT+95rth+ikdlkS/UyjW5IZc/kMy+mzV7/CFGLgJHV0uyoCJ SAPOO5WQi+svjSt6GznyugdWlzGMMLHYm51VurSPv5xDEaPKDpMb1jrAgd/fHb2cGV1v kJHQ== X-Gm-Message-State: AA6/9RlJaj1DztmYzETR4bc7WCXGdNJdIaWe/UCQI7NYDLpahlQco6ZMusP4awiX09/n5eMJJo+hjFnaz3WXDw== X-Received: by 10.55.190.68 with SMTP id o65mr6792249qkf.92.1475234956048; Fri, 30 Sep 2016 04:29:16 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <160924133140.ZM29034@torch.brasslantern.com> References: <160924133140.ZM29034@torch.brasslantern.com> From: Sebastian Gniazdowski Date: Fri, 30 Sep 2016 13:28:55 +0200 Message-ID: Subject: Re: Where to start debugging zle recursive-edit? / Ctrl-C To: Bart Schaefer Cc: Zsh hackers list Content-Type: multipart/mixed; boundary=94eb2c043be2847079053db7e71f --94eb2c043be2847079053db7e71f Content-Type: text/plain; charset=UTF-8 On 24 September 2016 at 22:31, Bart Schaefer wrote: > You're probably interested in getbyte() in zle_main.c, but you might > also attach with a debugger and put a breakpoint in zhandler so you > can get a stack trace of where the handler is being called [if it is]. > (Starting the debugger first and running zsh inside it won't work as > well because the debugger itself will trap the signals). It turned out that lldb stops at Ctrl-C even without b zhandler and this is what I've been receiving. The stack trace is at the end. But I've catched another thing. After Ctrl-C in .recursiveedit the timeouts at select() in raw_getbyte() stop occuring. Here is simple video that very well covers this. It shows debug prints stop appearing (attached 10-context lines diff). And Zconvey stops working, i.e. sched doesn't call its functions: https://asciinema.org/a/7s5dofinxlnn1i80ojunzybp7 ----------------- BT 10 / LLDB ---------------- (lldb) bt 10 * thread #1: tid = 0x1c441b, 0x00007fff897b107a libsystem_kernel.dylib`__select + 10, queue = 'com.apple.main-thread', stop reason = signal SIGINT * frame #0: 0x00007fff897b107a libsystem_kernel.dylib`__select + 10 frame #1: 0x00000001082b70e0 zle.so`raw_getbyte(do_keytmout=0, cptr="") + 640 at zle_main.c:615 frame #2: 0x00000001082b6abf zle.so`getbyte(do_keytmout=0, timeout=0x0000000000000000) + 319 at zle_main.c:893 frame #3: 0x00000001082b5798 zle.so`getkeybuf(w=0) + 24 at zle_keymap.c:1663 frame #4: 0x00000001082b54b6 zle.so`getkeymapcmd(km=0x00007fbe3201ce00, funcp=0x00007fff57c81c10, strp=0x00007fff57c81bf8) + 102 at zle_keymap.c:1581 frame #5: 0x00000001082b5903 zle.so`getkeycmd + 35 at zle_keymap.c:1692 frame #6: 0x00000001082b8430 zle.so`zlecore + 320 at zle_main.c:1136 frame #7: 0x00000001082b951b zle.so`recursiveedit(args=0x00000001083d3a00) + 27 at zle_main.c:1903 frame #8: 0x00000001082b7ea2 zle.so`execzlefunc(func=0x00000001082ea408, args=0x00000001083d3a00, set_bindk=1) + 770 at zle_main.c:1455 --94eb2c043be2847079053db7e71f Content-Type: text/plain; charset=US-ASCII; name="rec2_edit.2.diff.txt" Content-Disposition: attachment; filename="rec2_edit.2.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_itposdor0 ZGlmZiAtLWdpdCBhL1NyYy9abGUvemxlX21haW4uYyBiL1NyYy9abGUvemxlX21haW4uYwppbmRl eCA5YTgzZDQxLi43ZjNkYThkIDEwMDY0NAotLS0gYS9TcmMvWmxlL3psZV9tYWluLmMKKysrIGIv U3JjL1psZS96bGVfbWFpbi5jCkBAIC02MTIsMzEgKzYxMiw1NSBAQCByYXdfZ2V0Ynl0ZShsb25n IGRvX2tleXRtb3V0LCBjaGFyICpjcHRyKQogCQl0dnB0ciA9IE5VTEw7CiAKIAkgICAgd2luY2hf dW5ibG9jaygpOwogCSAgICBzZWxyZXQgPSBzZWxlY3QoZmRtYXgrMSwgKFNFTEVDVF9BUkdfMl9U KSAmIGZvb2ZkLAogCQkJICAgIE5VTEwsIE5VTEwsIHR2cHRyKTsKIAkgICAgd2luY2hfYmxvY2so KTsKICMgZW5kaWYKIAkgICAgLyoKIAkgICAgICogTWFrZSBzdXJlIGEgdXNlciBpbnRlcnJ1cHQg Z2V0cyBwYXNzZWQgb24gc3RyYWlnaHQgYXdheS4KIAkgICAgICovCi0JICAgIGlmIChzZWxyZXQg PCAwICYmIChlcnJmbGFnIHx8IHJldGZsYWcgfHwgYnJlYWtzIHx8IGV4aXRfcGVuZGluZykpCisJ ICAgIGlmIChzZWxyZXQgPCAwICYmIChlcnJmbGFnIHx8IHJldGZsYWcgfHwgYnJlYWtzIHx8IGV4 aXRfcGVuZGluZykpIHsKKyAgICAgICAgICAgICAgICAvLyBNWSBERUJVRworICAgICAgICAgICAg ICAgIEZJTEUgKl9GID0gZm9wZW4oIi90bXAvcmVjdXJzaXZlLnR4dCIsICJhKyIpOworICAgICAg ICAgICAgICAgIGZwcmludGYoIF9GLCAiLS0gRG9pbmcgYnJlYWsgLyB6bGVfbWFpbi5jOiBlcnJm bGFnOiAlZCwgcmV0ZmxhZzogJWQsIGJyZWFrczogJWQsIGV4aXRfcGVuZGluZzogJWRcbiIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyZmxhZywgcmV0ZmxhZywgYnJlYWtzLCBleGl0 X3BlbmRpbmcgKTsKKyAgICAgICAgICAgICAgICBmY2xvc2UoX0YpOwogCQlicmVhazsKKyAgICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gTVkgREVCVUcKKyAgICAgICAgICAg ICAgICBGSUxFICpfRiA9IGZvcGVuKCIvdG1wL3JlY3Vyc2l2ZS50eHQiLCAiYSsiKTsKKyAgICAg ICAgICAgICAgICBmcHJpbnRmKCBfRiwgIi0tIE5PVCBkb2luZyBicmVhayAvIHpsZV9tYWluLmM6 IGVycmZsYWc6ICVkLCByZXRmbGFnOiAlZCwgYnJlYWtzOiAlZCwgZXhpdF9wZW5kaW5nOiAlZFxu IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJmbGFnLCByZXRmbGFnLCBicmVha3Ms IGV4aXRfcGVuZGluZyApOworICAgICAgICAgICAgICAgIGZjbG9zZShfRik7CisgICAgICAgICAg ICB9CisKIAkgICAgLyoKIAkgICAgICogVHJ5IHRvIGF2b2lkIGVycm9ycyBvbiBvdXIgc3BlY2lh bCBmZCdzIGZyb20KIAkgICAgICogbWVzc2luZyB1cCByZWFkcyBmcm9tIHRoZSB0ZXJtaW5hbC4g IFRyeSBmaXJzdAogCSAgICAgKiB3aXRoIGFsbCBmZHMsIHRoZW4gdHJ5IHVuc2V0dGluZyB0aGUg c3BlY2lhbCBvbmVzLgogCSAgICAgKi8KIAkgICAgaWYgKHNlbHJldCA8IDAgJiYgIWVycnRyeSkg eworICAgICAgICAgICAgICAgIC8vIE1ZIERFQlVHCisgICAgICAgICAgICAgICAgRklMRSAqX0Yg PSBmb3BlbigiL3RtcC9yZWN1cnNpdmUudHh0IiwgImErIik7CisgICAgICAgICAgICAgICAgZnBy aW50ZiggX0YsICItLSBUcnlpbmcgYWdhaW4gIWVycnRyeSAvIHpsZV9tYWluLmNcbiIgKTsKKyAg ICAgICAgICAgICAgICBmY2xvc2UoX0YpOworCiAJCWVycnRyeSA9IDE7CiAJCWNvbnRpbnVlOwot CSAgICB9CisJICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgLy8gTVkgREVCVUcKKyAgICAg ICAgICAgICAgICBGSUxFICpfRiA9IGZvcGVuKCIvdG1wL3JlY3Vyc2l2ZS50eHQiLCAiYSsiKTsK KyAgICAgICAgICAgICAgICBmcHJpbnRmKCBfRiwgIi0tICBQYXNzZWQgIWVycnRyeShlcnJ0cnk6 JWQpIC8gemxlX21haW4uY1xuIiwgZXJydHJ5ICk7CisgICAgICAgICAgICAgICAgZmNsb3NlKF9G KTsKKyAgICAgICAgICAgIH0KKwogCSAgICBpZiAoc2VscmV0ID09IDApIHsKIAkJLyoKIAkJICog Tm90aGluZyByZWFkeSBhbmQgbm8gZXJyb3IsIHNvIHdlIHRpbWVkIG91dC4KIAkJICovCiAJCXN3 aXRjaCAodG1vdXQudHApIHsKIAkJY2FzZSBaVE1fTk9ORToKIAkJICAgIC8qIGtlZXBzIGNvbXBp bGVyIGhhcHB5IGlmIG5vdCBkZWJ1Z2dpbmcgKi8KICNpZmRlZiBERUJVRwogCQkgICAgZHB1dHMo IkJVRzogdGltZW91dCBmaXJlZCB3aXRoIG5vIHRpbWVvdXQgc2V0LiIpOwogI2VuZGlmCkBAIC04 ODgsMjIgKzkxMiwzNiBAQCBnZXRieXRlKGxvbmcgZG9fa2V5dG1vdXQsIGludCAqdGltZW91dCkK IAkJICAgdGhlIGNvdW50ZXIgKGljbnQpIHNvIHRoYXQgdGhpcyBoYXBwZW5zIDIwIHRpbWVzIGFu ZCB0aGFuCiAJCSAgIHRoZSBzaGVsbCBnaXZlcyB1cCAoeWVzLCB0aGlzIGlzIGEgYml0IGRpcnR5 Li4uKS4gKi8KIAkJaWYgKCh6bGVyZWFkZmxhZ3MgJiBaTFJGX0lHTk9SRUVPRikgJiYgaWNudCsr IDwgMjApCiAJCSAgICBjb250aW51ZTsKIAkJc3RvcG1zZyA9IDE7CiAJCXpleGl0KDEsIDApOwog CSAgICB9CiAJICAgIGljbnQgPSAwOwogCSAgICBpZiAoZXJybm8gPT0gRUlOVFIpIHsKIAkJZGll ID0gMDsKKyAgICAgICAgICAgICAgICBzdGF0aWMgaW50IGNvdW50ZXIgPSAwOworCisgICAgICAg ICAgICAgICAgLy8gTVkgREVCVUcKKyAgICAgICAgICAgICAgICBGSUxFICpfRiA9IGZvcGVuKCIv dG1wL3JlY3Vyc2l2ZS50eHQiLCAiYSsiKTsKKyAgICAgICAgICAgICAgICBmcHJpbnRmKCBfRiwg Ii0tIEdvdCBFSU5UUiAlZFxuIiwgKytjb3VudGVyICk7CisgICAgICAgICAgICAgICAgZmNsb3Nl KF9GKTsKKwogCQlpZiAoIWVycmZsYWcgJiYgIXJldGZsYWcgJiYgIWJyZWFrcyAmJiAhZXhpdF9w ZW5kaW5nKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gTVkgREVC VUcKKyAgICAgICAgICAgICAgICAgICAgRklMRSAqX0YgPSBmb3BlbigiL3RtcC9yZWN1cnNpdmUu dHh0IiwgImErIik7CisgICAgICAgICAgICAgICAgICAgIGZwcmludGYoIF9GLCAiLS0gQ29udGlu dWluZyBkZXNwaXRlIEVJTlRSIC8gemxlX21haW4uYzogZXJyZmxhZzogJWQsIHJldGZsYWc6ICVk LCBicmVha3M6ICVkLCBleGl0X3BlbmRpbmc6ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlcnJmbGFnLCByZXRmbGFnLCBicmVha3MsIGV4aXRfcGVuZGluZyApOworICAg ICAgICAgICAgICAgICAgICBmY2xvc2UoX0YpOwogCQkgICAgY29udGludWU7CisgICAgICAgICAg ICAgICAgfQogCQllcnJmbGFnICY9IH5FUlJGTEFHX0VSUk9SOwogCQlicmVha3MgPSBvYnJlYWtz OwogCQllcnJubyA9IG9sZF9lcnJubzsKIAkJcmV0dXJuIGxhc3RjaGFyID0gRU9GOwogCSAgICB9 IGVsc2UgaWYgKGVycm5vID09IEVXT1VMREJMT0NLKSB7CiAJCWZjbnRsKDAsIEZfU0VURkwsIDAp OwogCSAgICB9IGVsc2UgaWYgKGVycm5vID09IEVJTyAmJiAhZGllKSB7CiAJCXJldCA9IG9wdHNb TU9OSVRPUl07CiAJCW9wdHNbTU9OSVRPUl0gPSAxOwogCQlhdHRhY2h0dHkobXlwZ3JwKTsKQEAg LTExMTUsMjAgKzExNTMsMjQgQEAgemxlY29yZSh2b2lkKQogCQlpZiAoZW9mc2VudCkKIAkJICAg IGJyZWFrOwogCSAgICB9CiAJICAgIGhhbmRsZXByZWZpeGVzKCk7CiAJICAgIC8qIGZvciB2aSBt b2RlLCBtYWtlIHN1cmUgdGhlIGN1cnNvciBpc24ndCBzb21ld2hlcmUgaWxsZWdhbCAqLwogCSAg ICBpZiAoaW52aWNtZG1vZGUoKSAmJiB6bGVjcyA+IGZpbmRib2woKSAmJgogCQkoemxlY3MgPT0g emxlbGwgfHwgemxlbGluZVt6bGVjc10gPT0gWldDKCdcbicpKSkKIAkJREVDQ1MoKTsKIAkgICAg aGFuZGxldW5kbygpOwogCX0gZWxzZSB7CisgICAgICAgICAgICAvLyBNWSBERUJVRworICAgICAg ICAgICAgRklMRSAqX0YgPSBmb3BlbigiL3RtcC9yZWN1cnNpdmUudHh0IiwgImErIik7CisgICAg ICAgICAgICBmcHJpbnRmKCBfRiwgIi0tIFNldHRpbmcgZXJyb3IgaW4gemxlY29yZS5jXG4iICk7 CisgICAgICAgICAgICBmY2xvc2UoX0YpOwogCSAgICBlcnJmbGFnIHw9IEVSUkZMQUdfRVJST1I7 CiAJICAgIGJyZWFrOwogCX0KIAogCXJlZHJhd2hvb2soKTsKICNpZmRlZiBIQVZFX1BPTEwKIAlp ZiAoYmF1ZCAmJiAhKGxhc3RjbWQgJiBaTEVfTUVOVUNNUCkpIHsKIAkgICAgc3RydWN0IHBvbGxm ZCBwZmQ7CiAJICAgIGludCB0byA9IGNvc3QgKiBjb3N0bXVsdCAvIDEwMDA7IC8qIG1pbGxpc2Vj b25kcyAqLwogCg== --94eb2c043be2847079053db7e71f--