Re: Parallel Bitmap scans a bit broken
Dilip Kumar <dilipbalaut@gmail.com>
From: Dilip Kumar <dilipbalaut@gmail.com>
To: Emre Hasegeli <emre@hasegeli.com>
Cc: Robert Haas <robertmhaas@gmail.com>,
David Rowley <david.rowley@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-03-16T12:26:46Z
Lists: pgsql-hackers
Attachments
- fix_tbm_empty_v2.patch (application/octet-stream) patch v2
On Thu, Mar 16, 2017 at 5:14 PM, Dilip Kumar <dilipbalaut@gmail.com> wrote: > pg_atomic_write_u32_impl(val=0) at generic.h:57, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) >>> * frame #0: 0x0000000100caf314 postgres`tbm_prepare_shared_iterate [inlined] pg_atomic_write_u32_impl(val=0) at generic.h:57 [opt] >>> frame #1: 0x0000000100caf314 postgres`tbm_prepare_shared_iterate [inlined] pg_atomic_init_u32_impl(val_=0) at generic.h:163 [opt] >>> frame #2: 0x0000000100caf314 postgres`tbm_prepare_shared_iterate [inlined] pg_atomic_init_u32(val=0) + 17 at atomics.h:237 [opt] > > By looking at the call stack I got the problem location. I am > reviewing other parts of the code if there are the similar mistake at > other places. Soon I will post the patch. Thanks for the help. Based on the call stack I have tried to fix the issue. The problem is there was some uninitialized pointer access (in some special cases i.e. TBM_EMPTY when pagetable is not created at all). fix_tbm_empty.patch have fixed some of them but induced one which you are seeing in your call stack. Hopefully, this time I got it correct. Since I am unable to reproduce the issue so I will again need your help in verifying the fix. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
Avoid access to uninitialized memory in shared tidbitmap iteration.
- 80824ddda301 10.0 landed
-
Bump catversion for MACADDR8
- c5832346625a 10.0 cited
-
Fix bug in parallel tidbitmap iteration.
- 6a468c343b31 10.0 landed