No segfault during dsm_create, mmap returns the memory address which is inaccessible. Let me see how can I disable kernel overcommit behaviour, but IMHO, we should prevent ourselves from crashing, shouldn't we?
Regards, Amul---------------------------------------------------------------------------------------------------- Sent from a mobile device. Please excuse brevity and tpyos. On Fri, 12 Aug, 2016 at 7:38 pm, Tom Lane<t...@sss.pgh.pa.us> wrote: amul sul <sul_a...@yahoo.co.in> writes: > When I am calling dsm_create on Linux using the POSIX DSM implementation can > succeed, but result in SIGBUS when later try to access the memory. This > happens because of my system does not have enough shm space & current > allocation in dsm_impl_posix does not allocate disk blocks[1]. I wonder can > we use fallocate system call (i.e. Zero-fill the file) to ensure that all the > file space has really been allocated, so that we don't later seg fault when > accessing the memory mapping. But here we will endup by loop calling ‘write’ > squillions of times. Wouldn't that just result in a segfault during dsm_create? I think probably what you are describing here is kernel misbehavior akin to memory overcommit. Maybe it *is* memory overcommit and can be turned off the same way. If not, you have material for a kernel bug fix/enhancement request. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers