Re: BUG #16036: Segmentation fault while doing an update
Антон Власов <druidvav@gmail.com>
From: Антон Власов <druidvav@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: pgsql-bugs@lists.postgresql.org,
PG Bug reporting form <noreply@postgresql.org>
Date: 2019-10-04T01:26:25Z
Lists: pgsql-bugs
Tried only two concurrent queries and crash is still present, so it’s not about total query count. > 4 окт. 2019 г., в 4:24, Антон Власов <druidvav@gmail.com> написал(а): > > Hello, > > This test script always causes a crash: > > postgres@gp-app01:~$ cat test.sh > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > psql -d gdeposylka -c "update tracking.test_session set list_position = list_position + 1 where id = 85638;" & > > create table tracking.test_result > ( > id serial not null > constraint test_result_pkey > primary key, > session_id integer > constraint test_result_session_id_fkey > references tracking.test_session, > reported_at timestamp(0) default now(), > courier varchar(25) not null, > tracking_number varchar(60) not null, > status varchar(25) not null, > fail_combo integer default 0 not null, > response_test text, > response_real text, > response_time real, > code smallint, > message text, > retry integer > ); > > create index test_result_session_id_idx > on tracking.test_result (session_id); > > Didn’t finish isolating bug from my database so i’m not sure if it work out for you. Single queries work as usual, only concurrent ones cause crash. > > >> 4 окт. 2019 г., в 4:20, Andres Freund <andres@anarazel.de> написал(а): >> >> Hi, >> >> On October 3, 2019 6:14:33 PM PDT, "Антон Власов" <druidvav@gmail.com> wrote: >>> Hello, >>> >>> Looks like disabling jit didn’t affect backtrace at all: >>> >>> 0 GetMemoryChunkContext (pointer=0x0) at >>> ./build/../src/include/utils/memutils.h:127 >>> #1 pfree (pointer=0x0) at >>> ./build/../src/backend/utils/mmgr/mcxt.c:1033 >>> #2 0x0000555d7276aaca in heap_freetuple (htup=<optimized out>) at >>> ./build/../src/backend/access/common/heaptuple.c:1340 >>> #3 0x0000555d72918889 in tts_buffer_heap_clear (slot=0x555d73dbb118) >>> at ./build/../src/backend/executor/execTuples.c:652 >>> #4 0x0000555d72918cbe in ExecClearTuple (slot=0x555d73dbb118) at >>> ./build/../src/include/executor/tuptable.h:428 >>> #5 ExecResetTupleTable (tupleTable=0x555d73db5a10, shouldFree=false) >> >> That's good - I was only looking at that because of the truncated backtrace. Did you do anything to make that work better this time? >> >> Are there any details that you can provide? Schema? Any extensions in use? >> >> Does the problem happen always, or just under concurrency? >> >> Andres >> -- >> Sent from my Android device with K-9 Mail. Please excuse my brevity. >
Commits
-
Disable one more set of tests from c8841199509.
- 04a4c03efe3e 9.6.16 landed
- 2212e01316ff 10.11 landed
- 77b2d95b1485 11.6 landed
- 9051f62ed7ef 12.1 landed
- 3a68105154c3 13.0 landed
-
Disable one set of tests from c8841199509.
- e25847b471e2 9.6.16 landed
- 81b8cd5ed7c0 10.11 landed
- 5711a1828f1f 11.6 landed
- bbd26778643f 12.1 landed
- 6e61d75f5258 13.0 landed
-
Add isolation tests for the combination of EPQ and triggers.
- 04619f508fbf 9.6.16 landed
- 95266e64c5b7 10.11 landed
- 54b0feaf90d8 11.6 landed
- 0cbc72ca72d4 12.1 landed
- c88411995098 13.0 landed
-
Fix crash caused by EPQ happening with a before update trigger present.
- 60e97d63e5d1 12.1 landed
- d986d4e87f61 13.0 landed
-
Modify the isolation tester so that multiple sessions can wait.
- 38f8bdcac498 9.6.0 cited