Thread: pgsql-cygwin

pgsql-cygwin

From
"Richard Wooding"
Date:
Hi,

On the following two configurations:

Intel P4, 512Mb Memory, 20Gb Hard Drive
Windows2000 Pro, Service Pack 2
postgresql 7.2.1-2
cygwin dll 1.3.12-2
ipc daeomon 1.11-1

Intel P4, 512Mb Memory, 20Gb Hard Drive
Windows2000 Pro, Service Pack 2
postgresql 7.3.1-2
cygwin dll 1.3.20-1
ipc daemon 1.13

We are experiencing the following error:

---> Start Log file
DEBUG:  recycled transaction log file 0000000400000015
DEBUG:  recycled transaction log file 0000000400000016
DEBUG:  recycled transaction log file 0000000400000017
ERROR:  cannot read block 0 of modem_pkey: Permission denied
NOTICE:  Error occurred while executing PL/pgSQL function modem_updatesignalstrength
NOTICE:  line 7 at SQL statement
ERROR:  cannot read block 0 of modem_pkey: Permission denied
NOTICE:  Error occurred while executing PL/pgSQL function modem_updatesignalstrength
NOTICE:  line 7 at SQL statement
DEBUG:  mdblindwrt: write() failed: Permission denied
ERROR:  cannot write block 262 of 16557/16572 blind: Permission denied
NOTICE:  Error occurred while executing PL/pgSQL function modem_updatesignalstrength
NOTICE:  line 7 at SQL statement
ERROR:  cannot extend messages: Permission denied.
    Check free disk space.
FATAL 2:  write of log file 4, segment 24, offset 12312576 failed: Permission denied
DEBUG:  server process (pid 2324) exited with exit code 2
DEBUG:  terminating any other active server processes
NOTICE:  Message from PostgreSQL backend:
    The Postmaster has informed me that some other backend
    died abnormally and possibly corrupted shared memory.
    I have rolled back the current transaction and am
    going to terminate your database system connection and exit.
    Please reconnect to the database system and repeat your query.
NOTICE:  Message from PostgreSQL backend:
    The Postmaster has informed me that some other backend
    died abnormally and possibly corrupted shared memory.
    I have rolled back the current transaction and am
    going to terminate your database system connection and exit.
    Please reconnect to the database system and repeat your query.
NOTICE:  Message from PostgreSQL backend:
    The Postmaster has informed me that some other backend
    died abnormally and possibly corrupted shared memory.
    I have rolled back the current transaction and am
    going to terminate your database system connection and exit.
    Please reconnect to the database system and repeat your query.
DEBUG:  all server processes terminated; reinitializing shared memory and semaphores
IpcMemoryCreate: shmget(key=5432001, size=2048000, 03600) failed: Not enough core

This error usually means that PostgreSQL's request for a shared
memory segment exceeded available memory or swap space.
To reduce the request size (currently 2048000 bytes), reduce
PostgreSQL's shared_buffers parameter (currently 100) and/or
its max_connections parameter (currently 50).

The PostgreSQL Administrator's Guide contains more information about
shared memory configuration.
--> End log file

Could this error be related to file permissions and / or NT security? The reason I am asking is because the error only
appearsto occur when the NT server is on a domain, when it is off a domain the error does not occur. 

Does NTSEC have a bearing on pgsql-cygwin, should it be turned on/off when running cygwin?

Does NTEA have a bearing on pgsql-cygwin, should it be turned on on/off when running cygwin?

Regards
Richard Wooding
richard@camara.co.za







Re: pgsql-cygwin

From
Jason Tishler
Date:
Richard,

On Mon, Feb 17, 2003 at 04:02:03PM +0200, Richard Wooding wrote:
> We are experiencing the following error:
>
> ---> Start Log file
> DEBUG:  recycled transaction log file 0000000400000015
> DEBUG:  recycled transaction log file 0000000400000016
> DEBUG:  recycled transaction log file 0000000400000017
> ERROR:  cannot read block 0 of modem_pkey: Permission denied
> NOTICE:  Error occurred while executing PL/pgSQL function ...
                                          ^^^^^^^^
                                          ********

See below...

> [snip]
> DEBUG:  all server processes terminated; reinitializing shared memory and semaphores
> IpcMemoryCreate: shmget(key=5432001, size=2048000, 03600) failed: Not enough core
>
> [snip]
>
> Could this error be related to file permissions and / or NT security?

I don't think so -- I think that it is related to how Windows deals (or
not deals) with open files.  See below...

> The reason I am asking is because the error only appears to occur when
> the NT server is on a domain, when it is off a domain the error does
> not occur.

Coincidence?

> Does NTSEC have a bearing on pgsql-cygwin,

Yes.

> should it be turned on/off when running cygwin?

IMO, ntsec should be on.

> Does NTEA have a bearing on pgsql-cygwin,

Only if your filesystem is FAT/FAT32.

> should it be turned on on/off when running cygwin?

IMO, you should never use FAT/FAT32. :,)

I believe that your problem is the same as what I stumbled across trying
to get PL/Tcl working:

    http://archives.postgresql.org/pgsql-cygwin/2003-02/msg00003.php

AFAICT (using the Sysinternals handle utility), at least one backend
still has /tmp/cygipc_0 open which causes shmget() to fail with the
above error.

BTW, the plpgsql regression test works, so I (had) hoped that only
PL/Tcl was affected.  I guess that I wrong. :,(

Jason

--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D  8784 1AFD E4CC ECF4 8EF6