Hello Andres, 14.09.2021 08:05, Andres Freund wrote: > >> With LLVM 9 on the same Centos 7 I don't get such segfault. Also it >> doesn't happen on different OSes with LLVM 7. > That just like an llvm bug to me. Rather than the usage issue addressed in > this thread. But Justin seen this strangeness too: > > I couldn't crash on ubuntu either, so maybe they have a patch which > fixes this, > or maybe RH applied a patch which caused it... > The script that Justin presented: > postgres=# CREATE TABLE t AS SELECT i FROM generate_series(1,999999)i; > VACUUM ANALYZE t; > postgres=# SET client_min_messages=debug; SET statement_timeout=333; > SET jit_above_cost=0; SET jit_optimize_above_cost=-1; SET > jit_inline_above_cost=-1; explain analyze SELECT sum(i) FROM t a > NATURAL JOIN t b; causes the server crash on Centos 7 with LLVM 7 (even with the fix applied) and doesn't crash with LLVM 9 (I used llvm-toolset-9* and devtoolset-9* packages from https://buildlogs.centos.org/c7-llvm-toolset-9.0.x86_64/ and https://buildlogs.centos.org/c7-devtoolset-9.x86_64/ repositories).
The another script: > > python3 -c "import pg; db=pg.DB('dbname=postgres host=/tmp > port=5678'); db.query('SET jit_above_cost=0; SET > jit_inline_above_cost=-1; SET jit=on; SET client_min_messages=debug'); > db.query('begin'); db.query_formatted('SELECT 1 FROM > generate_series(1,99)a WHERE a=%s', [1], inline=False);" > also causes the server crash with LLVM 7, and doesn't crash with LLVM 9. So I wonder, isn't the fixed usage issue specific to LLVM 7, which is not going to be supported as having some bugs? Best regards, Alexander