The following bug has been logged online:
Bug reference: 2315
Logged by: Alexander Kirpa
Email address: postgres@bilteks.com
PostgreSQL version: 8.1.3
Operating system: FreeBSD 6.0
Description: Crash engine after modify "active" function
Details:
FUNCTION f1(text, int4)
DECLARE
BEGIN
...
id:=f2(ww);
...
RETURN xx;
END;
FUNCTION f2(text)
SELECT f1(c1) FROM t1, where table t1 big for long run
During run, simple modify function f2, no any serious internal changes
within function, only move some string
for change application logic.
After write (commit) function changes over pgadmin Postgres engine crash
----------------------
2006-03-12 13:31:06 EET 502 LOG: server process (PID 28569) was terminated
by signal 11
2006-03-12 13:31:06 EET 502 LOG: terminating any other active server
processes
...
2006-03-12 13:31:06 EET 502 LOG: all server processes terminated;
reinitializing
2006-03-12 13:31:06 EET 44181 LOG: database system was interrupted at
2006-03-12 13:29:19 EET
2006-03-12 13:31:06 EET 44181 LOG: checkpoint record is at 22/E186B310
2006-03-12 13:31:06 EET 44181 LOG: redo record is at 22/E181F434; undo
record is at 0/0; shutdown FALSE
2006-03-12 13:31:06 EET 44181 LOG: next transaction ID: 82131; next OID:
61399
2006-03-12 13:31:06 EET 44181 LOG: next MultiXactId: 1; next
MultiXactOffset: 0
2006-03-12 13:31:06 EET 44181 LOG: database system was not properly shut
down; automatic recovery in progress
2006-03-12 13:31:06 EET 44181 LOG: redo starts at 22/E181F434
2006-03-12 13:31:06 EET 44181 LOG: record with zero length at 22/E253D24C
2006-03-12 13:31:06 EET 44181 LOG: redo done at 22/E253D224
2006-03-12 13:31:07 EET 44181 LOG: database system is ready
---------------------------------
After restart I do not see any PG engine problem
and second crash during modify top level function f1
under heavy using f1
----------------
2006-03-12 19:50:53 EET 502 LOG: server process (PID 44308) was terminated
by signal 10
2006-03-12 19:50:53 EET 502 LOG: terminating any other active server
processes
....
2006-03-12 19:50:53 EET 502 LOG: all server processes terminated;
reinitializing
2006-03-12 19:50:53 EET 45055 LOG: database system was interrupted at
2006-03-12 19:49:50 EET
2006-03-12 19:50:53 EET 45055 LOG: checkpoint record is at 24/F17E3F8C
2006-03-12 19:50:53 EET 45055 LOG: redo record is at 24/F0528C1C; undo
record is at 0/0; shutdown FALSE
2006-03-12 19:50:53 EET 45055 LOG: next transaction ID: 83765; next OID:
69591
2006-03-12 19:50:53 EET 45055 LOG: next MultiXactId: 10; next
MultiXactOffset: 19
2006-03-12 19:50:53 EET 45055 LOG: database system was not properly shut
down; automatic recovery in progress
2006-03-12 19:50:53 EET 45055 LOG: redo starts at 24/F0528C1C
2006-03-12 19:50:58 EET 45055 LOG: record with zero length at 24/F80473C4
2006-03-12 19:50:58 EET 45055 LOG: redo done at 24/F8047384
2006-03-12 19:50:59 EET 45055 LOG: database system is ready
2006-03-12 19:50:59 EET 45055 LOG: transaction ID wrap limit is 1073824976,
limited by database "shorttest"
2006-03-12 19:50:59 EET 45058 LOG: invalid server process ID -1
2006-03-12 19:50:59 EET 45058 LOG: invalid server process ID -1
--------------------------------
Possible reason - no transaction isolation for function.
Best regards,
Alexander Kirpa