Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7vcd-0002P5-05 for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 13:28:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7vcb-000EqA-2b for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 13:28:38 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7vcb-000Eq2-1i for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 13:28:37 +0000 Received: from mail-dy1-x1329.google.com ([2607:f8b0:4864:20::1329]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7vcZ-000000001I4-0Ep9 for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 13:28:37 +0000 Received: by mail-dy1-x1329.google.com with SMTP id 5a478bee46e88-2c54c68db4dso6294705eec.0 for ; Wed, 01 Apr 2026 06:28:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775050112; cv=none; d=google.com; s=arc-20240605; b=Gt5gR+cz5sAbhDAnJKqCWDyCYPnmuqFVkhsj2pVVtZytfL4LxIFf34H1rxe8muUUaz v+9nRb9y6LofXX7429xrypHzShrFrZAGGzXsrBTGE8COYwTWqtqYk+FMzo3EDR3oU7+A 7QiONBGd3BvgM5vdM8YzyfJRE/ZPTxCSKLMp5BPtWTMFOqFAFQKeF28GGioBjYHNmja+ /IgfPmZGhLZXoDHe5viZjXL5i8HpvdKBXHxIYO9DY1qUXvmlYhzjNUZZNWVIfkVZ05PO SyUjPVP/WNE8+vCuihBfexTRFXN41b00OlCDamPHTTFxaW85L60/eB/RX8XBQRLWKN/W dPww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=Y3BZ8CzNZ0QZSPdoVTBBJEAvim+lzvGLVjLhDz5q2IQ=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=cB8TbCR9QOeeRCB4pB8NTyc1WpzkcKriDGcYDbDbxaFjoBuq/VV+d6E/tnZaK20Qt3 i4mUSwMHMHEYhtwwo7ORLW5yaTqHHZgops4wE9uZDGCY31hi3YgE+CqDT4tNcdhp5ykN Bz6bS7q+jM97Qrs0M2xRvkn3iqJ15RyZjeIWgTQnNeMKnMc6dBHENZm3qQ9xJvW/ViNJ eh5SKyp3hShf3zYI/VoO7uk1h6qsn0oiRR86Pq/wk+GmL6Oalv8EsW64LQBIqiEF0gfj 6wKi09GJVo1LjCsW9FIcERMAkmbtpBWxa9VAtLXEMvLEasitvzzisGgStGM90XR3n+ul uaow==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775050112; x=1775654912; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=Y3BZ8CzNZ0QZSPdoVTBBJEAvim+lzvGLVjLhDz5q2IQ=; b=daksk3wwQm5C313XuunPC6wC+0AJ3AucfSt7HST1wANFQaar4HO+3MeFlFQlZpDN2U 9tCyH4OuJsU5ApahfVvpnSX1NZkFosXlgzX/sB2SWETPUeOckRJquULQnldl19ROWUnB 7D74EUQ86eueMzHJTiYomq/eQTPqVvBdb2rZ7rjHMHcHFJyL91x12dPVUgfzrwMqej8d 3TSx2rGDngkDGqI22TV1o0sWJ6rtRnf2Gp0fePzEA07EUogyYmINir8K2tX0MIJ/Kn4W GJCRnlmvJijXBBgJbPj1KNVy/Lj8y+p+BVeV40ynQDtvDaGIZFYIsWl/lBPzo4CyI6Od 9Aag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775050112; x=1775654912; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Y3BZ8CzNZ0QZSPdoVTBBJEAvim+lzvGLVjLhDz5q2IQ=; b=KRc1+rDbj5FbIZ9bSktJiENZRgcM3kn1t9mddRhlQe/UobkuA8dMxruXJ11q0IBX/4 ucoS8CBtwM3WVA1to0Lle1O1SYackhdDwyOaILtMU3xeXMCM1s9IRqabZdPxQVKFcUWj CBCK2D3Y2ajwkF0l63PCPeZVCYpCh9Th4Q/Iy9dYySYDyJxlz5GVSDsTVU8qFt1uEF3J EHAGzMrwooNOZ3u7fP2f2TrDhSpVVrJ6fqefBl8KAJeogU8kBbq9b+hmbJzwQizrWao7 osC9csbxTzoakafHU66WrLDw2lB5iGsZmsM/ULtFgM4kszsab/0vPjequ9f0NOWLaewV GmXA== X-Gm-Message-State: AOJu0YxndSQaxWwbyWjFbl0gzDC48dWdHuEMPHsPr310TXEW3AJYFKPA GHN1aE+eyDT0EW3gOFHrC2siOUzUBUgajHv+DFcLLq8aYKXhsdwu6C6keGyQXkhqGIAdhNKz6+m 9FJ96ZCzw5q/l+xsw2XIzD6X9meMC8C4faM1KRNs= X-Gm-Gg: ATEYQzyri0ICFZVHQC6oUEf1gr/dOb1sCkslCPyhoOMtUrAI+GuRYelL8lWpt3plkFL 2VzNOcCy0hpmeB0aHr4M3nmLr7yRdfP6ikfx9JNoUGPpBEU44eIL9xADJEF5AP5nS7j1lqXI22s rVmYtXVCV/grFMrJvRHR5RyyQGS3ZA4BzTUJE87fFu5wblxDTNIpPzPx0mhL8WFPYKgBjhKSoJZ 5SM5mEstPflLBZHSCyHnu2ne7WrUmnW5Xfw9YlRIV/zXx5eQqlmQb9BjC5KDXR7V73n4iYfYu6V 9+qzUnM= X-Received: by 2002:a05:7300:e613:b0:2c5:a8a8:e9fb with SMTP id 5a478bee46e88-2c9334b5a00mr1972573eec.32.1775050112379; Wed, 01 Apr 2026 06:28:32 -0700 (PDT) MIME-Version: 1.0 From: Nazir Bilal Yavuz Date: Wed, 1 Apr 2026 16:28:21 +0300 X-Gm-Features: AQROBzBjpZo4-H_7HpVIxhEf5K0VBm3_eKWrOAFVDRbg5G5VCQ92BUrlsplZ4vk Message-ID: Subject: 'Bad file descriptor: dup2( 1, 2 )' error on MacOS CI tasks To: PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, psql/010_tab_completion, psql/030_pager and authentication/001_password tests started to fail on MacOS CI tasks [1]. Example failure log (error message is same on all of the failing tests): ``` # Checking port 27038 # Found port 27038 Name: main Version: 19devel Data directory: /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/pgdata Backup directory: /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/backup Archive directory: /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/archives Connection string: port=27038 host=/var/folders/hm/d7rr9ds96qx995ns72ry9g4m0000gn/T/rkP99U6zgp Log file: /Users/admin/pgsql/build/testrun/psql/030_pager/log/030_pager_main.log [11:23:15.358](0.026s) # initializing database system by copying initdb template # Running: cp -RPp /Users/admin/pgsql/build/tmp_install/initdb-template /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/pgdata # Running: /Users/admin/pgsql/build/src/test/regress/pg_regress --config-auth /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/pgdata ### Starting node "main" # Running: pg_ctl --wait --pgdata /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/pgdata --log /Users/admin/pgsql/build/testrun/psql/030_pager/log/030_pager_main.log --options --cluster-name=main start waiting for server to start.... done server started # Postmaster PID for node "main" is 8554 Bad file descriptor: dup2( 1, 2 ) at /Users/admin/pgsql/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm line 114. at /Users/admin/pgsql/src/test/perl/PostgreSQL/Test/BackgroundPsql.pm line 114. # Postmaster PID for node "main" is 8554 ### Stopping node "main" using mode immediate # Running: pg_ctl --pgdata /Users/admin/pgsql/build/testrun/psql/030_pager/data/t_030_pager_main_data/pgdata --mode immediate stop waiting for server to shut down.... done server stopped # No postmaster PID for node "main" ``` My current hypothesis is that all of these three tests use 'IO::Pty'. On MacOS CI, we install this via MacPorts using the 'p5.34-io-tty' package [2], which was updated about 2.5 days ago. I am not sure if is relevant but it has a known issue on Darwin [3]: ``` Darwin 7.9.0 HPUX 10.20 & 11.00 EOF on the slave tty is not reported back to the master. ``` I attempted to verify this by downgrading 'p5.34-io-tty' to the previous version (1.20) and confirm that CI passes but I couldn't confirm it as I don't have a MacOS machine and for some reason Cirrus Terminal doesn't show up when I try to run CI with terminal access. Please note that this problem doesn't happen on CFBot or Postgres CI yet. I think there are two possible reasons: 1- We install packages by using MacPorts and then we save them as cache so we don't need to install them for each CI Run. Problems will start when this cache is invalidated or expired. 2- CFBot and Postgres CI use persistent workers. Cirrus CI might have updated the Sequoia macOS VM images but persistent workers aren't updated yet. Problems will start when they are updated. [1] https://cirrus-ci.com/task/6188397108133888 [2] https://ports.macports.org/port/p5.34-io-tty/ [3] https://metacpan.org/pod/IO::Tty#VERIFIED-SYSTEMS,-KNOWN-ISSUES -- Regards, Nazir Bilal Yavuz Microsoft