Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mLdtd-0004Xw-AF for pgsql-bugs@arkaria.postgresql.org; Thu, 02 Sep 2021 04:00:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mLdtb-0004d0-Rd for pgsql-bugs@arkaria.postgresql.org; Thu, 02 Sep 2021 04:00:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mLdtb-0004ci-J6 for pgsql-bugs@lists.postgresql.org; Thu, 02 Sep 2021 04:00:11 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mLdtV-0000Wz-4y for pgsql-bugs@lists.postgresql.org; Thu, 02 Sep 2021 04:00:11 +0000 Received: by mail-lf1-x12b.google.com with SMTP id l10so1197289lfg.4 for ; Wed, 01 Sep 2021 21:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=7Kng/p24hlzEjgIep/Bu44WGVk0WymiZZvstq59/Ja0=; b=MDjrVj14JHpagjqt1YG01jP050Npb+QcNiNAPJOpoJNrT2TQBmNsJNXpLUNiWv5XKU ToD0hWG2X7c8iEkmQ2+ptNNQQcf1O+ejo3Rc65Y76vTprEmOE2w6doW4RCDwXKe6Zz4x ZWinF3A+MDNjmkx1U3XiQmKCOuWo36qXeyX943ic4/mqu5C2ml5dFX5yYR4IGN/4uapo OoQMhdmrfZr0JTT62Evxo3Rw1Szp+r5GbcLwSqIl7fdcQZORU8PmnpbH/uxvrWzcmXm2 xCNqfI1NerFF5Qn1fEF0FAMtj4Da2JXfcDVDkTfGiN7xweLe37S6DuA4oqTOYv7dxtCu 1sfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=7Kng/p24hlzEjgIep/Bu44WGVk0WymiZZvstq59/Ja0=; b=RjJcu8p5EBouR9jIy2A8BZtnmsYF6ePHL0iBaRX9/bAA4v9kyZoW3MUWoLVliYi8d5 83hbKjz8mIM3XdKfdFube1fenWlr0QxIOY82N616rUwP1xl3iEcKYSGUOqdcDAxSq3IF XWLoUsm+WGpS2sECVepxDOQkpgOSBIYM7vJ25Utmrp7MQVNGbGYnmCJOIHSwa76ZBeWQ L/3IjDasO4q2preLxLflimlMTtn1fmNqM2YLRuXjCgcDB+c32I1+e2RgBFR10h6e/ndT nUgmo3jZQknluizbUaNBryWm7RoHGau7fIEfhz64yIyRbC+1YFzUq7a2S8pUKYBn5pqK Gomg== X-Gm-Message-State: AOAM532M621YeBIQEdTj+lPH8dCic7K1rOp7n1IY58H2v3+qvwrNKog/ BnpaORnATFAGf5SUSH/4bVtSNKzVHqw= X-Google-Smtp-Source: ABdhPJz8KFLC0xDqRkA0onkbFMAUhfDhPpT6H7VhhVsBGlQVrxgw3D5wu185Dvk9/4HJP3Ss5ICyLA== X-Received: by 2002:a19:6717:: with SMTP id b23mr1010772lfc.581.1630555202880; Wed, 01 Sep 2021 21:00:02 -0700 (PDT) Received: from [1.0.0.7] ([178.155.6.60]) by smtp.gmail.com with ESMTPSA id d24sm79220ljj.8.2021.09.01.21.00.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 01 Sep 2021 21:00:02 -0700 (PDT) Subject: Re: BUG #17126: Server crashes on dropping user while enumerating owned objects that are droppped concurrently To: Alvaro Herrera , pgsql-bugs@lists.postgresql.org References: <202107282001.rfd75lew2c33@alvherre.pgsql> From: Alexander Lakhin Message-ID: <07fc0336-1b28-8269-d7cc-c34d50c650ce@gmail.com> Date: Thu, 2 Sep 2021 07:00:01 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <202107282001.rfd75lew2c33@alvherre.pgsql> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: ru-RU List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello Alvaro, 28.07.2021 23:01, Alvaro Herrera wrote: > On 2021-Jul-28, PG Bug reporting form wrote: > >> Dropping a user that owns a number of procedures, while some of them are >> being dropped, can cause the server crash: >> There's many places that deal correctly with the possibility that >> getObjectDescription() would return NULL, but I found two places that >> don't. I've found another one in dependency.c:         else if (behavior == DROP_RESTRICT)         {             char       *otherDesc = getObjectDescription(&extra->dependee,                                                          false); ...             pfree(otherDesc); I couldn't trigger a failure at this place yet, but maybe it's worth to fix here too. Best regards, Alexander