From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28233 invoked from network); 3 Apr 2022 21:42:49 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 3 Apr 2022 21:42:49 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1649022169; b=KIZHS9DR3C193m7dUjpeSobsxe+GbVGCOqwTcYFsjhF14DrJ2pGfR3jDDT3ibpmwV+K6ayOywB zQBjaKTWu4wlZ1Qh5gEqADxYWjTqVF6WP/3v0o3T9LGL2AtRltb7466YlCV10q19qoadmO9hr0 /M8gERiPPKfhfejTRDOxN8c5tKy+aMDfXJR/MJz9W5oMtVdVzaKUI+nDLAvDKaGYxYSO9H8X65 k3cTMXoQc6tmDXL9dmC0JLrgOoPpLlUJoIEhpC6XsJeFr0eKojeqQqv5qnOCv79lbVOX6kFLfN Zi0q9TceDXcL0mJMnVNGu39urNTBgBGMGrHZYL/g1sStpA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f174.google.com) smtp.remote-ip=209.85.167.174; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1649022169; bh=zg/5Tf3VnELbMa2qAldPM8RaNHtu1X9tN3xbgVdUgwQ=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:MIME-Version:Message-ID:Subject:To:From:Date: DKIM-Signature:DKIM-Signature; b=SE/ugHLlj6CjUxkIqk6OzaxjXzLMv08jrAfubrggmHg5j+K8r06iC50U7qRbNzmFEiU+DUj6zR wEOLom58gwtOLkYc2QHZF1Bwr3yLFoadx3m2U48a9aPov12ooUAGbRh1mYxlxH8qsesU1/WM2u NUk0mWrIPdKXEXPetL7k/zN3ikXHyPE18+j5/CWd+19vi2xuVDm7qlapDEFQ8ZEGzLaPt9dq81 WAAR0+pGMySqPfjWsZCkPMmiutkxMOyxco22uVI6A8TnDZeL4FR4VuY4KzwZBwyVyzOfUe6fn/ pfQ7KGNQ3XRXhS77xKH9RZCllPomVhBcNBIG1zNaZOVoEg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:MIME-Version:Message-ID: Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=S4ncvWbOyn8gpxKGLUzlTwz6C2R0+0+24hg+dtPaj9I=; b=jMweYBrSNKJfF+D6ii4Rsf67eS OxSP+pWb3M5esUqdR3jFiudZikHwqUAkPfJoWTZq/HjREgbEB8IJcAsf9sMmcCKspmGHpxrubnoXh 6u6CyHBWJgPUZpXJGPKHvl/C8NUpH05uqm3rp/6/+RCdDZyZxGkc+GqmblCzgSeshj+1VRI1lcSyx H1NsmkSZhAlZMp3CySc1amGpN5aYH90xyXM5YuXddANZkie9PWudV7APC3sUkT2qh87Dd0CmivMr0 coyEXYtpkztHTQo96uAyOS1ykaoaCMF60RxjcppLvrjV9ZLjsaIQUV1qf/fJdAfABcQSblNk5H1tn iICcNUxA==; Received: from authenticated user by zero.zsh.org with local id 1nb7zl-0001Gi-6K; Sun, 03 Apr 2022 21:42:49 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f174.google.com) smtp.remote-ip=209.85.167.174; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oi1-f174.google.com ([209.85.167.174]:36619) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1nb7zR-0000xD-DD; Sun, 03 Apr 2022 21:42:29 +0000 Received: by mail-oi1-f174.google.com with SMTP id z8so8328137oix.3 for ; Sun, 03 Apr 2022 14:42:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=date:from:to:subject:message-id:mail-followup-to:mime-version :content-disposition; bh=S4ncvWbOyn8gpxKGLUzlTwz6C2R0+0+24hg+dtPaj9I=; b=HwzuMQuVc2ssBS31A6BKibUiB1zH5Jb6VsBXAZBzBIC89dhsI4PiPZKHNJSMtwhyEg CSr1qBieOeaYJcF02UGuKpmgUUp2wptpTZ9PkI3W+XO46RM3NPcusUINvGgsZ5Fjkmv0 /ZxfYjyFC7YBBDEnq22r2P5QKZXX8KdGlUBctYqKA9cuIov52yhfnAlUw8o9mVBt6jBc bWmqa1NlVBT/+Ky0XKM8ITGIP71m0uMfzDsnSD32/3FF1cPDvBKFOMSl2ujghZGU8aiF FT2f5a1iRfmccGZk7Mmkxn2kLXz5oQvbJRusEMc7rAnrVlp3CsUOxr2l7HDTIYQPVRbR LX4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:subject:message-id:mail-followup-to :mime-version:content-disposition; bh=S4ncvWbOyn8gpxKGLUzlTwz6C2R0+0+24hg+dtPaj9I=; b=zXLZ3FUBAxd4eCYlQSZcFtNotY9cIqyBUUbrf4yiaTwaiH8B2/ngixRdDRV3lhaPm4 4rGui3XzBHkprMYz3wIOqedPGNk491HRLdlYO6tqrIuRcY8TDVQA0FkFWBYkzxDZDwhy V6hzVVbeZvW056QbhGVzM91jcvH5QaFUTJphBREF1pZchySzMxBx2aVK5CLqRB8SN29E zexQnyxmzWHr3QjbpGyst46ajl35SnkVznXmIVlzY6Tai2WZ8PPaNEesR8hNv/LfO3xm 8gtTG/Ja0rX/LJt9L9k4oKhbeYurONvrLqIz9ZOcI0AqpabrhJKk3WgdppCjM+tSqiDo JYVA== X-Gm-Message-State: AOAM530e6G3zJGsSosrcSVslUD0V6gMGcyz5V+OlWqGxgbj41SspH8yH F1mdC8h+zlamwIFNRBIDGZ+RTzLI6sA= X-Google-Smtp-Source: ABdhPJwTx5BUHtTKusXIDOdjYesMWVi+hri11LyTOlDLLbUynEZT0n+GA/Qd5UHa4FHgiHGjqnXNLQ== X-Received: by 2002:a05:6808:124a:b0:2da:3588:6d35 with SMTP id o10-20020a056808124a00b002da35886d35mr9021139oiv.269.1649022148080; Sun, 03 Apr 2022 14:42:28 -0700 (PDT) Received: from CptOrmolo.darkstar (cpe-76-184-110-212.tx.res.rr.com. [76.184.110.212]) by smtp.gmail.com with ESMTPSA id p1-20020a05683003c100b005c927b6e645sm3859306otc.20.2022.04.03.14.42.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Apr 2022 14:42:27 -0700 (PDT) Date: Sun, 3 Apr 2022 16:42:24 -0500 From: Matthew Martin To: zsh-workers@zsh.org Subject: Hang in E01 due to zpty on OpenBSD Message-ID: Mail-Followup-To: zsh-workers@zsh.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Seq: 49977 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: E01 hangs on OpenBSD-current when run as the _pbuild user. The line that hangs is L1435 zpty subshell $ZTST_testdir/../Src/zsh -f +Z which is because the read call in Modules/zpty.c L472 ret = read(master, &syncch, 1); never returns. I believe this is because the forked child fails to open the corresponding tty when get_pty is called on 362 and the child exits. I assume the EPERM on open is an OpenBSD bug, but zsh should probably not hang either. I'd appreciate if anyone could confirm the below is an accurate minimal reproducer to report to OpenBSD. #include #include #include #include #include static int get_pty(char *path) { const char char1[] = "pqrstuvwxyzPQRST"; const char char2[] = "0123456789" "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const char *p1, *p2; int fd; strcpy(path, "/dev/ptyxx"); for (p1 = char1; *p1; p1++) { path[8] = *p1; for (p2 = char2; *p2; p2++) { path[9] = *p2; if ((fd = open(path, O_RDWR|O_NOCTTY)) >= 0) { return fd; } } } return -1; } int main() { char path[11]; int ptyfd, ttyfd; if ((ptyfd = get_pty(path)) == -1) { err(1, "get_pty"); } printf("%d: %s\n", ptyfd, path); path[5] = 't'; if ((ttyfd = open(path, O_RDWR|O_NOCTTY)) == -1) { err(1, "open"); } printf("%d: %s\n", ttyfd, path); }