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.94.2) (envelope-from ) id 1txfLj-00CrXp-2k for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Mar 2025 05:00:15 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1txfLh-00GkY2-P8 for pgsql-hackers@arkaria.postgresql.org; Thu, 27 Mar 2025 05:00:13 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1txfLh-00GkW0-FJ for pgsql-hackers@lists.postgresql.org; Thu, 27 Mar 2025 05:00:13 +0000 Received: from mail-lf1-x12f.google.com ([2a00:1450:4864:20::12f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1txfLf-001Mo1-24 for pgsql-hackers@postgresql.org; Thu, 27 Mar 2025 05:00:12 +0000 Received: by mail-lf1-x12f.google.com with SMTP id 2adb3069b0e04-54af09697f5so520692e87.1 for ; Wed, 26 Mar 2025 22:00:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743051610; x=1743656410; darn=postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=4QrvYzFb65rx06QmR9EUxcno1z5RKcUvr6d4UEP7ebE=; b=eeOPZPe3cxyuzu91Ggzgn30xvwcxg0ZCFfKyr56QSYvZq5U187djSm9BT69N+Wb94e eB26qOQS6UeJV9w0WH3TW0Oql72HgiiD+HsYHIqYdudRTBuLMIR5Janai/472iTZ12/O b2n4c1Geo6nKBxegYsVY0KnYLaM4dvb+PKkmjSO+YWCFykHq+WnoG5DeJu+5YaeudsDE Avu7PE37IpmzMRQPyJFnIiUw1EJu84HYpZiQhoPyaDu0YidnOpSMUyzE+LQpOY1l68ee NCLZ4Bi8cvV+nGz1W4vxUJ6Im70cJzkskinna1mgL4tCYH7wkmIDgUvadScXH74XGM5d AqZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743051610; x=1743656410; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4QrvYzFb65rx06QmR9EUxcno1z5RKcUvr6d4UEP7ebE=; b=c/iEWk3sD8UT9PzAUxbY6C8SPnhhisZ6l7CwlMBzKCt3sePCzmbsjW35qY1M5enjb2 apmQDHJfUVp+h8lbyHLFld1sxkGa+XhqmhWFongBBYtwaw2FwXbiDTiriYFh/1ayxq01 Mj7HXNNYW5ZfOnquXMpPjNU1ihRYZdVKXkAL5BMONu1jtLBlRyTJYCXenBodQE6uAvfw hGllv9Bp2bkXscIbpOom374LM5CYpMrLrcI3IffXfsDOkIwLrVWKgCo11A4YEBjeGioi i7bv9Nb1r1gqlUqWr5GEu0YY+gPAfkHUn/eKq9oN4kfSqj3pLl1tWqtAYVa+N/Ngf9Rs 8g8Q== X-Forwarded-Encrypted: i=1; AJvYcCVROPg4OidwyqZ9SUvdX0Pk2duOnc2JcScj+b5TwACxa8H+jfEtr6i9NB5P8j+sHEUdYEnCSIMhzSVqOG7V@postgresql.org X-Gm-Message-State: AOJu0YywhcOBP3m+AxlORNZvpiqomedkKJn6Ui5Mpj8R3Qaw5Bz9netA ZnVaZ8hL81x5UfDGeERg/1MoGVFYpfbUxHbvR5ILuA7sb7iDeneX X-Gm-Gg: ASbGncsLOiXuWwZ1tRfny7+CUljlvKW9Dv//P/Dox3ezrVS2e2hWOZbWLjYuVjn1b5B OfcJF8ATGe5j4qV6AQFhyFDt8pyokloE0j2TQwJx5yFgIO6Ws5JE7nPOCl0s1VM7/sOIHntws85 V4nd5bo4MyySwO3LmYGHbEj0SMjkEbfAWrNNfdrBlZRxkZW8WDE+hOSyZbaqXvFtgCPpuXKoQZf WH3Fw6wj5DKd24wzX7fD1p/Oh7s2Tk0zPViNSaDmUwjBZwe6O8P278N8qp63Fnm8joqcgJ1hsVA TE+EBaeuedZ4f/ohtZOpaGeKd98siaZGAvDPiLDAM5fvk2w= X-Google-Smtp-Source: AGHT+IGOs28sahrjHh2pguLqw9+3lpTuYbAlhhwj9R7tO7UE0pWXr6zXeDVMFtOTTsZL6egcTtGb0g== X-Received: by 2002:a05:6512:2354:b0:549:91ab:54cd with SMTP id 2adb3069b0e04-54b011ce529mr795124e87.4.1743051609770; Wed, 26 Mar 2025 22:00:09 -0700 (PDT) Received: from [192.168.0.50] ([89.149.68.176]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-54ad647c4e7sm2020556e87.77.2025.03.26.22.00.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Mar 2025 22:00:09 -0700 (PDT) Message-ID: Date: Thu, 27 Mar 2025 07:00:07 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Latches vs lwlock contention To: Heikki Linnakangas , Maxim Orlov Cc: Thomas Munro , pgsql-hackers , Yura Sokolov , Andres Freund References: <53c844e1-a21a-e481-cca5-2184c8aa47b9@iki.fi> <7c2090cd-a72a-4e34-afaa-6dd2ef31440e@iki.fi> Content-Language: en-US From: Alexander Lakhin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello Heikki, 04.11.2024 18:08, Heikki Linnakangas wrote: > Committed, thanks for the review! I've discovered that the following script: export PGOPTIONS='-c lock_timeout=1s' createdb regression for i in {1..100}; do echo "ITERATION: $i" psql -c "CREATE TABLE t(i int);" cat << 'EOF' | psql & DO $$ DECLARE     i int; BEGIN    FOR i IN 1 .. 5000000 LOOP     INSERT INTO t VALUES (1);   END LOOP; END; $$; EOF sleep 1 psql -c "DROP TABLE t" & cat << 'EOF' | psql & COPY t FROM STDIN; 0 \. EOF wait psql -c "DROP TABLE t" || break; done causes a segmentation fault on master (it fails on iterations 5, 4, 26 for me): ITERATION: 26 CREATE TABLE ERROR:  canceling statement due to lock timeout ERROR:  canceling statement due to lock timeout invalid command \. ERROR:  syntax error at or near "0" LINE 1: 0         ^ server closed the connection unexpectedly Core was generated by `postgres: law regression [local] idle                                         '. Program terminated with signal SIGSEGV, Segmentation fault. #0  GrantLockLocal (locallock=0x5a1d75c35ba8, owner=0x5a1d75c18630) at lock.c:1805 1805            lockOwners[i].owner = owner; (gdb) bt #0  GrantLockLocal (locallock=0x5a1d75c35ba8, owner=0x5a1d75c18630) at lock.c:1805 #1  0x00005a1d51e93ee7 in GrantAwaitedLock () at lock.c:1887 #2  0x00005a1d51ea1e58 in LockErrorCleanup () at proc.c:814 #3  0x00005a1d51b9a1a7 in AbortTransaction () at xact.c:2853 #4  0x00005a1d51b9abc6 in AbortCurrentTransactionInternal () at xact.c:3579 #5  AbortCurrentTransaction () at xact.c:3457 #6  0x00005a1d51eafeda in PostgresMain (dbname=, username=0x5a1d75c139b8 "law") at postgres.c:4440 (gdb) p lockOwners $1 = (LOCALLOCKOWNER *) 0x0 git bisect led me to 3c0fd64fe. Could you please take a look? Best regards, Alexander Lakhin Neon (https://neon.tech)