seg fault on dsm_create call - Mailing list pgsql-hackers

From Max Fomichev
Subject seg fault on dsm_create call
Date
Msg-id 644cbbb5-8291-eac9-0901-a1c5113f868b@gmail.com
Whole thread Raw
Responses Re: seg fault on dsm_create call  (Robert Haas <robertmhaas@gmail.com>)
List 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




pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: ERROR: ORDER/GROUP BY expression not found in targetlist
Next
From: Masahiko Sawada
Date:
Subject: Re: Reviewing freeze map code