On 2022-Jan-12, Jaime Casanova wrote: > I found two crashes, actually I found them on the original patch Álvaro > sent on november but just checked that those already exists. > > I configured with: > > CFLAGS="-ggdb -Og -g3 -fno-omit-frame-pointer" ./configure > --prefix=/opt/var/pgdg/15/merge --enable-debug --enable-depend > --enable-cassert --with-llvm --enable-tap-tests --with-pgport=54315 > > And tested on the regression database. > > Attached the SQL files for the crashes and its respective stacktraces. > FWIW, the second crash doesn't appear to be caused by the MERGE patch > but I cannot trigger it other way.
Thanks for this! The problem in the first crash was that when partitioned tables are being used and the topmost one has a tuple descriptor different from the partitions, we were doing the projection to the partition's slot using the root's tupledesc and a targetlist written for the root. The reason this crashed in such ugly way is that in this case the parent has 3 columns (2 dropped) while the partitions only have one, so the projection was trying to write to an attribute that didn't exist. I fixed it by making all NOT MATCHED actions use the root table's descriptor and slot. This change fixes both your reported crashes. I didn't look closely to see if the second one is caused by exactly the same issue. -- Álvaro Herrera Valdivia, Chile — https://www.EnterpriseDB.com/ Tom: There seems to be something broken here. Teodor: I'm in sackcloth and ashes... Fixed. http://archives.postgresql.org/message-id/482d1632.8010...@sigaev.ru