Обсуждение: server process crash
I ocassionally get this error when a large insert is made to a very large table (Postgres 8.1.9) Hardware is 8 core Dell 2950 with 6x300G Raid 10 Disk setup. LOG: server process (PID 25002) exited with exit code 1 LOG: terminating any other active server processes WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. When I vacuum the table and retry the process..it works. The vacuum output has this warning which indicates that the crash left the table in an invalid state. WARNING: relation "test_dimpart_dimension" page 159809 is uninitialized --- fixing WARNING: relation "test_dimpart_dimension" page 159810 is uninitialized --- fixing Why does the crash occur (there were no prior crashes) and can we get more diagnostics on the actual cause of the error.
Anj Adu <fotographs@gmail.com> writes: > I ocassionally get this error when a large insert is made to a very > large table (Postgres 8.1.9) > LOG: server process (PID 25002) exited with exit code 1 The interesting messages would be before that one, I think. This should indicate a FATAL exit, and that should have gotten logged. Another possibility is that you've got some non-postgres code loaded into the backend that is doing exit(1). regards, tom lane
The only FATAL message when the error occurred was this WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. HINT: In a moment you should be able to reconnect to the database and repeat your command. FATAL: the database system is in recovery mode WARNING: terminating connection because of crash of another server process DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. We do have java code called by pl/java ...but there seems to be no indication on why the crash occurred. On 10/20/09, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Anj Adu <fotographs@gmail.com> writes: >> I ocassionally get this error when a large insert is made to a very >> large table (Postgres 8.1.9) > >> LOG: server process (PID 25002) exited with exit code 1 > > The interesting messages would be before that one, I think. This > should indicate a FATAL exit, and that should have gotten logged. > > Another possibility is that you've got some non-postgres code loaded > into the backend that is doing exit(1). > > regards, tom lane >
Anj Adu <fotographs@gmail.com> writes: > We do have java code called by pl/java ...but there seems to be no > indication on why the crash occurred. Would that code be getting invoked while the problematic command executes? If so I think you need to look into the java stuff to see what might make it decide to terminate the process. regards, tom lane