From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 7a506a55 for ; Thu, 23 May 2019 06:29:21 +0000 (UTC) Received: (qmail 8867 invoked by alias); 23 May 2019 06:29:09 -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: List-Unsubscribe: X-Seq: 44355 Received: (qmail 25232 invoked by uid 1010); 23 May 2019 06:29:09 -0000 X-Qmail-Scanner-Diagnostics: from ma1-aaemail-dr-lapp02.apple.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.2/25454. spamassassin: 3.4.2. Clear:RC:0(17.171.2.68):SA:0(-7.0/5.0):. Processed in 2.413446 secs); 23 May 2019 06:29:09 -0000 X-Envelope-From: jeremyhu@apple.com X-Qmail-Scanner-Mime-Attachments: |smime.p7s| X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.apple.com designates 17.171.2.68 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : from : content-type : subject : message-id : date : to; s=20180706; bh=oZTjpyRN7g5Iky12JOkuDYsf+cyjqQWwn2tguW2wM3U=; b=udTRT8xe6EiVPntDysnrZDX9yE/1DJ8eUvICwxPwpK7OdbyUS6i1jTBLiufGU9q1G22z 7IbHmjIfS0zhYdlmRePOmGSPpNpbRHK/HUwBZyZvy4VXkPlFSzxt25ONpXvYyv3nyCXF uwlD9qcnP/duNyhZSPXbaylkNdVf1M2n51LgWepaCgT+WG/IjBXz/t269VFviiy+opqQ PPJHnp6XDMpynaE2Gwvffkt6WMrWtCY/uPdYCgWikEtrAn3nPPJDofDA/r9Vm9kw/Wyg zlCVVManPQeCM+Gq9hKPOqBadnHUbwSv4/oydDTZqe3lRyPv3IsjGt1+LqI4ZJd48JCl xg== MIME-version: 1.0 X-Va-A: X-Va-T-CD: fee2b315895a29b47f589ebe8f2d3a04 X-Va-E-CD: 73b9b1e053dbb44bf974e777d82334f5 X-Va-R-CD: 84d76d85eb6eb63808cf5a823e6b6d1d X-Va-CD: 0 X-Va-ID: 5c8db26b-bc59-4a84-961f-dbc97ed97895 X-V-A: X-V-T-CD: fee2b315895a29b47f589ebe8f2d3a04 X-V-E-CD: 73b9b1e053dbb44bf974e777d82334f5 X-V-R-CD: 84d76d85eb6eb63808cf5a823e6b6d1d X-V-CD: 0 X-V-ID: fffd2616-3b9e-44f7-87a2-d0338421497c X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-23_06:,, signatures=0 From: Jeremy Huddleston Sequoia Content-type: multipart/signed; boundary="Apple-Mail=_4285F9F7-B1B6-4FF5-A7C0-0AF13187D583"; protocol="application/pkcs7-signature"; micalg=sha-256 Subject: zsh signal handler is not safe Message-id: Date: Wed, 22 May 2019 23:26:43 -0700 To: zsh-workers@zsh.org X-Mailer: Apple Mail (2.3445.104.11) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-05-23_06:,, signatures=0 X-Proofpoint-AD-Result: pass --Apple-Mail=_4285F9F7-B1B6-4FF5-A7C0-0AF13187D583 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Hi folks, I wanted to reach out to you and let you know that I've seen some = crashes in zsh related to using illegal API from within a signal handler = context. Specifically, you signal handler zhandle() will call zexit() = with which in turn calls savehistfile() and lockhistfile() which = expectedly does a lot of API calls that are not thread safe (eg: = malloc/stdio/etc). It looks like zexit()'s from_where is set to 1 for the signal handler = case, which is causing HFILE_NO_REWRITE to be added to the writeflags = passed to savehistfile(). That seems to be designed to avoid the memory = allocations from reading in the existing file, but unfortunately we = still fail in the call to lockhistfile(). It would be better for your signal handler to set a sentinel that will = be checked by the main event loop to trigger the exit and then just get = out of the signal handler as soon as possible. --Jeremy= --Apple-Mail=_4285F9F7-B1B6-4FF5-A7C0-0AF13187D583 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 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 NWcxLmRlcjA4BggrBgEFBQcwAYYsaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwMy1hcHBsZWlz dGNhNWcxMDEwHQYDVR0RBBYwFIESamVyZW15aHVAYXBwbGUuY29tMIIBKgYDVR0gBIIBITCCAR0w ggEZBgsqhkiG92NkBQsFATCCAQgwgcoGCCsGAQUFBwICMIG9DIG6UmVsaWFuY2Ugb24gdGhpcyBj ZXJ0aWZpY2F0ZSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgYW55IGFwcGxpY2FibGUgdGVybXMgb2Yg dXNlIGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuIFRoaXMgY2VydGlmaWNh dGUgc2hhbGwgbm90IHNlcnZlIGFzLCBvciByZXBsYWNlIGEgd3JpdHRlbiBzaWduYXR1cmUuMDkG CCsGAQUFBwIBFi1odHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS9ycGEw EwYDVR0lBAwwCgYIKwYBBQUHAwQwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDovL2NybC5hcHBsZS5j b20vYXBwbGVpc3RjYTVnMS5jcmwwHQYDVR0OBBYEFGwE5UUOmdb7cH45n/oIG1TMjxe3MA4GA1Ud DwEB/wQEAwIFoDANBgkqhkiG9w0BAQsFAAOCAQEAlkzewghwl65L4K7/KR6AmlDn1LbLDemsPS4M Il6onDEUwhyrCrfYEeeAL28vf4thFphDx6Wd8xFRME12Gnzf7NRVlS3PW9J9cI9MxjXe4n4err+C MuPZI0wkGQO9A4mXIGFuRmnVciYM8gfqLXZvFfKlQ6he2IeWu+HoGfw3S61LHNZwrgaRRvEmynpo 2Lb48X0ZoU+iFQaujunqLeyJGIyEae6mRQ97/SMEdziSdSxkuVaEVYlBNMg51OyV6sUq/yVbWvAM lCMheaN4CJMCUteEMRZ2nljNYHvpahrzz7Tm7lniBMadZLDCWYgccdOz+gf0H5tIjzAO40xJcoQL 0jGCAyAwggMcAgEBMHYwYjEcMBoGA1UEAxMTQXBwbGUgSVNUIENBIDUgLSBHMTEgMB4GA1UECxMX Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoTCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVT AhBwtvUDK8OPoqum0Fk8OvZbMA0GCWCGSAFlAwQCAQUAoIIBezAYBgkqhkiG9w0BCQMxCwYJKoZI hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xOTA1MjMwNjI2NDRaMC8GCSqGSIb3DQEJBDEiBCDVoXad 6NTCd4facSWJFL6R1wwj9qv5mD+MjvpIDPWxLTCBhQYJKwYBBAGCNxAEMXgwdjBiMRwwGgYDVQQD ExNBcHBsZSBJU1QgQ0EgNSAtIEcxMSAwHgYDVQQLExdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTET MBEGA1UEChMKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCEHC29QMrw4+iq6bQWTw69lswgYcGCyqG SIb3DQEJEAILMXigdjBiMRwwGgYDVQQDExNBcHBsZSBJU1QgQ0EgNSAtIEcxMSAwHgYDVQQLExdD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UEChMKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMC EHC29QMrw4+iq6bQWTw69lswDQYJKoZIhvcNAQEBBQAEggEAHbUdCSiIOG0q33PMqj1ntEspcNsB q3fzxOP9kP+0QkDZMHmFLSR6ODT6xky8bqNL7ET0Y+QyNucRMUfgn5HgLHWZu8dVm9ICIWHg4JRz ZAbzd8osLGSTwHM5EYDoXiGbioLlfMHC5t3xCdCsc49RcMzSx98leP+ty6gPoBzOzyMN4Qecqsiz xGssVgqxI9Fjp8kYqagvZEZLYFfQemQ3gfAdvg8YTrnUnqegsONW0BBthVinKSRMTpoy59FGz1BY oPqI4CLcePNye45yiBt+d2lZm4KqeObVx2BOFimygmaO6q51hK7q7Oi+qbXvOHTE/IuZIium7CDS hkGzJdVX2gAAAAAAAA== --Apple-Mail=_4285F9F7-B1B6-4FF5-A7C0-0AF13187D583--