调用create_graph后PostgreSQL 15服务器崩溃,回归测试全失败
Apache AGE适配PostgreSQL 15.3时
create_graph触发服务器崩溃,回归测试全失败 我正在开发Apache AGE以使其兼容PostgreSQL 15.3,此前测试工作一直顺利,突然在未做任何修改的情况下,调用create_graph函数时服务器出现崩溃,且所有回归测试全部失败。我已回滚所有可能的修改,但问题仍持续存在,此前测试已顺利运行达10小时。
回归测试结果
echo "+++ regress install-check in +++" && /usr/local/pgsql-15/lib/pgxs/src/makefiles/../../src/test/regress/pg_regress --inputdir=./ --bindir='/usr/local/pgsql-15/bin' --load-extension=age --inputdir=.//regress --outputdir=.//regress --temp-instance=.//regress/instance --port=61958 --encoding=UTF-8 --dbname=contrib_regression scan graphid agtype catalog cypher expr cypher_create cypher_match cypher_unwind cypher_set cypher_remove cypher_delete cypher_with cypher_vle cypher_union cypher_call cypher_merge age_global_graph age_load index analyze graph_generation name_validation drop +++ regress install-check in +++ ============== removing existing temp instance ============== ============== creating temporary instance ============== ============== initializing database system ============== ============== starting postmaster ============== running on port 61958 with PID 385940 ============== creating database "contrib_regression" ============== CREATE DATABASE ALTER DATABASE ALTER DATABASE ALTER DATABASE ALTER DATABASE ALTER DATABASE ALTER DATABASE ============== installing age ============== CREATE EXTENSION ============== running regression test queries ============== test scan ... FAILED (test process exited with exit code 2) 190 ms test graphid ... FAILED (test process exited with exit code 2) 11 ms test agtype ... FAILED (test process exited with exit code 2) 1 ms test catalog ... FAILED (test process exited with exit code 2) 1 ms test cypher ... FAILED (test process exited with exit code 2) 1 ms test expr ... FAILED (test process exited with exit code 2) 1 ms test cypher_create ... FAILED (test process exited with exit code 2) 193 ms test cypher_match ... FAILED (test process exited with exit code 2) 12 ms test cypher_unwind ... FAILED (test process exited with exit code 2) 199 ms test cypher_set ... FAILED (test process exited with exit code 2) 11 ms test cypher_remove ... FAILED (test process exited with exit code 2) 192 ms test cypher_delete ... FAILED (test process exited with exit code 2) 11 ms test cypher_with ... FAILED (test process exited with exit code 2) 194 ms test cypher_vle ... FAILED (test process exited with exit code 2) 11 ms test cypher_union ... FAILED (test process exited with exit code 2) 201 ms test cypher_call ... FAILED (test process exited with exit code 2) 11 ms test cypher_merge ... FAILED (test process exited with exit code 2) 199 ms test age_global_graph ... FAILED (test process exited with exit code 2) 11 ms test age_load ... FAILED (test process exited with exit code 2) 213 ms test index ... FAILED (test process exited with exit code 2) 10 ms test analyze ... FAILED (test process exited with exit code 2) 201 ms test graph_generation ... FAILED (test process exited with exit code 2) 11 ms test name_validation ... FAILED (test process exited with exit code 2) 195 ms test drop ... FAILED (test process exited with exit code 2) 11 ms ============== shutting down postmaster ============== ======================== 24 of 24 tests failed. ======================== The differences that caused some tests to fail can be viewed in the file "/home/panos/Documents/age-fork/regress/regression.diffs". A copy of the test summary that you see above is saved in the file "/home/panos/Documents/age-fork/regress/regression.out".
服务器崩溃日志
postgres=# select * from create_graph('test_graph'); TRAP: FailedAssertion("ptr == NULL || nodeTag(ptr) == type", File: "../../../src/include/nodes/nodes.h", Line: 609, PID: 380560) postgres: panos postgres [local] SELECT(ExceptionalCondition+0xa5)[0x55ebdb81f1f2] postgres: panos postgres [local] SELECT(+0x2a8d0b)[0x55ebdb4aed0b] postgres: panos postgres [local] SELECT(DefineSequence+0xa1)[0x55ebdb4b0622] postgres: panos postgres [local] SELECT(+0x4d285d)[0x55ebdb6d885d] postgres: panos postgres [local] SELECT(standard_ProcessUtility+0xa90)[0x55ebdb6d784b] /usr/local/pgsql-15/lib/age.so(ag_ProcessUtility_hook+0xba)[0x7f1e1c1029d4] postgres: panos postgres [local] SELECT(ProcessUtility+0x44)[0x55ebdb6d789d] postgres: panos postgres [local] SELECT(CreateSchemaCommand+0x3d6)[0x55ebdb4ad1c9] /usr/local/pgsql-15/lib/age.so(+0x1882a)[0x7f1e1c10382a] /usr/local/pgsql-15/lib/age.so(create_graph+0x43)[0x7f1e1c103c7a] postgres: panos postgres [local] SELECT(ExecMakeTableFunctionResult+0x22b)[0x55ebdb516e04] postgres: panos postgres [local] SELECT(+0x325090)[0x55ebdb52b090] postgres: panos postgres [local] SELECT(+0x3118b3)[0x55ebdb5178b3] postgres: panos postgres [local] SELECT(ExecScan+0x7c)[0x55ebdb51794d] postgres: panos postgres [local] SELECT(+0x324f9c)[0x55ebdb52af9c] postgres: panos postgres [local] SELECT(+0x30e486)[0x55ebdb514486] postgres: panos postgres [local] SELECT(+0x30677b)[0x55ebdb50c77b] postgres: panos postgres [local] SELECT(standard_ExecutorRun+0x15a)[0x55ebdb50c954] postgres: panos postgres [local] SELECT(ExecutorRun+0x23)[0x55ebdb50ca1e] postgres: panos postgres [local] SELECT(+0x4cd9cc)[0x55ebdb6d39cc] postgres: panos postgres [local] SELECT(PortalRun+0x34b)[0x55ebdb6d54cd] postgres: panos postgres [local] SELECT(+0x4cb337)[0x55ebdb6d1337] postgres: panos postgres [local] SELECT(PostgresMain+0x73f)[0x55ebdb6d32c3] postgres: panos postgres [local] SELECT(+0x424a46)[0x55ebdb62aa46] postgres: panos postgres [local] SELECT(+0x427b98)[0x55ebdb62db98] postgres: panos postgres [local] SELECT(+0x427dd3)[0x55ebdb62ddd3] postgres: panos postgres [local] SELECT(PostmasterMain+0x1141)[0x55ebdb62f38c] postgres: panos postgres [local] SELECT(main+0x226)[0x55ebdb56f86a] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f1e25e29d90] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f1e25e29e40] postgres: panos postgres [local] SELECT(_start+0x25)[0x55ebdb2cf0c5] server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: 2023-05-26 00:22:23.365 EEST [380530] LOG: server process (PID 380560) was terminated by signal 6: Aborted 2023-05-26 00:22:23.365 EEST [380530] DETAIL: Failed process was running: select * from create_graph('test_graph'); 2023-05-26 00:22:23.365 EEST [380530] LOG: terminating any other active server processes 2023-05-26 00:22:23.365 EEST [380694] FATAL: the database system is in recovery mode Failed. The connection to the server was lost. Attempting reset: Failed. !?> 2023-05-26 00:22:23.365 EEST [380530] LOG: all server processes terminated; reinitializing 2023-05-26 00:22:23.372 EEST [380695] LOG: database system was interrupted; last known up at 2023-05-26 00:22:08 EEST 2023-05-26 00:22:23.454 EEST [380695] LOG: database system was not properly shut down; automatic recovery in progress 2023-05-26 00:22:23.457 EEST [380695] LOG: redo starts at 0/1616418 2023-05-26 00:22:23.457 EEST [380695] LOG: invalid record length at 0/1616450: wanted 24, got 0 2023-05-26 00:22:23.457 EEST [380695] LOG: redo done at 0/1616418 system usage: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s 2023-05-26 00:22:23.462 EEST [380696] LOG: checkpoint starting: end-of-recovery immediate wait 2023-05-26 00:22:23.471 EEST [380696] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.004 s, sync=0.002 s, total=0.011 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB 2023-05-26 00:22:23.475 EEST [380530] LOG: database system is ready to accept connections
内容的提问来源于stack exchange,提问作者Panagiotis Foliadis
相关产品推荐
相关产品推荐

