seg fault on dsm_create call

From: Max Fomichev <max(dot)fomitchev(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: seg fault on dsm_create call
Date: 2016-06-28 14:11:04
Message-ID: 644cbbb5-8291-eac9-0901-a1c5113f868b@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello,
sorry for my repost from psql-novice, probably it was not a right place
for my question.

I'm trying to understand how to work with dynamic shared memory, message
queues and workers.
The problem is I can not initialize any dsm segment -

void _PG_init() {
...
dsm_segment *seg = dsm_create(32768, 0); // Segmentation fault
here
...
BackgroundWorker worker;
sprintf(worker.bgw_name, "mystem wrapper process");
worker.bgw_flags = BGWORKER_SHMEM_ACCESS;
worker.bgw_start_time = BgWorkerStart_RecoveryFinished;
worker.bgw_restart_time = BGW_NEVER_RESTART;
worker.bgw_main = mainProc;
worker.bgw_notify_pid = 0;
RegisterBackgroundWorker(&worker);
}

Also I was trying to move dsm_create call to a worker, but with the same
result -

static void mainProc(Datum) {
...
dsm_segment *seg = dsm_create(32768, 0); // Segmentation fault
here
...
pqsignal(SIGTERM, mystemSigterm);
BackgroundWorkerUnblockSignals();
...

What could be a reason and what am I doing wrong?

PS
test/modules/test_shm_mq works fine...
dynamic_shared_memory_type = posix
OSX 10.11.5
PostgreSQL 9.5.3

--
Best regards,
Max Fomichev

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-06-28 14:44:21 Re: ERROR: ORDER/GROUP BY expression not found in targetlist
Previous Message Masahiko Sawada 2016-06-28 14:10:59 Re: Reviewing freeze map code