From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 10 08:46:12 2024 Received: (at submit) by debbugs.gnu.org; 10 Sep 2024 12:46:12 +0000 Received: from localhost ([127.0.0.1]:35029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1so0G4-0001Io-1p for submit@debbugs.gnu.org; Tue, 10 Sep 2024 08:46:12 -0400 Received: from lists.gnu.org ([209.51.188.17]:48508) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1so0G1-0001Ig-PU for submit@debbugs.gnu.org; Tue, 10 Sep 2024 08:46:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1so0Fv-0006o8-MC for bug-guile@gnu.org; Tue, 10 Sep 2024 08:46:04 -0400 Received: from mout.web.de ([212.227.17.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1so0Ft-0005v9-4O for bug-guile@gnu.org; Tue, 10 Sep 2024 08:46:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1725972345; x=1726577145; i=xmichael-k@web.de; bh=r8yO1kkw5deq3ZNLSpV1fS+avcE2K3zhxqWGC5kXeEs=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version:From: Subject:To:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=LU7qG3E7rKkyRo3ygVCYzd0fhgsAs5/FV9OgPYIOqbdz6it/mhdJEVEdzzwMUG23 ZDv5p9yZ/TRH7nKqgy4/lLuJheXvWqG4HnVKmX0WSVP/G4fdskRESkiHhJQG8XoOJ tzKfdFBXP5R92/04ZX0jhiCrpfNCsEvsEFBHsiOhskmVM4Oup4YmQyq2j4hGaGf9z R/N8wvWsCVP8Cpq3UC+qWZUv7KlxBel0bCBrnRFgzZNqDdB865A8E3keRxgApt1Kc aQT+7KgcUzfab6IxdqJJSmE9B4Lhny8pK6k/liX89CdDzHD1erQ+PktEIOicZ0fzM +L6agW/gQDe3D/QoEQ== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.40] ([91.14.232.140]) by smtp.web.de (mrweb106 [213.165.67.124]) with ESMTPSA (Nemesis) id 1MfKtN-1sML460Loh-00lxbR for ; Tue, 10 Sep 2024 14:45:45 +0200 Content-Type: multipart/mixed; boundary="------------9m1UFVwUjybJMIWeod0dfYTh" Message-ID: Date: Tue, 10 Sep 2024 14:45:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: =?UTF-8?Q?Michael_K=C3=A4ppler?= Subject: [PATCH] Fix setjmp/longjmp-related crashes on Windows To: bug-guile@gnu.org X-Provags-ID: V03:K1:iGJC5as1gQvnU2CbLttf37Ds4GzkDhkWmEU0QdilQzgt1whU+2Z un6pErOAt1FDmQr8vSZ48x6c99gnYe2cFF6p4byn+4D4fSE/YatlLwVp6ZpRj/vKRBkATT/ 8Nby8Q1QjarjG+D1pfg1lX6Smt+tHih4ybxX9JUkDY+ZEZOTqyDTsku9Zl74HTrh/EKKzuz 6ipN3Ohf4mWC8dT98Kgcg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:cptbwxNoXKQ=;CvcksihpiC+oEghBCkADf42d3s5 l6Xf82MMjuLeT3/bkpQh0AsJJt+VTtxGLNrRp9qKGf6id1+Mur+v40ik7x+HzG6mlk76rU+vo nrnL7RRAeVgBCbmlvdZ0VpVpYfio4FNHFY8KqaDRQIOikuEFLaKAZfsr60jqBH3rKIs87kko/ m1WI3Uf5NzD4wzrHhiCv/TDmyi0b82edM2NojhlI5W9meU27lUfI4LRGArLFMoouHCg/qfwtR pRA8a3SQuVBjtQNfnRASGqG3o51pC+4mU/3BvfrxZEi6kgrY2qIu/e4TYeADbByDqzldnTw/I 78PmG0lIaYOtaGB6kLcJb5v46aIYJ5lE6O2HAKfNVZ4X0RS9/LJMt3TtOCriWFeOaA7WiigkX C060xUU8uXC4C/itMzBiABR3YG2qmrvf5aWCMOFrHrJD0m4GWEfJNdA8+cunSsFK6e/MsdiF0 VxapvAUN9laXJ5+saSXzrtHNV8M2CiYJ34o0FekcYA2H1AxZwKZe8s4lydGkCEigK2qDqWPh/ 8RM44VqlkFjrs2BsUSdhzSu39+kEnnsf/ZAOT8vX4msPs9W/3V2BPS620qsrB/ocmka1a2KR7 ifXQaixcGuBzwrA4u6IFMi7cvm6hD9LE1aAlXLNCq2unU9rTTPnztt3qKX0j9t37Y52clc0iY NhXec6HNzDbCxZJcp8dM1im+VAeskGfeJnay6V4faWVa1+vrkSkfOVDDzFlCJVOGHr7mjXQ4+ JwGA122AAgWQ/rwEdfO1kB977JQZ4ZGLqtZjCXlC4pC1BUbHYFshxXPxZbarUd7COmpLu9DP+ jHtWMs4i5fjSSrvKi+4g1bSw== Received-SPF: pass client-ip=212.227.17.12; envelope-from=xmichael-k@web.de; helo=mout.web.de X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------9m1UFVwUjybJMIWeod0dfYTh Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi all, recently an user reported a bug to the LilyPond project, where he tried to print a data structure with (pretty-print), which silently failed at a certain point inside the data structure: https://gitlab.com/lilypond/lilypond/-/issues/6737#note_2049515997 The error did only affect LilyPond mingw builds, compiled against Guile 3.0.10, 3.0.9 was (seemingly) fine. Bisecting showed that the error first showed up with commit https://git.savannah.gnu.org/cgit/guile.git/commit/?id=3D29a9f26a36035d542= 5b173d101628ecc62f5a46b which substantially reworked the pretty-print implementation to use delimited continuations. As it turned out, the problems only arises with the JIT turned on. Further debugging revealed that the crash happens inside the MSVCRT function 'RtlUnwindEx', which detects a stack corruption and throws "STATUS_BAD_STACK". The reason is that 'setjmp' on mingw expands to '_setjmp' that takes the current frame address as second parameter. After a 'longjmp' call it tries to unwind the stack up to this particular frame address. IIUC, this will fail because the JIT'ed code does not follow the Windows x64 calling conventions. Setting the second parameter to NULL prevents unwinding and fixes the issue. Guile is not the only project using JIT compilation that faces this Windows peculiarity. See https://blog.lazym.io/2020/09/21/Unicorn-Devblog-setjmp-longjmp-on-Windows= / for a nice summary. Please consider the attached patch. Michael --------------9m1UFVwUjybJMIWeod0dfYTh Content-Type: text/plain; charset=UTF-8; name="0001-Fix-setjmp-longjmp-related-crashes-on-Windows.patch" Content-Disposition: attachment; filename="0001-Fix-setjmp-longjmp-related-crashes-on-Windows.patch" Content-Transfer-Encoding: base64 RnJvbSBmOTIyMmVjOTYyMDljNTljOWE5YTQwOWMwMTlmZjU5YzBjMjA5MTdjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWljaGFlbD0yMEs9QzM9QTRwcGxl cj89IDx4bWljaGFlbC1rQHdlYi5kZT4KRGF0ZTogU2F0LCA3IFNlcCAyMDI0IDIyOjUyOjIy ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gRml4IHNldGptcC9sb25nam1wLXJlbGF0ZWQgY3Jh c2hlcyBvbiBXaW5kb3dzCgoqIGxpYmd1aWxlL01ha2VmaWxlLmFtOiBhZGQgbmV3IGhlYWRl ciBmaWxlIHNldGp1bXAtd2luLmgKKiBsaWJndWlsZS9jb250aW51YXRpb25zLmgsIGxpYmd1 aWxlL2R5bnN0YWNrLmMsIGxpYmd1aWxlL2R5bnN0YWNrLmgsCiAgbGliZ3VpbGUvaW50cmlu c2ljcy5oLCBsaWJndWlsZS92bS5oOgogIHN1cHBseSBjdXN0b20gYHNldGptcGAgbWFjcm8g b24gV2luZG93cwoKTWluZ3cgaW1wbGVtZW50cyBgc2V0am1wIChlbnYpYCBhcyBhIG1hY3Jv IHRoYXQgZXhwYW5kcyB0bwoKIF9zZXRqbXAgKGVudiwgZmFkZHIpCgp3aGVyZSBgZmFkZHJg IGlzIHNldCB0byB0aGUgY3VycmVudCBmcmFtZSBhZGRyZXNzLgoKVGhpcyBhZGRyZXNzIGlz IHRoZW4gc3RvcmVkIGFzIGZpcnN0IGVsZW1lbnQgaW4gdGhlIGp1bXAgYnVmZmVyIGBlbnZg LgpXaGVuIGBsb25nam1wYCBpcyBjYWxsZWQsIGl0IHRyaWVzIHRvIHVud2luZCB0aGUgc3Rh Y2sgdXAKdG8gdGhlIHNhdmVkIGFkZHJlc3MgYnkgY2FsbGluZyBgUnRsVW53aW5kRXhgIGZy b20gTVNWQ1JULAp3aGljaCB3aWxsIGZhaWwsIGlmIHRoZSBzdGFjayBmcmFtZXMgYXJlIGlu dGVyd292ZW4gd2l0aApKSVQtZ2VuZXJhdGVkIGNvZGUsIHRoYXQgdmlvbGF0ZSB0aGUgV2lu ZG93cyB4NjQgY2FsbGluZyBjb252ZW50aW9ucy4KClRodXMgaW1wbGVtZW50IHRoZSBtYWNy byBvdXJzZWx2ZXMgYXMKCl9zZXRqbXAgKGVudiwgTlVMTCkKCndoaWNoIHdpbGwgdG9nZ2xl IGEgY29kZSBwYXRoIGluIGBsb25nam1wYCB0aGF0IGRvZXMgbm8gdW53aW5kaW5nLgotLS0K IGxpYmd1aWxlL01ha2VmaWxlLmFtICAgICB8ICAxICsKIGxpYmd1aWxlL2NvbnRpbnVhdGlv bnMuaCB8ICA0ICsrKysKIGxpYmd1aWxlL2R5bnN0YWNrLmMgICAgICB8ICA1ICsrKysrCiBs aWJndWlsZS9keW5zdGFjay5oICAgICAgfCAgNSArKysrKwogbGliZ3VpbGUvaW50cmluc2lj cy5oICAgIHwgIDQgKysrKwogbGliZ3VpbGUvc2V0anVtcC13aW4uaCAgIHwgMTcgKysrKysr KysrKysrKysrKysKIGxpYmd1aWxlL3ZtLmggICAgICAgICAgICB8ICA0ICsrKysKIDcgZmls ZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmd1 aWxlL3NldGp1bXAtd2luLmgKCmRpZmYgLS1naXQgYS9saWJndWlsZS9NYWtlZmlsZS5hbSBi L2xpYmd1aWxlL01ha2VmaWxlLmFtCmluZGV4IDA4OTBhY2MxOC4uYmY4ODkzY2YyIDEwMDY0 NAotLS0gYS9saWJndWlsZS9NYWtlZmlsZS5hbQorKysgYi9saWJndWlsZS9NYWtlZmlsZS5h bQpAQCAtNjgyLDYgKzY4Miw3IEBAIG1vZGluY2x1ZGVfSEVBREVSUyA9CQkJCVwKIAlydy5o CQkJCQlcCiAJc2Ntc2lncy5oCQkJCVwKIAlzY3JpcHQuaAkJCQlcCisJc2V0anVtcC13aW4u aCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIAlzaW1wb3MuaAkJCQlcCiAJc21vYi5o CQkJCQlcCiAJc25hcmYuaAkJCQkJXApkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvY29udGludWF0 aW9ucy5oIGIvbGliZ3VpbGUvY29udGludWF0aW9ucy5oCmluZGV4IGQ4M2JlZDliNy4uYWM2 MzY1MTJlIDEwMDY0NAotLS0gYS9saWJndWlsZS9jb250aW51YXRpb25zLmgKKysrIGIvbGli Z3VpbGUvY29udGludWF0aW9ucy5oCkBAIC0yMiw3ICsyMiwxMSBAQAogCiAMCiAKKyNpZm5k ZWYgX1dJTjY0CiAjaW5jbHVkZSA8c2V0am1wLmg+CisjZWxzZQorI2luY2x1ZGUgImxpYmd1 aWxlL3NldGp1bXAtd2luLmgiCisjZW5kaWYKIAogI2luY2x1ZGUgImxpYmd1aWxlL3Byb2dy YW1zLmgiCiAjaW5jbHVkZSAibGliZ3VpbGUvdGhyb3cuaCIKZGlmZiAtLWdpdCBhL2xpYmd1 aWxlL2R5bnN0YWNrLmMgYi9saWJndWlsZS9keW5zdGFjay5jCmluZGV4IDJlZWM3YTdlYi4u ZTRlZDg3OGMyIDEwMDY0NAotLS0gYS9saWJndWlsZS9keW5zdGFjay5jCisrKyBiL2xpYmd1 aWxlL2R5bnN0YWNrLmMKQEAgLTI1LDcgKzI1LDEyIEBACiAjZW5kaWYKIAogI2luY2x1ZGUg PGFzc2VydC5oPgorCisjaWZuZGVmIF9XSU42NAogI2luY2x1ZGUgPHNldGptcC5oPgorI2Vs c2UKKyNpbmNsdWRlICJzZXRqdW1wLXdpbi5oIgorI2VuZGlmCiAKICNpbmNsdWRlICJjb250 cm9sLmgiCiAjaW5jbHVkZSAiZXZhbC5oIgpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvZHluc3Rh Y2suaCBiL2xpYmd1aWxlL2R5bnN0YWNrLmgKaW5kZXggNGMzMmEwOTQzLi42ZjA3NzVlNDAg MTAwNjQ0Ci0tLSBhL2xpYmd1aWxlL2R5bnN0YWNrLmgKKysrIGIvbGliZ3VpbGUvZHluc3Rh Y2suaApAQCAtMjIsNyArMjIsMTIgQEAKIAogDAogCisjaWZuZGVmIF9XSU42NAogI2luY2x1 ZGUgPHNldGptcC5oPgorI2Vsc2UKKyNpbmNsdWRlICJsaWJndWlsZS9zZXRqdW1wLXdpbi5o IgorI2VuZGlmCisKICNpbmNsdWRlIDxzaWduYWwuaD4KIAogI2luY2x1ZGUgImxpYmd1aWxl L3NjbS5oIgpkaWZmIC0tZ2l0IGEvbGliZ3VpbGUvaW50cmluc2ljcy5oIGIvbGliZ3VpbGUv aW50cmluc2ljcy5oCmluZGV4IGQyZmZjODQ3ZS4uOGExYzdjMDRlIDEwMDY0NAotLS0gYS9s aWJndWlsZS9pbnRyaW5zaWNzLmgKKysrIGIvbGliZ3VpbGUvaW50cmluc2ljcy5oCkBAIC0y NCw3ICsyNCwxMSBAQAogI2Vycm9yIGludHJpbnNpY3MuaCBpcyBwcml2YXRlIGFuZCB1bmlu c3RhbGxlZAogI2VuZGlmCiAKKyNpZm5kZWYgX1dJTjY0CiAjaW5jbHVkZSA8c2V0am1wLmg+ CisjZWxzZQorI2luY2x1ZGUgImxpYmd1aWxlL3NldGp1bXAtd2luLmgiCisjZW5kaWYKIAog I2luY2x1ZGUgPGxpYmd1aWxlL3NjbS5oPgogCmRpZmYgLS1naXQgYS9saWJndWlsZS9zZXRq dW1wLXdpbi5oIGIvbGliZ3VpbGUvc2V0anVtcC13aW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAuLmJmMDZlODY4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmd1 aWxlL3NldGp1bXAtd2luLmgKQEAgLTAsMCArMSwxNyBAQAorI2lmbmRlZiBfU0NNX1NFVEpV TVBfV0lOX0hfCisjZGVmaW5lIF9TQ01fU0VUSlVNUF9XSU5fSF8KKworI2luY2x1ZGUgPHNl dGptcC5oPgorCisvKiBPbiBXaW5kb3dzLCBgc2V0am1wYCBleHBhbmRzIHRvIF9zZXRqbXAs IHdoaWNoIHRha2VzIGEgc2Vjb25kCisgICBwYXJhbWV0ZXIgdGhhdCBpcyBzZXQgdG8gdGhl IGN1cnJlbnQgZnJhbWUgYWRkcmVzcyBieSBkZWZhdWx0LgorICAgVGhlIGFkZHJlc3MgaXMg dGhlbiBzdG9yZWQgYXMgZmlyc3QgZWxlbWVudCBpbiB0aGUganVtcCBidWZmZXIuCisgICBX aGVuIGBsb25nam1wYCBpcyBjYWxsZWQsIGl0IHRyaWVzIHRvIHVud2luZCB0aGUgc3RhY2sg dXAKKyAgIHRvIHRoZSBzYXZlZCBhZGRyZXNzLCB3aGljaCB3aWxsIGZhaWwsIGlmIHRoZSBz dGFjayBmcmFtZXMgYXJlCisgICBpbnRlcndvdmVuIHdpdGggSklULWdlbmVyYXRlZCBjb2Rl LgorICAgU2V0IHRoZSBzZWNvbmQgcGFyYW1ldGVyIHRvIE5VTEwgdG8gcHJldmVudCB1bndp bmRpbmcuICovCisjdW5kZWYgc2V0am1wCisjZGVmaW5lIHNldGptcChlbnYpIF9zZXRqbXAo ZW52LCBOVUxMKQorCisjZW5kaWYgLyogX1NDTV9TRVRKVU1QX1dJTl9IXyAqLworCmRpZmYg LS1naXQgYS9saWJndWlsZS92bS5oIGIvbGliZ3VpbGUvdm0uaAppbmRleCA5NjgxMTg4YmQu LmQ1YjcxMzhkMyAxMDA2NDQKLS0tIGEvbGliZ3VpbGUvdm0uaAorKysgYi9saWJndWlsZS92 bS5oCkBAIC0yMCw3ICsyMCwxMSBAQAogI2lmbmRlZiBfU0NNX1ZNX0hfCiAjZGVmaW5lIF9T Q01fVk1fSF8KIAorI2lmbmRlZiBfV0lONjQKICNpbmNsdWRlIDxzZXRqbXAuaD4KKyNlbHNl CisjaW5jbHVkZSAibGliZ3VpbGUvc2V0anVtcC13aW4uaCIKKyNlbmRpZgogCiAjaW5jbHVk ZSA8bGliZ3VpbGUvZ2MuaD4KICNpbmNsdWRlIDxsaWJndWlsZS9wcm9ncmFtcy5oPgotLSAK Mi4zNC4xCgo= --------------9m1UFVwUjybJMIWeod0dfYTh-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 20 07:07:59 2024 Received: (at 73167-done) by debbugs.gnu.org; 20 Oct 2024 11:07:59 +0000 Received: from localhost ([127.0.0.1]:46007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2Tmw-00015E-P3 for submit@debbugs.gnu.org; Sun, 20 Oct 2024 07:07:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t2Tmv-00014x-50 for 73167-done@debbugs.gnu.org; Sun, 20 Oct 2024 07:07:57 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t2TkL-0007gp-3Y; Sun, 20 Oct 2024 07:05:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=8autpRsQqmCx57tSSee55GpmJ8KP+Pffl7e4gQM3P8A=; b=hnqP3XTK+cjT+eaNoOi+ +t56BvKG0ZqJHKwBRlBGoYaQHYua3qcKVzw8APoon82fzF36709EFBiW/CfUD32FPuUHXqDPmXRKr wI7cPafArU2gy2a7QcuaQZdaBRiNi0q/6WXa78AupFpXJ0EULnZ4zYCR0ZeQgvWqZeQ1sWVp79LzY 2qOWXVAumLaKb5ustbhylXIwY/whIpvOD5ahMpnQv088DikDmH2KX+RFn36RgH0lIZV3vWnHAmLrW OFskiuOFXDuTtDoZLI4EvcrRWMg+4uMmja4o70iQa+hlylnoVhy7reZeyE4yq6KEj45xviQ5xKMq8 P+axbOatvlwlKA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Michael =?utf-8?Q?K=C3=A4ppler?= Subject: Re: bug#73167: [PATCH] Fix setjmp/longjmp-related crashes on Windows In-Reply-To: ("Michael =?utf-8?Q?K=C3=A4ppler=22's?= message of "Tue, 10 Sep 2024 14:45:40 +0200") References: Date: Sun, 20 Oct 2024 13:05:14 +0200 Message-ID: <87ed4bm3v9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73167-done Cc: 73167-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Michael, Michael K=C3=A4ppler skribis: > From f9222ec96209c59c9a9a409c019ff59c0c20917c Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?Michael=3D20K=3DC3=3DA4ppler?=3D > Date: Sat, 7 Sep 2024 22:52:22 +0200 > Subject: [PATCH] Fix setjmp/longjmp-related crashes on Windows > > * libguile/Makefile.am: add new header file setjump-win.h > * libguile/continuations.h, libguile/dynstack.c, libguile/dynstack.h, > libguile/intrinsics.h, libguile/vm.h: > supply custom `setjmp` macro on Windows > > Mingw implements `setjmp (env)` as a macro that expands to > > _setjmp (env, faddr) > > where `faddr` is set to the current frame address. > > This address is then stored as first element in the jump buffer `env`. > When `longjmp` is called, it tries to unwind the stack up > to the saved address by calling `RtlUnwindEx` from MSVCRT, > which will fail, if the stack frames are interwoven with > JIT-generated code, that violate the Windows x64 calling conventions. > > Thus implement the macro ourselves as > > _setjmp (env, NULL) > > which will toggle a code path in `longjmp` that does no unwinding. Applied, thanks! Ludo=E2=80=99. From unknown Tue Jun 17 01:34:06 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 17 Nov 2024 12:24:12 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator