pg.ddx.io pgsql-hackers@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Thomas Munro <thomas.munro@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: reid.thompson@crunchydata.com, Robert Haas <robertmhaas@gmail.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: Tristan Partin <tristan@neon.tech>
Subject: Re: Refactoring backend fork+exec code
Date: Wed, 3 Jul 2024 16:25:18 +0300
Message-ID: <205c33e6-0ec3-4ab3-8700-e02f95e15199@iki.fi> (raw )
In-Reply-To: <CA+hUKG+e-dV7YWBzfBZXsgovgRuX5VmvmOT+v0aXiZJ-EKbXcw@mail.gmail.com >
References: <59527c9b-c3f7-4d0c-a3f1-00d0ed5cc186@iki.fi >
<f3ecd4cb-85ee-4e54-8278-5fabfb3a4ed0@iki.fi >
<20240122210740.7vq5fd4woixpwx3f@awork3.anarazel.de >
<8171f1aa-496f-46a6-afc3-c46fe7a9b407@iki.fi >
<20240123195009.44wtutga24p5sh3s@awork3.anarazel.de >
<08eff756-beeb-4a11-9eb5-d45b6af38998@iki.fi >
<5997ff317a5827496537580078bcd19f4441f8d2.camel@crunchydata.com >
<606a62d6-321c-4967-92c1-2d4e20a2c136@iki.fi >
<20240207182521.wyt5dmd75l4v27zk@awork3.anarazel.de >
<2136fb4f-1630-43e9-9cf6-b32772b4b0a0@iki.fi >
<20240214213711.2gjlezqll37mg7lg@awork3.anarazel.de >
<CA+Tgmoa=m3qogg1QH8kbicTgCtipgK1hTUDWpHd5SBra7kV6Ew@mail.gmail.com >
<8f695109-8341-4f7c-8b0d-3cadc7eddc9e@iki.fi >
<0c247a78-9dac-4584-8e87-39f2b45bec68@iki.fi >
<861f42c1-01c4-42e6-ab2f-d5743ff69607@iki.fi >
<CZM6WDX5H4QI.NZG1YUCKWLA@neon.tech >
<53a0a952-1b58-4346-941c-6b767108963a@iki.fi >
<47965166-073f-49c8-9e8d-fd6ba37c61fb@iki.fi >
<CA+hUKG+e-dV7YWBzfBZXsgovgRuX5VmvmOT+v0aXiZJ-EKbXcw@mail.gmail.com >
On 18/05/2024 08:24, Thomas Munro wrote:
> Nitpicking from UBSan with EXEC_BACKEND on Linux (line numbers may be
> a bit off, from a branch of mine):
>
> ../src/backend/postmaster/launch_backend.c:772:2: runtime error: null
> pointer passed as argument 2, which is declared to never be null
> ==13303==Using libbacktrace symbolizer.
> #0 0x5555564b0202 in save_backend_variables
> ../src/backend/postmaster/launch_backend.c:772
> #1 0x5555564b0242 in internal_forkexec
> ../src/backend/postmaster/launch_backend.c:311
> #2 0x5555564b0bdd in postmaster_child_launch
> ../src/backend/postmaster/launch_backend.c:244
> #3 0x5555564b3121 in StartChildProcess
> ../src/backend/postmaster/postmaster.c:3928
> #4 0x5555564b933a in PostmasterMain
> ../src/backend/postmaster/postmaster.c:1357
> #5 0x5555562de4ad in main ../src/backend/main/main.c:197
> #6 0x7ffff667ad09 in __libc_start_main
> (/lib/x86_64-linux-gnu/libc.so.6+0x23d09)
> #7 0x555555e34279 in _start
> (/tmp/cirrus-ci-build/build/tmp_install/usr/local/pgsql/bin/postgres+0x8e0279)
>
> This silences it:
>
> - memcpy(param->startup_data, startup_data, startup_data_len);
> + if (startup_data_len > 0)
> + memcpy(param->startup_data, startup_data, startup_data_len);
Fixed, thanks!
On 17/06/2024 21:36, Nathan Bossart wrote:
> While looking into [0], I noticed that main() still only checks for the
> --fork prefix, but IIUC commit aafc05d removed all --fork* options except
> for --forkchild. I've attached a patch to strengthen the check in main().
> This is definitely just a nitpick.
Fixed this too, thanks!
--
Heikki Linnakangas
Neon (https://neon.tech )
view thread (50+ messages)
Message-ID: <205c33e6-0ec3-4ab3-8700-e02f95e15199@iki.fi>
Permalink: ../205c33e6-0ec3-4ab3-8700-e02f95e15199@iki.fi/
Also on: postgresql.org/message-id/205c33e6-0ec3-4ab3-8700-e02f95e15199@iki.fi
copy link · copy postgr.es
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: hlinnaka@iki.fi, thomas.munro@gmail.com, nathandbossart@gmail.com, robertmhaas@gmail.com, andres@anarazel.de, tristan@neon.tech
Subject: Re: Refactoring backend fork+exec code
In-Reply-To: <205c33e6-0ec3-4ab3-8700-e02f95e15199@iki.fi>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox