You can subscribe to this list here.
2012 |
Jan
(2) |
Feb
|
Mar
|
Apr
(7) |
May
(27) |
Jun
(15) |
Jul
(11) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(5) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2013 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
(10) |
Oct
(19) |
Nov
(34) |
Dec
(6) |
2014 |
Jan
(31) |
Feb
(2) |
Mar
(4) |
Apr
|
May
(3) |
Jun
(6) |
Jul
(10) |
Aug
(2) |
Sep
|
Oct
|
Nov
(9) |
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Koichi S. <koi...@gm...> - 2014-01-10 01:34:36
|
Here's the patch. It passes regressions. BTW, I'm afraid we may need similar fix to other part of gtm-related code. At present, GTM requires backend's GXID to obtain a snapshot, which may not be needed, especially for read-only TXNs. In the next chance of code clean-up, we might better consider to remove this requirement, or allow invalid gxid (zero value) to eliminate this case and to save GXID value. This is a better fix for the issue. Other thoughts? Regards; --- Koichi Suzuki 2014/1/10 ZhangJulian <jul...@ou...>: > Hi Mason, > > > > I am very glad to know the fix could pass your review. I will continue > focusing and working on the amazing product. > > It is the first time I wrote the mail to the mail group, next time, I will > append the regression test result and the patch as the attachments. :) > > > > Thanks > > > ________________________________ > Date: Thu, 9 Jan 2014 09:49:22 -0500 > Subject: Re: [Postgres-xc-bugs] A bug and related fix: Dead lock when > testing TPCC on PGXC by HammerDB > From: ms...@tr... > To: jul...@ou... > CC: mic...@gm...; ash...@en...; > pos...@li... > > > > On Thu, Jan 9, 2014 at 12:27 AM, Ashutosh Bapat > <ash...@en...> wrote: > > A patch is a patch! You can not expect people to pull code out of email and > try it out. > > Also, we need regression results with the patch, which are absent in the > mail. > > > > Julian, please do not be discouraged. I appreciate you taking the time to > participate in the list and send along a patch, and I hope that you continue > to do so in order for us to grow the Postgres-XC community. > > To make it a little easier for everyone, in the future please include the > patch as an attachment if you can. > > Thanks much, > > > -- > Mason Sharp > > TransLattice - http://www.translattice.com > Distributed and Clustered Database Solutions > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > |
From: ZhangJulian <jul...@ou...> - 2014-01-10 01:24:26
|
Hi Mason, I am very glad to know the fix could pass your review. I will continue focusing and working on the amazing product. It is the first time I wrote the mail to the mail group, next time, I will append the regression test result and the patch as the attachments. :) Thanks Date: Thu, 9 Jan 2014 09:49:22 -0500 Subject: Re: [Postgres-xc-bugs] A bug and related fix: Dead lock when testing TPCC on PGXC by HammerDB From: ms...@tr... To: jul...@ou... CC: mic...@gm...; ash...@en...; pos...@li... On Thu, Jan 9, 2014 at 12:27 AM, Ashutosh Bapat <ash...@en...> wrote: A patch is a patch! You can not expect people to pull code out of email and try it out. Also, we need regression results with the patch, which are absent in the mail. Julian, please do not be discouraged. I appreciate you taking the time to participate in the list and send along a patch, and I hope that you continue to do so in order for us to grow the Postgres-XC community. To make it a little easier for everyone, in the future please include the patch as an attachment if you can. Thanks much, -- Mason Sharp TransLattice - http://www.translattice.com Distributed and Clustered Database Solutions |
From: Koichi S. <koi...@gm...> - 2014-01-09 15:48:25
|
Don't worry. I made a patch from Julian's info. Sorry it's in my office so I will post this Friday morning in my time. Hope this fixes several relevant transaction management problems. Regards; --- Koichi Suzuki 2014/1/9 Mason Sharp <ms...@tr...>: > > On Thu, Jan 9, 2014 at 12:27 AM, Ashutosh Bapat > <ash...@en...> wrote: >> >> A patch is a patch! You can not expect people to pull code out of email >> and try it out. >> >> Also, we need regression results with the patch, which are absent in the >> mail. >> >> > > Julian, please do not be discouraged. I appreciate you taking the time to > participate in the list and send along a patch, and I hope that you continue > to do so in order for us to grow the Postgres-XC community. > > To make it a little easier for everyone, in the future please include the > patch as an attachment if you can. > > Thanks much, > > > -- > Mason Sharp > > TransLattice - http://www.translattice.com > Distributed and Clustered Database Solutions > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > |
From: Mason S. <ms...@tr...> - 2014-01-09 14:49:29
|
On Thu, Jan 9, 2014 at 12:27 AM, Ashutosh Bapat < ash...@en...> wrote: > A patch is a patch! You can not expect people to pull code out of email > and try it out. > > Also, we need regression results with the patch, which are absent in the > mail. > > > Julian, please do not be discouraged. I appreciate you taking the time to participate in the list and send along a patch, and I hope that you continue to do so in order for us to grow the Postgres-XC community. To make it a little easier for everyone, in the future please include the patch as an attachment if you can. Thanks much, -- Mason Sharp TransLattice - http://www.translattice.com Distributed and Clustered Database Solutions |
From: Michael P. <mic...@gm...> - 2014-01-09 06:32:07
|
On Thu, Jan 9, 2014 at 3:17 PM, Koichi Suzuki <koi...@gm...> wrote: > If I'm right, then the patch should go to all the releases. As much > as I tested with REL1_0_STABLE and REL1_1_STABLE, it does not affect > any of the regression tests. Also this looks good to go to the > master and REL1_2_STABLE, which is under preparation. Agreed. -- Michael |
From: Koichi S. <koi...@gm...> - 2014-01-09 06:17:20
|
I understand that PG may need this additional call to make request to GTM. GTM requires calling backend's transaction ID. If I'm right, then the patch should go to all the releases. As much as I tested with REL1_0_STABLE and REL1_1_STABLE, it does not affect any of the regression tests. Also this looks good to go to the master and REL1_2_STABLE, which is under preparation. Any more inputs? --- Koichi Suzuki 2014/1/9 Koichi Suzuki <koi...@gm...>: > I understand this. If the code is specific to XC, we should enclose > the additional line with #ifdef PGXC --- #endif. > > Regards; > --- > Koichi Suzuki > > > 2014/1/9 Michael Paquier <mic...@gm...>: >> On Thu, Jan 9, 2014 at 2:33 PM, Koichi Suzuki <koi...@gm...> wrote: >>> Thanks a lot for the analysis and the patch. >>> >>> The patch is not for XC-specific code. Do you think the patch should >>> go to PG as well? >> No. The code path taken in the first section is exclusive to XC: it >> uses an internal 2PC. IMO the patch is fine as I recall (some >> souvenir, feel free to correct me) that in this code path a >> transaction ID is already assigned, so GetTopTransactionId is not >> going to call GTM. >> Regards, >> -- >> Michael |
From: Koichi S. <koi...@gm...> - 2014-01-09 06:04:07
|
I understand this. If the code is specific to XC, we should enclose the additional line with #ifdef PGXC --- #endif. Regards; --- Koichi Suzuki 2014/1/9 Michael Paquier <mic...@gm...>: > On Thu, Jan 9, 2014 at 2:33 PM, Koichi Suzuki <koi...@gm...> wrote: >> Thanks a lot for the analysis and the patch. >> >> The patch is not for XC-specific code. Do you think the patch should >> go to PG as well? > No. The code path taken in the first section is exclusive to XC: it > uses an internal 2PC. IMO the patch is fine as I recall (some > souvenir, feel free to correct me) that in this code path a > transaction ID is already assigned, so GetTopTransactionId is not > going to call GTM. > Regards, > -- > Michael |
From: Michael P. <mic...@gm...> - 2014-01-09 05:44:08
|
On Thu, Jan 9, 2014 at 2:33 PM, Koichi Suzuki <koi...@gm...> wrote: > Thanks a lot for the analysis and the patch. > > The patch is not for XC-specific code. Do you think the patch should > go to PG as well? No. The code path taken in the first section is exclusive to XC: it uses an internal 2PC. IMO the patch is fine as I recall (some souvenir, feel free to correct me) that in this code path a transaction ID is already assigned, so GetTopTransactionId is not going to call GTM. Regards, -- Michael |
From: Koichi S. <koi...@gm...> - 2014-01-09 05:33:58
|
Thanks a lot for the analysis and the patch. The patch is not for XC-specific code. Do you think the patch should go to PG as well? Regards; --- Koichi Suzuki 2014/1/9 张仲良 <jul...@ou...>: > Your name : Julian > > Your email address : jul...@ou... > > > > > > System Configuration: > > --------------------- > > Architecture (example: Intel Pentium) : Intel Pentium > > > > Operating System (example: Linux 2.4.18) : 2.6.32-358.el6.x86_64 > > > > Postgres-XC version (example: Postgres-XC 1.1devel): Github master > > > > Compiler used (example: gcc 3.3.5) : gcc (GCC) 4.4.7 > 20120313 (Red Hat 4.4.7-3) > > > > > > Please enter a FULL description of your problem: > > ------------------------------------------------ > > When testing tpcc (100 warehouses) on PGXC using HammerDB with 20 > concurrent users, about 2 minutes later, all the sessions are blocked by > acquiring the TwoPhaseStateLock: > > execute direct on (datanode2) $$select * from pg_stat_activity where state > != 'idle' order by query_start$$; > datid | pid | query_start | > query > -------+-------+------------------------------+ > -------------------------------------------------------------------------- > 16384 | 19392 |2014-01-08 14:24:24.274622+08 | autovacuum: VACUUM ANALYZE > public.stock > 16384 | 19384 |2014-01-08 14:25:49.073815+08 | PREPARE TRANSACTION 'T27146' > 16384 | 19383 |2014-01-08 14:25:49.084483+08 | COMMIT PREPARED 'T27077' > 16384 | 19382 |2014-01-08 14:25:49.087827+08 | COMMIT PREPARED 'T27052' > 16384 | 19385 |2014-01-08 14:25:49.109279+08 | COMMIT PREPARED 'T27118' > 16384 | 19373 |2014-01-08 14:25:49.114323+08 | COMMIT PREPARED 'T27111' > 16384 | 19372 |2014-01-08 14:25:49.114784+08 | COMMIT PREPARED 'T27063' > 16384 | 19376 |2014-01-08 14:25:49.131651+08 | COMMIT PREPARED 'T27102' > 16384 | 19371 |2014-01-08 14:25:49.147467+08 | COMMIT PREPARED 'T27023' > 16384 | 19374 |2014-01-08 14:25:49.156297+08 | COMMIT PREPARED 'T27123' > 16384 | 19386 |2014-01-08 14:25:49.168084+08 | COMMIT PREPARED 'T27128' > 16384 | 19389 |2014-01-08 14:25:49.179543+08 | PREPARE TRANSACTION 'T27161' > 16384 | 19380 |2014-01-08 14:25:49.222886+08 | COMMIT PREPARED 'T27083' > 16384 | 19377 |2014-01-08 14:25:49.373674+08 | PREPARE TRANSACTION 'T27178' > 16384 | 19388 |2014-01-08 14:25:49.386222+08 | PREPARE TRANSACTION 'T27180' > 16384 | 19378 |2014-01-08 14:25:49.493811+08 | PREPARE TRANSACTION 'T27176' > 16384 | 19381 |2014-01-08 14:25:49.662885+08 | PREPARE TRANSACTION 'T27148' > 16384 | 19375 |2014-01-08 14:25:49.680977+08 | PREPARE TRANSACTION 'T27156' > 16384 | 19387 |2014-01-08 14:25:49.744282+08 | PREPARE TRANSACTION 'T27157' > 16384 | 19370 |2014-01-08 14:25:49.7463+08 | PREPARE TRANSACTION 'T27173' > 16384 | 19379 |2014-01-08 14:25:49.866666+08 | PREPARE TRANSACTION 'T27171' > 16384 | 18687 |2014-01-08 14:30:46.506894+08 | select * from > pg_stat_activity where state != 'idle' order by query_start > (22 rows) > > One of the sessions has the stack as below: > > #0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6 > #1 0x00000000006d9d7a in PGSemaphoreLock (sema=0x7faf6078c490, > interruptOK=0 '\000') at pg_sema.c:415 > #2 0x000000000072dce3 in LWLockAcquire (lockid=TwoPhaseStateLock, > mode=LW_EXCLUSIVE) at lwlock.c:474 > #3 0x00000000004adae4 in MarkAsPreparing (xid=69984, gid=0xe9f060 "T69983", > prepared_at=442376096193723, owner=10, databaseid=16450) at twophase.c:267 > #4 0x00000000004a567a in PrepareTransaction () at xact.c:2684 > #5 0x00000000004a5e55 in CommitTransactionCommand () at xact.c:3248 > #6 0x000000000073d025 in finish_xact_command () at postgres.c:2551 > #7 0x000000000073ac89 in exec_simple_query (query_string=0xd7bc60 "PREPARE > TRANSACTION 'T69983'") at postgres.c:1159 > #8 0x000000000073f018 in PostgresMain (argc=2, argv=0xd63828, > username=0xd636b0 "zhangzl") at postgres.c:4212 > #9 0x00000000006eafca in BackendRun (port=0xd86960) at postmaster.c:3803 > #10 0x00000000006ea6b9 in BackendStartup (port=0xd86960) at > postmaster.c:3488 > #11 0x00000000006e7473 in ServerLoop () at postmaster.c:1466 > #12 0x00000000006e6e7c in PostmasterMain (argc=5, argv=0xd61870) at > postmaster.c:1226 > #13 0x0000000000650b1d in main (argc=5, argv=0xd61870) at main.c:199 > > > > But the session holding the TwoPhaseStatLock is blocked at: > > (gdb) bt > #0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6 > #1 0x00000000006d9e1a in PGSemaphoreLock (sema=0x7f103f857b90, > interruptOK=1 '\001') at pg_sema.c:415 > #2 0x000000000072b15d in ProcSleep (locallock=0x1712650, > lockMethodTable=0x9dcb20) at proc.c:1086 > #3 0x0000000000726566 in WaitOnLock (locallock=0x1712650, owner=0x179ed40) > at lock.c:1537 > #4 0x00000000007258be in LockAcquireExtendedXC (locktag=0x7fff84dca5b0, > lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 > '\001', only_increment=0 '\000') at lock.c:914 > #5 0x0000000000724fcd in LockAcquireExtended (locktag=0x7fff84dca5b0, > lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 > '\001') at lock.c:616 > #6 0x0000000000724f36 in LockAcquire (locktag=0x7fff84dca5b0, lockmode=7, > sessionLock=0 '\000', dontWait=0 '\000') at lock.c:575 > #7 0x0000000000724665 in XactLockTableInsert (xid=25010) at lmgr.c:433 > #8 0x00000000004a390c in AssignTransactionId (s=0xcbd9c0) at xact.c:619 > #9 0x00000000004a3657 in GetTopTransactionId () at xact.c:429 > #10 0x00000000004ae2e7 in LockGXact (gid=0x170e3a8 "T24965", user=10) at > twophase.c:460 > #11 0x00000000004afa05 in FinishPreparedTransaction (gid=0x170e3a8 "T24965", > isCommit=1 '\001') at twophase.c:1298 > #12 0x0000000000742fa6 in standard_ProcessUtility (parsetree=0x170e3c0, > queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 > '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 > "") at utility.c:520 > #13 0x0000000000742c10 in ProcessUtility (parsetree=0x170e3c0, > queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 > '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 > "") at utility.c:377 > #14 0x0000000000741b9b in PortalRunUtility (portal=0x1713330, > utilityStmt=0x170e3c0, isTopLevel=1 '\001', dest=0x170e700, > completionTag=0x7fff84dcaee0 "") at pquery.c:1284 > #15 0x0000000000741dc8 in PortalRunMulti (portal=0x1713330, isTopLevel=1 > '\001', dest=0x170e700, altdest=0x170e700, completionTag=0x7fff84dcaee0 "") > at pquery.c:1431 > #16 0x000000000074126f in PortalRun (portal=0x1713330, > count=9223372036854775807, isTopLevel=1 '\001', dest=0x170e700, > altdest=0x170e700, completionTag=0x7fff84dcaee0 "") at pquery.c:881 > #17 0x000000000073ae2d in exec_simple_query (query_string=0x170d9e0 "COMMIT > PREPARED 'T24965'") at postgres.c:1142 > #18 0x000000000073f1f0 in PostgresMain (argc=2, argv=0x16f55a8, > username=0x16f5430 "zhangzl") at postgres.c:4212 > #19 0x00000000006eb06a in BackendRun (port=0x17186b0) at postmaster.c:3803 > #20 0x00000000006ea759 in BackendStartup (port=0x17186b0) at > postmaster.c:3488 > #21 0x00000000006e7513 in ServerLoop () at postmaster.c:1466 > #22 0x00000000006e6f1c in PostmasterMain (argc=5, argv=0x16f3610) at > postmaster.c:1226 > #23 0x0000000000650bbd in main (argc=5, argv=0x16f3610) at main.c:199 > > > > > > Please describe a way to repeat the problem. Please try to provide a > > concise reproducible example, if at all possible: > > ---------------------------------------------------------------------- > > Run a TPCC test tool named HammerDB, create a workload with 100 warehouses, > run tpcc tests with 20 users. > > > > > > > > > If you know how this problem might be fixed, list the solution below: > > --------------------------------------------------------------------- > > According to the stack of the session which holds the TwoPhaseStateLock, the > error is in the function of > LockGXact: > > static GlobalTransaction > LockGXact(const char *gid, Oid user) > { > ...... > LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > > for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > { > ...... > gxact->locking_xid = GetTopTransactionId(); > > LWLockRelease(TwoPhaseStateLock); > > return gxact; > } > > LWLockRelease(TwoPhaseStateLock); > ...... > } > > > GetTopTransactionId() is blocked by acquiring another lock, but it is > invoked between the TwoPhaseStatLock's Acquire and Release. > > To fix it, I just call GetTopTransactionId() before > "LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE)" to enable the > TopTransactionId can be got directly later. > > diff --git a/src/backend/access/transam/twophase.c > b/src/backend/access/transam/twophase.c > index c39d9e6..1312e88 100644 > --- a/src/backend/access/transam/twophase.c > +++ b/src/backend/access/transam/twophase.c > @@ -414,6 +414,8 @@ LockGXact(const char *gid, Oid user) > { > int i; > > + GetTopTransactionId(); > + > LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > > for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > > > Any commiter can help to review it and commit it to the Github master > branch? > > > Thanks > > Julian > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > |
From: Ashutosh B. <ash...@en...> - 2014-01-09 05:27:59
|
A patch is a patch! You can not expect people to pull code out of email and try it out. Also, we need regression results with the patch, which are absent in the mail. On Thu, Jan 9, 2014 at 10:52 AM, Michael Paquier <mic...@gm...>wrote: > >> According to the stack of the session which holds the TwoPhaseStateLock, > >> the error is in the function of > >> LockGXact: > >> > >> static GlobalTransaction > >> LockGXact(const char *gid, Oid user) > >> { > >> ...... > >> LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > >> > >> for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > >> { > >> ...... > >> gxact->locking_xid = GetTopTransactionId(); > >> > >> LWLockRelease(TwoPhaseStateLock); > >> > >> return gxact; > >> } > >> > >> LWLockRelease(TwoPhaseStateLock); > >> ...... > >> } > >> > >> > >> GetTopTransactionId() is blocked by acquiring another lock, but it is > >> invoked between the TwoPhaseStatLock's Acquire and Release. > >> > >> To fix it, I just call GetTopTransactionId() before > >> "LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE)" to enable the > >> TopTransactionId can be got directly later. > >> > >> diff --git a/src/backend/access/transam/twophase.c > >> b/src/backend/access/transam/twophase.c > >> index c39d9e6..1312e88 100644 > >> --- a/src/backend/access/transam/twophase.c > >> +++ b/src/backend/access/transam/twophase.c > >> @@ -414,6 +414,8 @@ LockGXact(const char *gid, Oid user) > >> { > >> int i; > >> > >> + GetTopTransactionId(); > >> + > >> LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > >> > >> for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > >> > >> > >> Any commiter can help to review it and commit it to the Github master > >> branch? > > Can you please provide and patch, which fixes this problem? > The patch is a one-line fix and is in the email content... There is > even an analysis and backtraces. There is enough content to review it. > Regards, > -- > Michael > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company |
From: Michael P. <mic...@gm...> - 2014-01-09 05:22:52
|
>> According to the stack of the session which holds the TwoPhaseStateLock, >> the error is in the function of >> LockGXact: >> >> static GlobalTransaction >> LockGXact(const char *gid, Oid user) >> { >> ...... >> LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); >> >> for (i = 0; i < TwoPhaseState->numPrepXacts; i++) >> { >> ...... >> gxact->locking_xid = GetTopTransactionId(); >> >> LWLockRelease(TwoPhaseStateLock); >> >> return gxact; >> } >> >> LWLockRelease(TwoPhaseStateLock); >> ...... >> } >> >> >> GetTopTransactionId() is blocked by acquiring another lock, but it is >> invoked between the TwoPhaseStatLock's Acquire and Release. >> >> To fix it, I just call GetTopTransactionId() before >> "LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE)" to enable the >> TopTransactionId can be got directly later. >> >> diff --git a/src/backend/access/transam/twophase.c >> b/src/backend/access/transam/twophase.c >> index c39d9e6..1312e88 100644 >> --- a/src/backend/access/transam/twophase.c >> +++ b/src/backend/access/transam/twophase.c >> @@ -414,6 +414,8 @@ LockGXact(const char *gid, Oid user) >> { >> int i; >> >> + GetTopTransactionId(); >> + >> LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); >> >> for (i = 0; i < TwoPhaseState->numPrepXacts; i++) >> >> >> Any commiter can help to review it and commit it to the Github master >> branch? > Can you please provide and patch, which fixes this problem? The patch is a one-line fix and is in the email content... There is even an analysis and backtraces. There is enough content to review it. Regards, -- Michael |
From: Ashutosh B. <ash...@en...> - 2014-01-09 03:43:16
|
Hi Julian, Can you please provide and patch, which fixes this problem? On Thu, Jan 9, 2014 at 8:09 AM, 张仲良 <jul...@ou...> wrote: > Your name : Julian > > Your email address : jul...@ou... > > > > > > System Configuration: > > --------------------- > > Architecture (example: Intel Pentium) : Intel Pentium > > > > Operating System (example: Linux 2.4.18) : 2.6.32-358.el6.x86_64 > > > > Postgres-XC version (example: Postgres-XC 1.1devel): Github master > > > > Compiler used (example: gcc 3.3.5) : gcc (GCC) 4.4.7 > 20120313 (Red Hat 4.4.7-3) > > > > > > Please enter a FULL description of your problem: > > ------------------------------------------------ > > When testing tpcc (100 warehouses) on PGXC using HammerDB with 20 > concurrent users, about 2 minutes later, all the sessions are blocked by > acquiring the TwoPhaseStateLock: > > execute direct on (datanode2) $$select * from pg_stat_activity where state > != 'idle' order by query_start$$; > datid | pid | query_start > | query > -------+-------+------------------------------+ > -------------------------------------------------------------------------- > 16384 | 19392 |2014-01-08 14:24:24.274622+08 | autovacuum: VACUUM ANALYZE > public.stock > 16384 | 19384 |2014-01-08 14:25:49.073815+08 | PREPARE TRANSACTION > 'T27146' > 16384 | 19383 |2014-01-08 14:25:49.084483+08 | COMMIT PREPARED 'T27077' > 16384 | 19382 |2014-01-08 14:25:49.087827+08 | COMMIT PREPARED 'T27052' > 16384 | 19385 |2014-01-08 14:25:49.109279+08 | COMMIT PREPARED 'T27118' > 16384 | 19373 |2014-01-08 14:25:49.114323+08 | COMMIT PREPARED 'T27111' > 16384 | 19372 |2014-01-08 14:25:49.114784+08 | COMMIT PREPARED 'T27063' > 16384 | 19376 |2014-01-08 14:25:49.131651+08 | COMMIT PREPARED 'T27102' > 16384 | 19371 |2014-01-08 14:25:49.147467+08 | COMMIT PREPARED 'T27023' > 16384 | 19374 |2014-01-08 14:25:49.156297+08 | COMMIT PREPARED 'T27123' > 16384 | 19386 |2014-01-08 14:25:49.168084+08 | COMMIT PREPARED 'T27128' > 16384 | 19389 |2014-01-08 14:25:49.179543+08 | PREPARE TRANSACTION > 'T27161' > 16384 | 19380 |2014-01-08 14:25:49.222886+08 | COMMIT PREPARED 'T27083' > 16384 | 19377 |2014-01-08 14:25:49.373674+08 | PREPARE TRANSACTION > 'T27178' > 16384 | 19388 |2014-01-08 14:25:49.386222+08 | PREPARE TRANSACTION > 'T27180' > 16384 | 19378 |2014-01-08 14:25:49.493811+08 | PREPARE TRANSACTION > 'T27176' > 16384 | 19381 |2014-01-08 14:25:49.662885+08 | PREPARE TRANSACTION > 'T27148' > 16384 | 19375 |2014-01-08 14:25:49.680977+08 | PREPARE TRANSACTION > 'T27156' > 16384 | 19387 |2014-01-08 14:25:49.744282+08 | PREPARE TRANSACTION > 'T27157' > 16384 | 19370 |2014-01-08 14:25:49.7463+08 | PREPARE TRANSACTION > 'T27173' > 16384 | 19379 |2014-01-08 14:25:49.866666+08 | PREPARE TRANSACTION > 'T27171' > 16384 | 18687 |2014-01-08 14:30:46.506894+08 | select * from > pg_stat_activity where state != 'idle' order by query_start > (22 rows) > > One of the sessions has the stack as below: > #0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6 > #1 0x00000000006d9d7a in PGSemaphoreLock (sema=0x7faf6078c490, > interruptOK=0 '\000') at pg_sema.c:415 > #2 0x000000000072dce3 in LWLockAcquire (lockid=TwoPhaseStateLock, > mode=LW_EXCLUSIVE) at lwlock.c:474 > #3 0x00000000004adae4 in MarkAsPreparing (xid=69984, gid=0xe9f060 > "T69983", prepared_at=442376096193723, owner=10, databaseid=16450) at > twophase.c:267 > #4 0x00000000004a567a in PrepareTransaction () at xact.c:2684 > #5 0x00000000004a5e55 in CommitTransactionCommand () at xact.c:3248 > #6 0x000000000073d025 in finish_xact_command () at postgres.c:2551 > #7 0x000000000073ac89 in exec_simple_query (query_string=0xd7bc60 > "PREPARE TRANSACTION 'T69983'") at postgres.c:1159 > #8 0x000000000073f018 in PostgresMain (argc=2, argv=0xd63828, > username=0xd636b0 "zhangzl") at postgres.c:4212 > #9 0x00000000006eafca in BackendRun (port=0xd86960) at postmaster.c:3803 > #10 0x00000000006ea6b9 in BackendStartup (port=0xd86960) at > postmaster.c:3488 > #11 0x00000000006e7473 in ServerLoop () at postmaster.c:1466 > #12 0x00000000006e6e7c in PostmasterMain (argc=5, argv=0xd61870) at > postmaster.c:1226 > #13 0x0000000000650b1d in main (argc=5, argv=0xd61870) at main.c:199 > > > > But the session holding the TwoPhaseStatLock is blocked at: > (gdb) bt > #0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6 > #1 0x00000000006d9e1a in PGSemaphoreLock (sema=0x7f103f857b90, > interruptOK=1 '\001') at pg_sema.c:415 > #2 0x000000000072b15d in ProcSleep (locallock=0x1712650, > lockMethodTable=0x9dcb20) at proc.c:1086 > #3 0x0000000000726566 in WaitOnLock (locallock=0x1712650, > owner=0x179ed40) at lock.c:1537 > #4 0x00000000007258be in LockAcquireExtendedXC (locktag=0x7fff84dca5b0, > lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 > '\001', only_increment=0 '\000') at lock.c:914 > #5 0x0000000000724fcd in LockAcquireExtended (locktag=0x7fff84dca5b0, > lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 > '\001') at lock.c:616 > #6 0x0000000000724f36 in LockAcquire (locktag=0x7fff84dca5b0, lockmode=7, > sessionLock=0 '\000', dontWait=0 '\000') at lock.c:575 > #7 0x0000000000724665 in XactLockTableInsert (xid=25010) at lmgr.c:433 > #8 0x00000000004a390c in AssignTransactionId (s=0xcbd9c0) at xact.c:619 > #9 0x00000000004a3657 in GetTopTransactionId () at xact.c:429 > #10 0x00000000004ae2e7 in LockGXact (gid=0x170e3a8 "T24965", user=10) at > twophase.c:460 > #11 0x00000000004afa05 in FinishPreparedTransaction (gid=0x170e3a8 > "T24965", isCommit=1 '\001') at twophase.c:1298 > #12 0x0000000000742fa6 in standard_ProcessUtility (parsetree=0x170e3c0, > queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 > '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 > "") at utility.c:520 > #13 0x0000000000742c10 in ProcessUtility (parsetree=0x170e3c0, > queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 > '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 > "") at utility.c:377 > #14 0x0000000000741b9b in PortalRunUtility (portal=0x1713330, > utilityStmt=0x170e3c0, isTopLevel=1 '\001', dest=0x170e700, > completionTag=0x7fff84dcaee0 "") at pquery.c:1284 > #15 0x0000000000741dc8 in PortalRunMulti (portal=0x1713330, isTopLevel=1 > '\001', dest=0x170e700, altdest=0x170e700, completionTag=0x7fff84dcaee0 "") > at pquery.c:1431 > #16 0x000000000074126f in PortalRun (portal=0x1713330, > count=9223372036854775807, isTopLevel=1 '\001', dest=0x170e700, > altdest=0x170e700, completionTag=0x7fff84dcaee0 "") at pquery.c:881 > #17 0x000000000073ae2d in exec_simple_query (query_string=0x170d9e0 > "COMMIT PREPARED 'T24965'") at postgres.c:1142 > #18 0x000000000073f1f0 in PostgresMain (argc=2, argv=0x16f55a8, > username=0x16f5430 "zhangzl") at postgres.c:4212 > #19 0x00000000006eb06a in BackendRun (port=0x17186b0) at postmaster.c:3803 > #20 0x00000000006ea759 in BackendStartup (port=0x17186b0) at > postmaster.c:3488 > #21 0x00000000006e7513 in ServerLoop () at postmaster.c:1466 > #22 0x00000000006e6f1c in PostmasterMain (argc=5, argv=0x16f3610) at > postmaster.c:1226 > #23 0x0000000000650bbd in main (argc=5, argv=0x16f3610) at main.c:199 > > > > > > Please describe a way to repeat the problem. Please try to provide a > > concise reproducible example, if at all possible: > > ---------------------------------------------------------------------- > > Run a TPCC test tool named HammerDB, create a workload with 100 > warehouses, run tpcc tests with 20 users. > > > > > > > > > If you know how this problem might be fixed, list the solution below: > > --------------------------------------------------------------------- > > According to the stack of the session which holds the TwoPhaseStateLock, > the error is in the function of > LockGXact: > > static GlobalTransaction > LockGXact(const char *gid, Oid user) > { > ...... > LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > > for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > { > ...... > gxact->locking_xid = GetTopTransactionId(); > > LWLockRelease(TwoPhaseStateLock); > > return gxact; > } > > LWLockRelease(TwoPhaseStateLock); > ...... > } > > > GetTopTransactionId() is blocked by acquiring another lock, but it is > invoked between the TwoPhaseStatLock's Acquire and Release. > > To fix it, I just call GetTopTransactionId() before "LWLockAcquire(TwoPhaseStateLock, > LW_EXCLUSIVE)" to enable the TopTransactionId can be got directly later. > > diff --git a/src/backend/access/transam/twophase.c > b/src/backend/access/transam/twophase.c > index c39d9e6..1312e88 100644 > --- a/src/backend/access/transam/twophase.c > +++ b/src/backend/access/transam/twophase.c > @@ -414,6 +414,8 @@ LockGXact(const char *gid, Oid user) > { > int i; > > + GetTopTransactionId(); > + > LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); > > for (i = 0; i < TwoPhaseState->numPrepXacts; i++) > > > Any commiter can help to review it and commit it to the Github master > branch? > > > Thanks > > Julian > > > > > ------------------------------------------------------------------------------ > CenturyLink Cloud: The Leader in Enterprise Cloud Services. > Learn Why More Businesses Are Choosing CenturyLink Cloud For > Critical Workloads, Development Environments & Everything In Between. > Get a Quote or Start a Free Trial Today. > > http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company |
From: 张仲良 <jul...@ou...> - 2014-01-09 02:39:58
|
Your name : Julian Your email address : jul...@ou... System Configuration: --------------------- Architecture (example: Intel Pentium) : Intel Pentium Operating System (example: Linux 2.4.18) : 2.6.32-358.el6.x86_64 Postgres-XC version (example: Postgres-XC 1.1devel): Github master Compiler used (example: gcc 3.3.5) : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) Please enter a FULL description of your problem: ------------------------------------------------ When testing tpcc (100 warehouses) on PGXC using HammerDB with 20 concurrent users, about 2 minutes later, all the sessions are blocked by acquiring the TwoPhaseStateLock:execute direct on (datanode2) $$select * from pg_stat_activity where state != 'idle' order by query_start$$; datid | pid | query_start | query -------+-------+------------------------------+ -------------------------------------------------------------------------- 16384 | 19392 |2014-01-08 14:24:24.274622+08 | autovacuum: VACUUM ANALYZE public.stock 16384 | 19384 |2014-01-08 14:25:49.073815+08 | PREPARE TRANSACTION 'T27146' 16384 | 19383 |2014-01-08 14:25:49.084483+08 | COMMIT PREPARED 'T27077' 16384 | 19382 |2014-01-08 14:25:49.087827+08 | COMMIT PREPARED 'T27052' 16384 | 19385 |2014-01-08 14:25:49.109279+08 | COMMIT PREPARED 'T27118' 16384 | 19373 |2014-01-08 14:25:49.114323+08 | COMMIT PREPARED 'T27111' 16384 | 19372 |2014-01-08 14:25:49.114784+08 | COMMIT PREPARED 'T27063' 16384 | 19376 |2014-01-08 14:25:49.131651+08 | COMMIT PREPARED 'T27102' 16384 | 19371 |2014-01-08 14:25:49.147467+08 | COMMIT PREPARED 'T27023' 16384 | 19374 |2014-01-08 14:25:49.156297+08 | COMMIT PREPARED 'T27123' 16384 | 19386 |2014-01-08 14:25:49.168084+08 | COMMIT PREPARED 'T27128' 16384 | 19389 |2014-01-08 14:25:49.179543+08 | PREPARE TRANSACTION 'T27161' 16384 | 19380 |2014-01-08 14:25:49.222886+08 | COMMIT PREPARED 'T27083' 16384 | 19377 |2014-01-08 14:25:49.373674+08 | PREPARE TRANSACTION 'T27178' 16384 | 19388 |2014-01-08 14:25:49.386222+08 | PREPARE TRANSACTION 'T27180' 16384 | 19378 |2014-01-08 14:25:49.493811+08 | PREPARE TRANSACTION 'T27176' 16384 | 19381 |2014-01-08 14:25:49.662885+08 | PREPARE TRANSACTION 'T27148' 16384 | 19375 |2014-01-08 14:25:49.680977+08 | PREPARE TRANSACTION 'T27156' 16384 | 19387 |2014-01-08 14:25:49.744282+08 | PREPARE TRANSACTION 'T27157' 16384 | 19370 |2014-01-08 14:25:49.7463+08 | PREPARE TRANSACTION 'T27173' 16384 | 19379 |2014-01-08 14:25:49.866666+08 | PREPARE TRANSACTION 'T27171' 16384 | 18687 |2014-01-08 14:30:46.506894+08 | select * from pg_stat_activity where state != 'idle' order by query_start (22 rows) One of the sessions has the stack as below:#0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6#1 0x00000000006d9d7a in PGSemaphoreLock (sema=0x7faf6078c490, interruptOK=0 '\000') at pg_sema.c:415#2 0x000000000072dce3 in LWLockAcquire (lockid=TwoPhaseStateLock, mode=LW_EXCLUSIVE) at lwlock.c:474#3 0x00000000004adae4 in MarkAsPreparing (xid=69984, gid=0xe9f060 "T69983", prepared_at=442376096193723, owner=10, databaseid=16450) at twophase.c:267#4 0x00000000004a567a in PrepareTransaction () at xact.c:2684#5 0x00000000004a5e55 in CommitTransactionCommand () at xact.c:3248#6 0x000000000073d025 in finish_xact_command () at postgres.c:2551#7 0x000000000073ac89 in exec_simple_query (query_string=0xd7bc60 "PREPARE TRANSACTION 'T69983'") at postgres.c:1159#8 0x000000000073f018 in PostgresMain (argc=2, argv=0xd63828, username=0xd636b0 "zhangzl") at postgres.c:4212#9 0x00000000006eafca in BackendRun (port=0xd86960) at postmaster.c:3803#10 0x00000000006ea6b9 in BackendStartup (port=0xd86960) at postmaster.c:3488#11 0x00000000006e7473 in ServerLoop () at postmaster.c:1466#12 0x00000000006e6e7c in PostmasterMain (argc=5, argv=0xd61870) at postmaster.c:1226#13 0x0000000000650b1d in main (argc=5, argv=0xd61870) at main.c:199 But the session holding the TwoPhaseStatLock is blocked at:(gdb) bt#0 0x0000003ce42eaf37 in semop () from /lib64/libc.so.6#1 0x00000000006d9e1a in PGSemaphoreLock (sema=0x7f103f857b90, interruptOK=1 '\001') at pg_sema.c:415#2 0x000000000072b15d in ProcSleep (locallock=0x1712650, lockMethodTable=0x9dcb20) at proc.c:1086#3 0x0000000000726566 in WaitOnLock (locallock=0x1712650, owner=0x179ed40) at lock.c:1537#4 0x00000000007258be in LockAcquireExtendedXC (locktag=0x7fff84dca5b0, lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 '\001', only_increment=0 '\000') at lock.c:914#5 0x0000000000724fcd in LockAcquireExtended (locktag=0x7fff84dca5b0, lockmode=7, sessionLock=0 '\000', dontWait=0 '\000', reportMemoryError=1 '\001') at lock.c:616#6 0x0000000000724f36 in LockAcquire (locktag=0x7fff84dca5b0, lockmode=7, sessionLock=0 '\000', dontWait=0 '\000') at lock.c:575#7 0x0000000000724665 in XactLockTableInsert (xid=25010) at lmgr.c:433#8 0x00000000004a390c in AssignTransactionId (s=0xcbd9c0) at xact.c:619#9 0x00000000004a3657 in GetTopTransactionId () at xact.c:429#10 0x00000000004ae2e7 in LockGXact (gid=0x170e3a8 "T24965", user=10) at twophase.c:460#11 0x00000000004afa05 in FinishPreparedTransaction (gid=0x170e3a8 "T24965", isCommit=1 '\001') at twophase.c:1298#12 0x0000000000742fa6 in standard_ProcessUtility (parsetree=0x170e3c0, queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 "") at utility.c:520#13 0x0000000000742c10 in ProcessUtility (parsetree=0x170e3c0, queryString=0x170d9e0 "COMMIT PREPARED 'T24965'", params=0x0, isTopLevel=1 '\001', dest=0x170e700, sentToRemote=0 '\000', completionTag=0x7fff84dcaee0 "") at utility.c:377#14 0x0000000000741b9b in PortalRunUtility (portal=0x1713330, utilityStmt=0x170e3c0, isTopLevel=1 '\001', dest=0x170e700, completionTag=0x7fff84dcaee0 "") at pquery.c:1284#15 0x0000000000741dc8 in PortalRunMulti (portal=0x1713330, isTopLevel=1 '\001', dest=0x170e700, altdest=0x170e700, completionTag=0x7fff84dcaee0 "") at pquery.c:1431#16 0x000000000074126f in PortalRun (portal=0x1713330, count=9223372036854775807, isTopLevel=1 '\001', dest=0x170e700, altdest=0x170e700, completionTag=0x7fff84dcaee0 "") at pquery.c:881#17 0x000000000073ae2d in exec_simple_query (query_string=0x170d9e0 "COMMIT PREPARED 'T24965'") at postgres.c:1142#18 0x000000000073f1f0 in PostgresMain (argc=2, argv=0x16f55a8, username=0x16f5430 "zhangzl") at postgres.c:4212#19 0x00000000006eb06a in BackendRun (port=0x17186b0) at postmaster.c:3803#20 0x00000000006ea759 in BackendStartup (port=0x17186b0) at postmaster.c:3488#21 0x00000000006e7513 in ServerLoop () at postmaster.c:1466#22 0x00000000006e6f1c in PostmasterMain (argc=5, argv=0x16f3610) at postmaster.c:1226#23 0x0000000000650bbd in main (argc=5, argv=0x16f3610) at main.c:199 Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- Run a TPCC test tool named HammerDB, create a workload with 100 warehouses, run tpcc tests with 20 users. If you know how this problem might be fixed, list the solution below: --------------------------------------------------------------------- According to the stack of the session which holds the TwoPhaseStateLock, the error is in the function of LockGXact:static GlobalTransaction LockGXact(const char *gid, Oid user) { ...... LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); for (i = 0; i < TwoPhaseState->numPrepXacts; i++) { ...... gxact->locking_xid = GetTopTransactionId(); LWLockRelease(TwoPhaseStateLock); return gxact; } LWLockRelease(TwoPhaseStateLock); ...... } GetTopTransactionId() is blocked by acquiring another lock, but it is invoked between the TwoPhaseStatLock's Acquire and Release. To fix it, I just call GetTopTransactionId() before "LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE)" to enable the TopTransactionId can be got directly later. diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index c39d9e6..1312e88 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -414,6 +414,8 @@ LockGXact(const char *gid, Oid user) { int i; + GetTopTransactionId(); + LWLockAcquire(TwoPhaseStateLock, LW_EXCLUSIVE); for (i = 0; i < TwoPhaseState->numPrepXacts; i++) Any commiter can help to review it and commit it to the Github master branch? ThanksJulian |
From: Alex T. <at...@gr...> - 2013-12-31 00:01:59
|
* ============================================================================ POSTGRES-XC BUG REPORT TEMPLATE ============================================================================ Your name : alex Your email address : al...@gr... System Configuration: --------------------- Architecture : amd64 (xen) Operating System : Ubuntu 12.04.3 Postgres-XC version : Postgres-XC 1.1 Compiler used : gcc 4.6.3 Please enter a FULL description of your problem: ------------------------------------------------ initdb (and pg_ctl initdb) don't seem to be able to handle a hyphen in the nodename. I've tried a couple quoting/escaping strategies but nothing exhaustive. dev1-pgxdn0001:/data # sudo -H -u postgres-xc initdb -D /data/datanode1 -U root -W --nodename=dev1-pgxdn0001d The files belonging to this database system will be owned by user "postgres-xc". This user must also own the server process. The database cluster will be initialized with locale "en_US.UTF-8". The default database encoding has accordingly been set to "UTF8". The default text search configuration will be set to "english". creating directory /data/datanode1 ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers ... 24MB creating configuration files ... ok creating template1 database in /data/datanode1/base/1 ... ok initializing pg_authid ... ok Enter new superuser password: Enter it again: setting password ... ok initializing dependencies ... ok creating system views ... ok creating cluster information ... FATAL: syntax error at or near "-" at character 17 STATEMENT: CREATE NODE dev1-pgxdn0001d WITH (type = 'coordinator'); child process exited with exit code 1 initdb: removing data directory "/data/datanode1" When I do the same thing with nodename dev1pgxdn0001d it's fine. Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- Try to initialize a database cluster with and without hyphen in the nodename: initdb -D /tmp/test1 --nodename=with-hyphen initdb -D /tmp/test2 --nodename=no-hyphen If you know how this problem might be fixed, list the solution below: ---------------------------------------------------------------------* This should work for initdb, but I haven't checked where else SQL code references the node name unquoted, so until I (or someone) has done that audit it's probably best initdb fail than have run time failures: --- postgres-xc/src/bin/initdb/initdb.c.orig 2013-12-30 15:56:33.010544683 -0800 +++ postgres-xc/src/bin/initdb/initdb.c 2013-12-30 15:57:09.338340863 -0800 @@ -1554,7 +1554,7 @@ PG_CMD_OPEN; - PG_CMD_PRINTF1("CREATE NODE %s WITH (type = 'coordinator');\n", + PG_CMD_PRINTF1("CREATE NODE '%s' WITH (type = 'coordinator');\n", nodename); PG_CMD_CLOSE; |
From: Alex T. <at...@gr...> - 2013-12-30 17:39:16
|
Here's my configure (final form). I wasn't specifying any of the directories in the first failed and first successful builds: export CPPFLAGS="-DLINUX_OOM_SCORE_ADJ=0" ./configure --with-perl --with-openssl --with-pam --with-ldap \ --with-ossp-uuid --with-libxml --with-libxslt \ --prefix=/usr --datarootdir=/usr/share/postgres-xc \ --sysconfdir=/etc/postgres-xc --localstatedir=/var/lib/postgres-xc \ --datadir=/data For some reason configure wasn't passing "-pthread" but instead "-lpthread" to gcc on the first pass. I've also dropped the --disable-thread-safety because, once everything started finding all the libraries correctly, that wasn't necessary. So it *is* building with pthreads, but mostly because that's what configure seems to have picked up rather than a preference for them over native linux threads. I've been using them with postgres on freebsd for as long as I can remember so it didn't strike me as an issue. alex On 12/30/13, 5:37 AM, Koichi Suzuki wrote: > Could you let me know what options you specified with configure? It > seems that you're trying to use pthread. I'd like to test if it is > what you intend. > > Regards; > --- > Koichi Suzuki > > > 2013/12/27 Alex Toth <at...@gr...>: >> If this is more appropriate for the postgres-xc-developers@ list, let me >> know and I'll send it there >> >> ============================================================================ >> POSTGRES-XC BUG REPORT TEMPLATE >> ============================================================================ >> >> Your name : alex toth >> Your email address : alex (at) gravity.com >> >> >> System Configuration: >> --------------------- >> Architecture : AMD 64 >> >> Operating System : Ubuntu 12.04.3 LTS >> >> Postgres-XC version : Postgres-XC 1.1 >> >> Compiler used : gcc 4.6.3, gcc 4.4.7 >> >> >> Please enter a FULL description of your problem: >> ------------------------------------------------ >> I'm unable to build PGXC 1.1. What's odd is that several defines seem >> not to be getting passed through the make files or environment variables >> so even getting this far I had to define several things on the command line: >> >> atoth@dev1-pgxgtm0001:~/postgres-xc/src$ make FLEX=/usr/bin/flex >> LDFLAGS="-L$PWD/port -pthread" CFLAGS="-DPGXC_VERSION='\"1.1\"' >> -DPGXC_VERSION_STR='\"1.1\"' -DPGXC=1" BISON=/usr/bin/bison >> >> which leads to: >> make[2]: Leaving directory `/home/atoth/postgres-xc/src/interfaces/libpq' >> cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory >> gcc -DPGXC_VERSION='"1.1"' -DPGXC_VERSION_STR='"1.1"' -DPGXC=1 >> -L/home/atoth/postgres-xc/src/port -pthread -L../../src/gtm/libpg >> -Wl,-E access/common/heaptuple.o access/common/indextuple.o >> access/common/printtup.o access/common/reloptions.o >> access/common/scankey.o access/common/tupconvert.o >> access/common/tupdesc.o access/gist/gist.o access/gist/gistutil.o >> access/gist/gistxlog.o access/gist/gistvacuum.o access/gist/gistget.o >> access/gist/gistscan.o access/gist/gistproc.o access/gist/gistsplit.o >> access/gist/gistbuild.o access/gist/gistbuildbuffers.o >> access/hash/hash.o access/hash/hashfunc.o access/hash/hashinsert.o >> access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashscan.o >> access/hash/hashsearch.o access/hash/hashsort.o access/hash/hashutil.o >> access/heap/heapam.o access/heap/hio.o access/heap/pruneheap.o >> access/heap/rewriteheap.o access/heap/syncscan.o >> access/heap/tuptoaster.o access/heap/visibilitymap.o >> access/index/genam.o access/index/indexam.o access/nbtree/nbtcompare.o >> access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o >> access/nbtree/nbtsearch.o access/nbtree/nbtutils.o >> access/nbtree/nbtsort.o access/nbtree/nbtxlog.o access/transam/clog.o >> access/transam/transam.o access/transam/varsup.o access/transam/xact.o >> access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o >> access/transam/multixact.o access/transam/twophase.o >> access/transam/twophase_rmgr.o access/transam/xlog.o >> access/transam/xlogfuncs.o access/transam/xlogutils.o >> access/transam/gtm.o access/gin/ginutil.o access/gin/gininsert.o >> access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o >> access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o >> access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o >> access/gin/ginfast.o access/spgist/spgutils.o access/spgist/spginsert.o >> access/spgist/spgscan.o access/spgist/spgvacuum.o >> access/spgist/spgdoinsert.o access/spgist/spgxlog.o >> access/spgist/spgtextproc.o access/spgist/spgquadtreeproc.o >> access/spgist/spgkdtreeproc.o bootstrap/bootparse.o >> bootstrap/bootstrap.o catalog/catalog.o catalog/dependency.o >> catalog/heap.o catalog/index.o catalog/indexing.o catalog/namespace.o >> catalog/aclchk.o catalog/objectaddress.o catalog/pg_aggregate.o >> catalog/pg_collation.o catalog/pg_constraint.o catalog/pg_conversion.o >> catalog/pg_depend.o catalog/pg_enum.o catalog/pg_inherits.o >> catalog/pg_largeobject.o catalog/pg_namespace.o catalog/pg_operator.o >> catalog/pg_proc.o catalog/pg_range.o catalog/pg_db_role_setting.o >> catalog/pg_shdepend.o catalog/pg_type.o catalog/pgxc_class.o >> catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o >> parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o >> parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o >> parser/parse_cte.o parser/parse_expr.o parser/parse_func.o >> parser/parse_node.o parser/parse_oper.o parser/parse_param.o >> parser/parse_relation.o parser/parse_target.o parser/parse_type.o >> parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o >> commands/alter.o commands/analyze.o commands/async.o commands/cluster.o >> commands/comment.o commands/collationcmds.o commands/constraint.o >> commands/conversioncmds.o commands/copy.o commands/createas.o >> commands/dbcommands.o commands/define.o commands/discard.o >> commands/dropcmds.o commands/explain.o commands/extension.o >> commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o >> commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o >> commands/portalcmds.o commands/prepare.o commands/proclang.o >> commands/schemacmds.o commands/seclabel.o commands/sequence.o >> commands/tablecmds.o commands/tablespace.o commands/trigger.o >> commands/tsearchcmds.o commands/typecmds.o commands/user.o >> commands/vacuum.o commands/vacuumlazy.o commands/variable.o >> commands/view.o executor/execAmi.o executor/execCurrent.o >> executor/execGrouping.o executor/execJunk.o executor/execMain.o >> executor/execProcnode.o executor/execQual.o executor/execScan.o >> executor/execTuples.o executor/execUtils.o executor/functions.o >> executor/instrument.o executor/nodeAppend.o executor/nodeAgg.o >> executor/nodeBitmapAnd.o executor/nodeBitmapOr.o >> executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o >> executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o >> executor/nodeIndexonlyscan.o executor/nodeLimit.o >> executor/nodeLockRows.o executor/nodeMaterial.o >> executor/nodeMergeAppend.o executor/nodeMergejoin.o >> executor/nodeModifyTable.o executor/nodeNestloop.o >> executor/nodeFunctionscan.o executor/nodeRecursiveunion.o >> executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o >> executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o >> executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o >> executor/nodeSubplan.o executor/nodeSubqueryscan.o >> executor/nodeTidscan.o executor/nodeForeignscan.o >> executor/nodeWindowAgg.o executor/tstoreReceiver.o executor/spi.o >> foreign/foreign.o lib/dllist.o lib/stringinfo.o libpq/be-fsstubs.o >> libpq/be-secure.o libpq/auth.o libpq/crypt.o libpq/hba.o libpq/ip.o >> libpq/md5.o libpq/pqcomm.o libpq/pqformat.o libpq/pqsignal.o >> pgxc/locator/locator.o pgxc/locator/redistrib.o pgxc/pool/pgxcnode.o >> pgxc/pool/execRemote.o pgxc/pool/poolmgr.o pgxc/pool/poolcomm.o >> pgxc/pool/poolutils.o pgxc/barrier/barrier.o pgxc/nodemgr/nodemgr.o >> pgxc/nodemgr/groupmgr.o pgxc/copy/copyops.o pgxc/copy/remotecopy.o >> pgxc/xc_maintenance_mode/xc_maintenance_mode.o main/main.o >> nodes/nodeFuncs.o nodes/nodes.o nodes/list.o nodes/bitmapset.o >> nodes/tidbitmap.o nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o >> nodes/outfuncs.o nodes/readfuncs.o nodes/print.o nodes/read.o >> nodes/params.o nodes/value.o optimizer/geqo/geqo_copy.o >> optimizer/geqo/geqo_eval.o optimizer/geqo/geqo_main.o >> optimizer/geqo/geqo_misc.o optimizer/geqo/geqo_mutation.o >> optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_random.o >> optimizer/geqo/geqo_recombination.o optimizer/geqo/geqo_selection.o >> optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_pmx.o >> optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o >> optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o >> optimizer/path/allpaths.o optimizer/path/clausesel.o >> optimizer/path/costsize.o optimizer/path/equivclass.o >> optimizer/path/indxpath.o optimizer/path/joinpath.o >> optimizer/path/joinrels.o optimizer/path/orindxpath.o >> optimizer/path/pathkeys.o optimizer/path/tidpath.o >> optimizer/path/pgxcpath.o optimizer/plan/analyzejoins.o >> optimizer/plan/createplan.o optimizer/plan/initsplan.o >> optimizer/plan/planagg.o optimizer/plan/planmain.o >> optimizer/plan/planner.o optimizer/plan/setrefs.o >> optimizer/plan/subselect.o optimizer/plan/pgxcplan.o >> optimizer/prep/prepjointree.o optimizer/prep/prepqual.o >> optimizer/prep/preptlist.o optimizer/prep/prepunion.o >> optimizer/util/clauses.o optimizer/util/joininfo.o >> optimizer/util/pathnode.o optimizer/util/placeholder.o >> optimizer/util/plancat.o optimizer/util/predtest.o >> optimizer/util/relnode.o optimizer/util/restrictinfo.o >> optimizer/util/tlist.o optimizer/util/var.o optimizer/util/pgxcship.o >> port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o >> postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o >> postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o >> postmaster/startup.o postmaster/syslogger.o postmaster/walwriter.o >> postmaster/checkpointer.o regex/regcomp.o regex/regerror.o >> regex/regexec.o regex/regfree.o regex/regprefix.o >> replication/walsender.o replication/walreceiverfuncs.o >> replication/walreceiver.o replication/basebackup.o >> replication/repl_gram.o replication/syncrep.o rewrite/rewriteRemove.o >> rewrite/rewriteDefine.o rewrite/rewriteHandler.o rewrite/rewriteManip.o >> rewrite/rewriteSupport.o storage/buffer/buf_table.o >> storage/buffer/buf_init.o storage/buffer/bufmgr.o >> storage/buffer/freelist.o storage/buffer/localbuf.o storage/file/fd.o >> storage/file/buffile.o storage/file/copydir.o storage/file/reinit.o >> storage/freespace/freespace.o storage/freespace/fsmpage.o >> storage/freespace/indexfsm.o storage/ipc/ipc.o storage/ipc/ipci.o >> storage/ipc/pmsignal.o storage/ipc/procarray.o storage/ipc/procsignal.o >> storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/sinval.o >> storage/ipc/sinvaladt.o storage/ipc/standby.o >> storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o >> storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o >> storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o >> storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o >> storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o >> tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o >> tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o >> tsearch/dict.o tsearch/dict_simple.o tsearch/dict_synonym.o >> tsearch/dict_thesaurus.o tsearch/dict_ispell.o tsearch/regis.o >> tsearch/spell.o tsearch/to_tsany.o tsearch/ts_selfuncs.o >> tsearch/ts_typanalyze.o tsearch/ts_utils.o utils/adt/acl.o >> utils/adt/arrayfuncs.o utils/adt/array_selfuncs.o >> utils/adt/array_typanalyze.o utils/adt/array_userfuncs.o >> utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o >> utils/adt/char.o utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o >> utils/adt/domains.o utils/adt/enum.o utils/adt/float.o >> utils/adt/format_type.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o >> utils/adt/int.o utils/adt/int8.o utils/adt/json.o utils/adt/like.o >> utils/adt/lockfuncs.o utils/adt/misc.o utils/adt/nabstime.o >> utils/adt/name.o utils/adt/numeric.o utils/adt/numutils.o >> utils/adt/oid.o utils/adt/oracle_compat.o utils/adt/pseudotypes.o >> utils/adt/rangetypes.o utils/adt/rangetypes_gist.o utils/adt/rowtypes.o >> utils/adt/regexp.o utils/adt/regproc.o utils/adt/ruleutils.o >> utils/adt/selfuncs.o utils/adt/tid.o utils/adt/timestamp.o >> utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o >> utils/adt/version.o utils/adt/xid.o utils/adt/network.o utils/adt/mac.o >> utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o >> utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o >> utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o >> utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o >> utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o >> utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o >> utils/adt/tsquery_gist.o utils/adt/tsquery_op.o >> utils/adt/tsquery_rewrite.o utils/adt/tsquery_util.o utils/adt/tsrank.o >> utils/adt/tsvector.o utils/adt/tsvector_op.o utils/adt/tsvector_parser.o >> utils/adt/txid.o utils/adt/uuid.o utils/adt/windowfuncs.o >> utils/adt/xml.o utils/cache/attoptcache.o utils/cache/catcache.o >> utils/cache/inval.o utils/cache/plancache.o utils/cache/relcache.o >> utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o >> utils/cache/lsyscache.o utils/cache/typcache.o utils/cache/ts_cache.o >> utils/error/assert.o utils/error/elog.o utils/fmgr/dfmgr.o >> utils/fmgr/fmgr.o utils/fmgr/funcapi.o utils/hash/dynahash.o >> utils/hash/hashfn.o utils/init/globals.o utils/init/miscinit.o >> utils/init/postinit.o utils/mb/encnames.o utils/mb/conv.o >> utils/mb/mbutils.o utils/mb/wchar.o utils/mb/wstrcmp.o >> utils/mb/wstrncmp.o utils/misc/guc.o utils/misc/help_config.o >> utils/misc/pg_rusage.o utils/misc/ps_status.o utils/misc/superuser.o >> utils/misc/tzparser.o utils/misc/rbtree.o utils/mmgr/aset.o >> utils/mmgr/mcxt.o utils/mmgr/portalmem.o utils/resowner/resowner.o >> utils/sort/logtape.o utils/sort/sortsupport.o utils/sort/tuplesort.o >> utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o >> utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o >> ../../src/timezone/strftime.o ../../src/timezone/pgtz.o >> ../../src/interfaces/libpq/fe-connect.o >> ../../src/interfaces/libpq/fe-secure.o >> ../../src/interfaces/libpq/fe-misc.o >> ../../src/interfaces/libpq/fe-protocol3.o >> ../../src/interfaces/libpq/fe-protocol2.o >> ../../src/interfaces/libpq/fe-exec.o >> ../../src/interfaces/libpq/fe-auth.o >> ../../src/interfaces/libpq/pqexpbuffer.o ../../src/port/libpgport_srv.a >> ../../src/gtm/client/libgtmclient.a ../../src/gtm/common/libgtmcommon.a >> ../../src/interfaces/libpq/libpq.a -lxslt -lxml2 -lpam -lssl -lcrypto >> -lcrypt -ldl -lm -lldap -o postgres >> access/transam/xact.o: In function `AssignTransactionId': >> xact.c:(.text+0x1f0): undefined reference to `threadinfo_key' >> xact.c:(.text+0x313): undefined reference to `threadinfo_key' >> xact.c:(.text+0x34b): undefined reference to `threadinfo_key' >> xact.c:(.text+0x385): undefined reference to `threadinfo_key' >> xact.c:(.text+0x3bb): undefined reference to `threadinfo_key' >> access/transam/xact.o:xact.c:(.text+0x948): more undefined references to >> `threadinfo_key' follow >> collect2: ld returned 1 exit status >> make[1]: *** [postgres] Error 1 >> >> >> The thing is, threadinfo_key is reference several places but I'm not >> sure which one it's looking for, here, without some heavy code diving. >> The configure script did complain about autoconf not being version 2.6 >> (it's 2.63). Perhaps that's what's in the missing objfiles.txt, but >> none of the source files in that directory reference threadinfo_key so >> I'm skeptical. >> >> >> >> >> Please describe a way to repeat the problem. Please try to provide a >> concise reproducible example, if at all possible: >> ---------------------------------------------------------------------- >> Try a clean build on Ubuntu 12.04 (with its requisite >> autoconf/flex/bison. Here's my configure command: >> ./configure --with-perl --with-openssl --with-pam --with-ldap \ >> --with-ossp-uuid --with-libxml --with-libxslt >> --disable-thread-safety >> >> The last option was specifically because the configure script said I >> needed it. >> >> >> If you know how this problem might be fixed, list the solution below: >> ---------------------------------------------------------------------* >> >> >> >> ------------------------------------------------------------------------------ >> Rapidly troubleshoot problems before they affect your business. Most IT >> organizations don't have a clear picture of how application performance >> affects their revenue. With AppDynamics, you get 100% visibility into your >> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! >> http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk >> _______________________________________________ >> Postgres-xc-bugs mailing list >> Pos...@li... >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > |
From: Koichi S. <koi...@gm...> - 2013-12-30 13:37:21
|
It is very nice to know. --- Koichi Suzuki 2013/12/27 Alex Toth <at...@gr...>: > Blah. Ignore this. I "fixed" it by wiping out the postgres-xc > directory and doing a completely fresh untar/configure/make rather than > just trusting "make clean." > > > alex > > > On 12/26/13, 9:57 AM, Alex Toth wrote: >> If this is more appropriate for the postgres-xc-developers@ list, let me >> know and I'll send it there >> >> ============================================================================ >> POSTGRES-XC BUG REPORT TEMPLATE >> ============================================================================ >> >> Your name : alex toth >> Your email address : alex (at) gravity.com >> >> >> System Configuration: >> --------------------- >> Architecture : AMD 64 >> >> Operating System : Ubuntu 12.04.3 LTS >> >> Postgres-XC version : Postgres-XC 1.1 >> >> Compiler used : gcc 4.6.3, gcc 4.4.7 >> >> >> Please enter a FULL description of your problem: >> ------------------------------------------------ >> I'm unable to build PGXC 1.1. What's odd is that several defines seem >> not to be getting passed through the make files or environment variables >> so even getting this far I had to define several things on the command line: >> >> atoth@dev1-pgxgtm0001:~/postgres-xc/src$ make FLEX=/usr/bin/flex >> LDFLAGS="-L$PWD/port -pthread" CFLAGS="-DPGXC_VERSION='\"1.1\"' >> -DPGXC_VERSION_STR='\"1.1\"' -DPGXC=1" BISON=/usr/bin/bison >> >> which leads to: >> make[2]: Leaving directory `/home/atoth/postgres-xc/src/interfaces/libpq' >> cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory >> gcc -DPGXC_VERSION='"1.1"' -DPGXC_VERSION_STR='"1.1"' -DPGXC=1 >> -L/home/atoth/postgres-xc/src/port -pthread -L../../src/gtm/libpg >> -Wl,-E access/common/heaptuple.o access/common/indextuple.o >> access/common/printtup.o access/common/reloptions.o >> access/common/scankey.o access/common/tupconvert.o >> access/common/tupdesc.o access/gist/gist.o access/gist/gistutil.o >> access/gist/gistxlog.o access/gist/gistvacuum.o access/gist/gistget.o >> access/gist/gistscan.o access/gist/gistproc.o access/gist/gistsplit.o >> access/gist/gistbuild.o access/gist/gistbuildbuffers.o >> access/hash/hash.o access/hash/hashfunc.o access/hash/hashinsert.o >> access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashscan.o >> access/hash/hashsearch.o access/hash/hashsort.o access/hash/hashutil.o >> access/heap/heapam.o access/heap/hio.o access/heap/pruneheap.o >> access/heap/rewriteheap.o access/heap/syncscan.o >> access/heap/tuptoaster.o access/heap/visibilitymap.o >> access/index/genam.o access/index/indexam.o access/nbtree/nbtcompare.o >> access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o >> access/nbtree/nbtsearch.o access/nbtree/nbtutils.o >> access/nbtree/nbtsort.o access/nbtree/nbtxlog.o access/transam/clog.o >> access/transam/transam.o access/transam/varsup.o access/transam/xact.o >> access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o >> access/transam/multixact.o access/transam/twophase.o >> access/transam/twophase_rmgr.o access/transam/xlog.o >> access/transam/xlogfuncs.o access/transam/xlogutils.o >> access/transam/gtm.o access/gin/ginutil.o access/gin/gininsert.o >> access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o >> access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o >> access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o >> access/gin/ginfast.o access/spgist/spgutils.o access/spgist/spginsert.o >> access/spgist/spgscan.o access/spgist/spgvacuum.o >> access/spgist/spgdoinsert.o access/spgist/spgxlog.o >> access/spgist/spgtextproc.o access/spgist/spgquadtreeproc.o >> access/spgist/spgkdtreeproc.o bootstrap/bootparse.o >> bootstrap/bootstrap.o catalog/catalog.o catalog/dependency.o >> catalog/heap.o catalog/index.o catalog/indexing.o catalog/namespace.o >> catalog/aclchk.o catalog/objectaddress.o catalog/pg_aggregate.o >> catalog/pg_collation.o catalog/pg_constraint.o catalog/pg_conversion.o >> catalog/pg_depend.o catalog/pg_enum.o catalog/pg_inherits.o >> catalog/pg_largeobject.o catalog/pg_namespace.o catalog/pg_operator.o >> catalog/pg_proc.o catalog/pg_range.o catalog/pg_db_role_setting.o >> catalog/pg_shdepend.o catalog/pg_type.o catalog/pgxc_class.o >> catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o >> parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o >> parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o >> parser/parse_cte.o parser/parse_expr.o parser/parse_func.o >> parser/parse_node.o parser/parse_oper.o parser/parse_param.o >> parser/parse_relation.o parser/parse_target.o parser/parse_type.o >> parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o >> commands/alter.o commands/analyze.o commands/async.o commands/cluster.o >> commands/comment.o commands/collationcmds.o commands/constraint.o >> commands/conversioncmds.o commands/copy.o commands/createas.o >> commands/dbcommands.o commands/define.o commands/discard.o >> commands/dropcmds.o commands/explain.o commands/extension.o >> commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o >> commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o >> commands/portalcmds.o commands/prepare.o commands/proclang.o >> commands/schemacmds.o commands/seclabel.o commands/sequence.o >> commands/tablecmds.o commands/tablespace.o commands/trigger.o >> commands/tsearchcmds.o commands/typecmds.o commands/user.o >> commands/vacuum.o commands/vacuumlazy.o commands/variable.o >> commands/view.o executor/execAmi.o executor/execCurrent.o >> executor/execGrouping.o executor/execJunk.o executor/execMain.o >> executor/execProcnode.o executor/execQual.o executor/execScan.o >> executor/execTuples.o executor/execUtils.o executor/functions.o >> executor/instrument.o executor/nodeAppend.o executor/nodeAgg.o >> executor/nodeBitmapAnd.o executor/nodeBitmapOr.o >> executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o >> executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o >> executor/nodeIndexonlyscan.o executor/nodeLimit.o >> executor/nodeLockRows.o executor/nodeMaterial.o >> executor/nodeMergeAppend.o executor/nodeMergejoin.o >> executor/nodeModifyTable.o executor/nodeNestloop.o >> executor/nodeFunctionscan.o executor/nodeRecursiveunion.o >> executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o >> executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o >> executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o >> executor/nodeSubplan.o executor/nodeSubqueryscan.o >> executor/nodeTidscan.o executor/nodeForeignscan.o >> executor/nodeWindowAgg.o executor/tstoreReceiver.o executor/spi.o >> foreign/foreign.o lib/dllist.o lib/stringinfo.o libpq/be-fsstubs.o >> libpq/be-secure.o libpq/auth.o libpq/crypt.o libpq/hba.o libpq/ip.o >> libpq/md5.o libpq/pqcomm.o libpq/pqformat.o libpq/pqsignal.o >> pgxc/locator/locator.o pgxc/locator/redistrib.o pgxc/pool/pgxcnode.o >> pgxc/pool/execRemote.o pgxc/pool/poolmgr.o pgxc/pool/poolcomm.o >> pgxc/pool/poolutils.o pgxc/barrier/barrier.o pgxc/nodemgr/nodemgr.o >> pgxc/nodemgr/groupmgr.o pgxc/copy/copyops.o pgxc/copy/remotecopy.o >> pgxc/xc_maintenance_mode/xc_maintenance_mode.o main/main.o >> nodes/nodeFuncs.o nodes/nodes.o nodes/list.o nodes/bitmapset.o >> nodes/tidbitmap.o nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o >> nodes/outfuncs.o nodes/readfuncs.o nodes/print.o nodes/read.o >> nodes/params.o nodes/value.o optimizer/geqo/geqo_copy.o >> optimizer/geqo/geqo_eval.o optimizer/geqo/geqo_main.o >> optimizer/geqo/geqo_misc.o optimizer/geqo/geqo_mutation.o >> optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_random.o >> optimizer/geqo/geqo_recombination.o optimizer/geqo/geqo_selection.o >> optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_pmx.o >> optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o >> optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o >> optimizer/path/allpaths.o optimizer/path/clausesel.o >> optimizer/path/costsize.o optimizer/path/equivclass.o >> optimizer/path/indxpath.o optimizer/path/joinpath.o >> optimizer/path/joinrels.o optimizer/path/orindxpath.o >> optimizer/path/pathkeys.o optimizer/path/tidpath.o >> optimizer/path/pgxcpath.o optimizer/plan/analyzejoins.o >> optimizer/plan/createplan.o optimizer/plan/initsplan.o >> optimizer/plan/planagg.o optimizer/plan/planmain.o >> optimizer/plan/planner.o optimizer/plan/setrefs.o >> optimizer/plan/subselect.o optimizer/plan/pgxcplan.o >> optimizer/prep/prepjointree.o optimizer/prep/prepqual.o >> optimizer/prep/preptlist.o optimizer/prep/prepunion.o >> optimizer/util/clauses.o optimizer/util/joininfo.o >> optimizer/util/pathnode.o optimizer/util/placeholder.o >> optimizer/util/plancat.o optimizer/util/predtest.o >> optimizer/util/relnode.o optimizer/util/restrictinfo.o >> optimizer/util/tlist.o optimizer/util/var.o optimizer/util/pgxcship.o >> port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o >> postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o >> postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o >> postmaster/startup.o postmaster/syslogger.o postmaster/walwriter.o >> postmaster/checkpointer.o regex/regcomp.o regex/regerror.o >> regex/regexec.o regex/regfree.o regex/regprefix.o >> replication/walsender.o replication/walreceiverfuncs.o >> replication/walreceiver.o replication/basebackup.o >> replication/repl_gram.o replication/syncrep.o rewrite/rewriteRemove.o >> rewrite/rewriteDefine.o rewrite/rewriteHandler.o rewrite/rewriteManip.o >> rewrite/rewriteSupport.o storage/buffer/buf_table.o >> storage/buffer/buf_init.o storage/buffer/bufmgr.o >> storage/buffer/freelist.o storage/buffer/localbuf.o storage/file/fd.o >> storage/file/buffile.o storage/file/copydir.o storage/file/reinit.o >> storage/freespace/freespace.o storage/freespace/fsmpage.o >> storage/freespace/indexfsm.o storage/ipc/ipc.o storage/ipc/ipci.o >> storage/ipc/pmsignal.o storage/ipc/procarray.o storage/ipc/procsignal.o >> storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/sinval.o >> storage/ipc/sinvaladt.o storage/ipc/standby.o >> storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o >> storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o >> storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o >> storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o >> storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o >> tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o >> tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o >> tsearch/dict.o tsearch/dict_simple.o tsearch/dict_synonym.o >> tsearch/dict_thesaurus.o tsearch/dict_ispell.o tsearch/regis.o >> tsearch/spell.o tsearch/to_tsany.o tsearch/ts_selfuncs.o >> tsearch/ts_typanalyze.o tsearch/ts_utils.o utils/adt/acl.o >> utils/adt/arrayfuncs.o utils/adt/array_selfuncs.o >> utils/adt/array_typanalyze.o utils/adt/array_userfuncs.o >> utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o >> utils/adt/char.o utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o >> utils/adt/domains.o utils/adt/enum.o utils/adt/float.o >> utils/adt/format_type.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o >> utils/adt/int.o utils/adt/int8.o utils/adt/json.o utils/adt/like.o >> utils/adt/lockfuncs.o utils/adt/misc.o utils/adt/nabstime.o >> utils/adt/name.o utils/adt/numeric.o utils/adt/numutils.o >> utils/adt/oid.o utils/adt/oracle_compat.o utils/adt/pseudotypes.o >> utils/adt/rangetypes.o utils/adt/rangetypes_gist.o utils/adt/rowtypes.o >> utils/adt/regexp.o utils/adt/regproc.o utils/adt/ruleutils.o >> utils/adt/selfuncs.o utils/adt/tid.o utils/adt/timestamp.o >> utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o >> utils/adt/version.o utils/adt/xid.o utils/adt/network.o utils/adt/mac.o >> utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o >> utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o >> utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o >> utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o >> utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o >> utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o >> utils/adt/tsquery_gist.o utils/adt/tsquery_op.o >> utils/adt/tsquery_rewrite.o utils/adt/tsquery_util.o utils/adt/tsrank.o >> utils/adt/tsvector.o utils/adt/tsvector_op.o utils/adt/tsvector_parser.o >> utils/adt/txid.o utils/adt/uuid.o utils/adt/windowfuncs.o >> utils/adt/xml.o utils/cache/attoptcache.o utils/cache/catcache.o >> utils/cache/inval.o utils/cache/plancache.o utils/cache/relcache.o >> utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o >> utils/cache/lsyscache.o utils/cache/typcache.o utils/cache/ts_cache.o >> utils/error/assert.o utils/error/elog.o utils/fmgr/dfmgr.o >> utils/fmgr/fmgr.o utils/fmgr/funcapi.o utils/hash/dynahash.o >> utils/hash/hashfn.o utils/init/globals.o utils/init/miscinit.o >> utils/init/postinit.o utils/mb/encnames.o utils/mb/conv.o >> utils/mb/mbutils.o utils/mb/wchar.o utils/mb/wstrcmp.o >> utils/mb/wstrncmp.o utils/misc/guc.o utils/misc/help_config.o >> utils/misc/pg_rusage.o utils/misc/ps_status.o utils/misc/superuser.o >> utils/misc/tzparser.o utils/misc/rbtree.o utils/mmgr/aset.o >> utils/mmgr/mcxt.o utils/mmgr/portalmem.o utils/resowner/resowner.o >> utils/sort/logtape.o utils/sort/sortsupport.o utils/sort/tuplesort.o >> utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o >> utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o >> ../../src/timezone/strftime.o ../../src/timezone/pgtz.o >> ../../src/interfaces/libpq/fe-connect.o >> ../../src/interfaces/libpq/fe-secure.o >> ../../src/interfaces/libpq/fe-misc.o >> ../../src/interfaces/libpq/fe-protocol3.o >> ../../src/interfaces/libpq/fe-protocol2.o >> ../../src/interfaces/libpq/fe-exec.o >> ../../src/interfaces/libpq/fe-auth.o >> ../../src/interfaces/libpq/pqexpbuffer.o ../../src/port/libpgport_srv.a >> ../../src/gtm/client/libgtmclient.a ../../src/gtm/common/libgtmcommon.a >> ../../src/interfaces/libpq/libpq.a -lxslt -lxml2 -lpam -lssl -lcrypto >> -lcrypt -ldl -lm -lldap -o postgres >> access/transam/xact.o: In function `AssignTransactionId': >> xact.c:(.text+0x1f0): undefined reference to `threadinfo_key' >> xact.c:(.text+0x313): undefined reference to `threadinfo_key' >> xact.c:(.text+0x34b): undefined reference to `threadinfo_key' >> xact.c:(.text+0x385): undefined reference to `threadinfo_key' >> xact.c:(.text+0x3bb): undefined reference to `threadinfo_key' >> access/transam/xact.o:xact.c:(.text+0x948): more undefined references to >> `threadinfo_key' follow >> collect2: ld returned 1 exit status >> make[1]: *** [postgres] Error 1 >> >> >> The thing is, threadinfo_key is reference several places but I'm not >> sure which one it's looking for, here, without some heavy code diving. >> The configure script did complain about autoconf not being version 2.6 >> (it's 2.63). Perhaps that's what's in the missing objfiles.txt, but >> none of the source files in that directory reference threadinfo_key so >> I'm skeptical. >> >> >> >> >> Please describe a way to repeat the problem. Please try to provide a >> concise reproducible example, if at all possible: >> ---------------------------------------------------------------------- >> Try a clean build on Ubuntu 12.04 (with its requisite >> autoconf/flex/bison. Here's my configure command: >> ./configure --with-perl --with-openssl --with-pam --with-ldap \ >> --with-ossp-uuid --with-libxml --with-libxslt >> --disable-thread-safety >> >> The last option was specifically because the configure script said I >> needed it. >> >> >> If you know how this problem might be fixed, list the solution below: >> ---------------------------------------------------------------------* >> >> >> > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs |
From: Koichi S. <koi...@gm...> - 2013-12-30 13:36:24
|
Could you let me know what options you specified with configure? It seems that you're trying to use pthread. I'd like to test if it is what you intend. Regards; --- Koichi Suzuki 2013/12/27 Alex Toth <at...@gr...>: > If this is more appropriate for the postgres-xc-developers@ list, let me > know and I'll send it there > > ============================================================================ > POSTGRES-XC BUG REPORT TEMPLATE > ============================================================================ > > Your name : alex toth > Your email address : alex (at) gravity.com > > > System Configuration: > --------------------- > Architecture : AMD 64 > > Operating System : Ubuntu 12.04.3 LTS > > Postgres-XC version : Postgres-XC 1.1 > > Compiler used : gcc 4.6.3, gcc 4.4.7 > > > Please enter a FULL description of your problem: > ------------------------------------------------ > I'm unable to build PGXC 1.1. What's odd is that several defines seem > not to be getting passed through the make files or environment variables > so even getting this far I had to define several things on the command line: > > atoth@dev1-pgxgtm0001:~/postgres-xc/src$ make FLEX=/usr/bin/flex > LDFLAGS="-L$PWD/port -pthread" CFLAGS="-DPGXC_VERSION='\"1.1\"' > -DPGXC_VERSION_STR='\"1.1\"' -DPGXC=1" BISON=/usr/bin/bison > > which leads to: > make[2]: Leaving directory `/home/atoth/postgres-xc/src/interfaces/libpq' > cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory > gcc -DPGXC_VERSION='"1.1"' -DPGXC_VERSION_STR='"1.1"' -DPGXC=1 > -L/home/atoth/postgres-xc/src/port -pthread -L../../src/gtm/libpg > -Wl,-E access/common/heaptuple.o access/common/indextuple.o > access/common/printtup.o access/common/reloptions.o > access/common/scankey.o access/common/tupconvert.o > access/common/tupdesc.o access/gist/gist.o access/gist/gistutil.o > access/gist/gistxlog.o access/gist/gistvacuum.o access/gist/gistget.o > access/gist/gistscan.o access/gist/gistproc.o access/gist/gistsplit.o > access/gist/gistbuild.o access/gist/gistbuildbuffers.o > access/hash/hash.o access/hash/hashfunc.o access/hash/hashinsert.o > access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashscan.o > access/hash/hashsearch.o access/hash/hashsort.o access/hash/hashutil.o > access/heap/heapam.o access/heap/hio.o access/heap/pruneheap.o > access/heap/rewriteheap.o access/heap/syncscan.o > access/heap/tuptoaster.o access/heap/visibilitymap.o > access/index/genam.o access/index/indexam.o access/nbtree/nbtcompare.o > access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o > access/nbtree/nbtsearch.o access/nbtree/nbtutils.o > access/nbtree/nbtsort.o access/nbtree/nbtxlog.o access/transam/clog.o > access/transam/transam.o access/transam/varsup.o access/transam/xact.o > access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o > access/transam/multixact.o access/transam/twophase.o > access/transam/twophase_rmgr.o access/transam/xlog.o > access/transam/xlogfuncs.o access/transam/xlogutils.o > access/transam/gtm.o access/gin/ginutil.o access/gin/gininsert.o > access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o > access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o > access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o > access/gin/ginfast.o access/spgist/spgutils.o access/spgist/spginsert.o > access/spgist/spgscan.o access/spgist/spgvacuum.o > access/spgist/spgdoinsert.o access/spgist/spgxlog.o > access/spgist/spgtextproc.o access/spgist/spgquadtreeproc.o > access/spgist/spgkdtreeproc.o bootstrap/bootparse.o > bootstrap/bootstrap.o catalog/catalog.o catalog/dependency.o > catalog/heap.o catalog/index.o catalog/indexing.o catalog/namespace.o > catalog/aclchk.o catalog/objectaddress.o catalog/pg_aggregate.o > catalog/pg_collation.o catalog/pg_constraint.o catalog/pg_conversion.o > catalog/pg_depend.o catalog/pg_enum.o catalog/pg_inherits.o > catalog/pg_largeobject.o catalog/pg_namespace.o catalog/pg_operator.o > catalog/pg_proc.o catalog/pg_range.o catalog/pg_db_role_setting.o > catalog/pg_shdepend.o catalog/pg_type.o catalog/pgxc_class.o > catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o > parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o > parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o > parser/parse_cte.o parser/parse_expr.o parser/parse_func.o > parser/parse_node.o parser/parse_oper.o parser/parse_param.o > parser/parse_relation.o parser/parse_target.o parser/parse_type.o > parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o > commands/alter.o commands/analyze.o commands/async.o commands/cluster.o > commands/comment.o commands/collationcmds.o commands/constraint.o > commands/conversioncmds.o commands/copy.o commands/createas.o > commands/dbcommands.o commands/define.o commands/discard.o > commands/dropcmds.o commands/explain.o commands/extension.o > commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o > commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o > commands/portalcmds.o commands/prepare.o commands/proclang.o > commands/schemacmds.o commands/seclabel.o commands/sequence.o > commands/tablecmds.o commands/tablespace.o commands/trigger.o > commands/tsearchcmds.o commands/typecmds.o commands/user.o > commands/vacuum.o commands/vacuumlazy.o commands/variable.o > commands/view.o executor/execAmi.o executor/execCurrent.o > executor/execGrouping.o executor/execJunk.o executor/execMain.o > executor/execProcnode.o executor/execQual.o executor/execScan.o > executor/execTuples.o executor/execUtils.o executor/functions.o > executor/instrument.o executor/nodeAppend.o executor/nodeAgg.o > executor/nodeBitmapAnd.o executor/nodeBitmapOr.o > executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o > executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o > executor/nodeIndexonlyscan.o executor/nodeLimit.o > executor/nodeLockRows.o executor/nodeMaterial.o > executor/nodeMergeAppend.o executor/nodeMergejoin.o > executor/nodeModifyTable.o executor/nodeNestloop.o > executor/nodeFunctionscan.o executor/nodeRecursiveunion.o > executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o > executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o > executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o > executor/nodeSubplan.o executor/nodeSubqueryscan.o > executor/nodeTidscan.o executor/nodeForeignscan.o > executor/nodeWindowAgg.o executor/tstoreReceiver.o executor/spi.o > foreign/foreign.o lib/dllist.o lib/stringinfo.o libpq/be-fsstubs.o > libpq/be-secure.o libpq/auth.o libpq/crypt.o libpq/hba.o libpq/ip.o > libpq/md5.o libpq/pqcomm.o libpq/pqformat.o libpq/pqsignal.o > pgxc/locator/locator.o pgxc/locator/redistrib.o pgxc/pool/pgxcnode.o > pgxc/pool/execRemote.o pgxc/pool/poolmgr.o pgxc/pool/poolcomm.o > pgxc/pool/poolutils.o pgxc/barrier/barrier.o pgxc/nodemgr/nodemgr.o > pgxc/nodemgr/groupmgr.o pgxc/copy/copyops.o pgxc/copy/remotecopy.o > pgxc/xc_maintenance_mode/xc_maintenance_mode.o main/main.o > nodes/nodeFuncs.o nodes/nodes.o nodes/list.o nodes/bitmapset.o > nodes/tidbitmap.o nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o > nodes/outfuncs.o nodes/readfuncs.o nodes/print.o nodes/read.o > nodes/params.o nodes/value.o optimizer/geqo/geqo_copy.o > optimizer/geqo/geqo_eval.o optimizer/geqo/geqo_main.o > optimizer/geqo/geqo_misc.o optimizer/geqo/geqo_mutation.o > optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_random.o > optimizer/geqo/geqo_recombination.o optimizer/geqo/geqo_selection.o > optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_pmx.o > optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o > optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o > optimizer/path/allpaths.o optimizer/path/clausesel.o > optimizer/path/costsize.o optimizer/path/equivclass.o > optimizer/path/indxpath.o optimizer/path/joinpath.o > optimizer/path/joinrels.o optimizer/path/orindxpath.o > optimizer/path/pathkeys.o optimizer/path/tidpath.o > optimizer/path/pgxcpath.o optimizer/plan/analyzejoins.o > optimizer/plan/createplan.o optimizer/plan/initsplan.o > optimizer/plan/planagg.o optimizer/plan/planmain.o > optimizer/plan/planner.o optimizer/plan/setrefs.o > optimizer/plan/subselect.o optimizer/plan/pgxcplan.o > optimizer/prep/prepjointree.o optimizer/prep/prepqual.o > optimizer/prep/preptlist.o optimizer/prep/prepunion.o > optimizer/util/clauses.o optimizer/util/joininfo.o > optimizer/util/pathnode.o optimizer/util/placeholder.o > optimizer/util/plancat.o optimizer/util/predtest.o > optimizer/util/relnode.o optimizer/util/restrictinfo.o > optimizer/util/tlist.o optimizer/util/var.o optimizer/util/pgxcship.o > port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o > postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o > postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o > postmaster/startup.o postmaster/syslogger.o postmaster/walwriter.o > postmaster/checkpointer.o regex/regcomp.o regex/regerror.o > regex/regexec.o regex/regfree.o regex/regprefix.o > replication/walsender.o replication/walreceiverfuncs.o > replication/walreceiver.o replication/basebackup.o > replication/repl_gram.o replication/syncrep.o rewrite/rewriteRemove.o > rewrite/rewriteDefine.o rewrite/rewriteHandler.o rewrite/rewriteManip.o > rewrite/rewriteSupport.o storage/buffer/buf_table.o > storage/buffer/buf_init.o storage/buffer/bufmgr.o > storage/buffer/freelist.o storage/buffer/localbuf.o storage/file/fd.o > storage/file/buffile.o storage/file/copydir.o storage/file/reinit.o > storage/freespace/freespace.o storage/freespace/fsmpage.o > storage/freespace/indexfsm.o storage/ipc/ipc.o storage/ipc/ipci.o > storage/ipc/pmsignal.o storage/ipc/procarray.o storage/ipc/procsignal.o > storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/sinval.o > storage/ipc/sinvaladt.o storage/ipc/standby.o > storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o > storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o > storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o > storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o > storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o > tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o > tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o > tsearch/dict.o tsearch/dict_simple.o tsearch/dict_synonym.o > tsearch/dict_thesaurus.o tsearch/dict_ispell.o tsearch/regis.o > tsearch/spell.o tsearch/to_tsany.o tsearch/ts_selfuncs.o > tsearch/ts_typanalyze.o tsearch/ts_utils.o utils/adt/acl.o > utils/adt/arrayfuncs.o utils/adt/array_selfuncs.o > utils/adt/array_typanalyze.o utils/adt/array_userfuncs.o > utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o > utils/adt/char.o utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o > utils/adt/domains.o utils/adt/enum.o utils/adt/float.o > utils/adt/format_type.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o > utils/adt/int.o utils/adt/int8.o utils/adt/json.o utils/adt/like.o > utils/adt/lockfuncs.o utils/adt/misc.o utils/adt/nabstime.o > utils/adt/name.o utils/adt/numeric.o utils/adt/numutils.o > utils/adt/oid.o utils/adt/oracle_compat.o utils/adt/pseudotypes.o > utils/adt/rangetypes.o utils/adt/rangetypes_gist.o utils/adt/rowtypes.o > utils/adt/regexp.o utils/adt/regproc.o utils/adt/ruleutils.o > utils/adt/selfuncs.o utils/adt/tid.o utils/adt/timestamp.o > utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o > utils/adt/version.o utils/adt/xid.o utils/adt/network.o utils/adt/mac.o > utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o > utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o > utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o > utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o > utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o > utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o > utils/adt/tsquery_gist.o utils/adt/tsquery_op.o > utils/adt/tsquery_rewrite.o utils/adt/tsquery_util.o utils/adt/tsrank.o > utils/adt/tsvector.o utils/adt/tsvector_op.o utils/adt/tsvector_parser.o > utils/adt/txid.o utils/adt/uuid.o utils/adt/windowfuncs.o > utils/adt/xml.o utils/cache/attoptcache.o utils/cache/catcache.o > utils/cache/inval.o utils/cache/plancache.o utils/cache/relcache.o > utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o > utils/cache/lsyscache.o utils/cache/typcache.o utils/cache/ts_cache.o > utils/error/assert.o utils/error/elog.o utils/fmgr/dfmgr.o > utils/fmgr/fmgr.o utils/fmgr/funcapi.o utils/hash/dynahash.o > utils/hash/hashfn.o utils/init/globals.o utils/init/miscinit.o > utils/init/postinit.o utils/mb/encnames.o utils/mb/conv.o > utils/mb/mbutils.o utils/mb/wchar.o utils/mb/wstrcmp.o > utils/mb/wstrncmp.o utils/misc/guc.o utils/misc/help_config.o > utils/misc/pg_rusage.o utils/misc/ps_status.o utils/misc/superuser.o > utils/misc/tzparser.o utils/misc/rbtree.o utils/mmgr/aset.o > utils/mmgr/mcxt.o utils/mmgr/portalmem.o utils/resowner/resowner.o > utils/sort/logtape.o utils/sort/sortsupport.o utils/sort/tuplesort.o > utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o > utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o > ../../src/timezone/strftime.o ../../src/timezone/pgtz.o > ../../src/interfaces/libpq/fe-connect.o > ../../src/interfaces/libpq/fe-secure.o > ../../src/interfaces/libpq/fe-misc.o > ../../src/interfaces/libpq/fe-protocol3.o > ../../src/interfaces/libpq/fe-protocol2.o > ../../src/interfaces/libpq/fe-exec.o > ../../src/interfaces/libpq/fe-auth.o > ../../src/interfaces/libpq/pqexpbuffer.o ../../src/port/libpgport_srv.a > ../../src/gtm/client/libgtmclient.a ../../src/gtm/common/libgtmcommon.a > ../../src/interfaces/libpq/libpq.a -lxslt -lxml2 -lpam -lssl -lcrypto > -lcrypt -ldl -lm -lldap -o postgres > access/transam/xact.o: In function `AssignTransactionId': > xact.c:(.text+0x1f0): undefined reference to `threadinfo_key' > xact.c:(.text+0x313): undefined reference to `threadinfo_key' > xact.c:(.text+0x34b): undefined reference to `threadinfo_key' > xact.c:(.text+0x385): undefined reference to `threadinfo_key' > xact.c:(.text+0x3bb): undefined reference to `threadinfo_key' > access/transam/xact.o:xact.c:(.text+0x948): more undefined references to > `threadinfo_key' follow > collect2: ld returned 1 exit status > make[1]: *** [postgres] Error 1 > > > The thing is, threadinfo_key is reference several places but I'm not > sure which one it's looking for, here, without some heavy code diving. > The configure script did complain about autoconf not being version 2.6 > (it's 2.63). Perhaps that's what's in the missing objfiles.txt, but > none of the source files in that directory reference threadinfo_key so > I'm skeptical. > > > > > Please describe a way to repeat the problem. Please try to provide a > concise reproducible example, if at all possible: > ---------------------------------------------------------------------- > Try a clean build on Ubuntu 12.04 (with its requisite > autoconf/flex/bison. Here's my configure command: > ./configure --with-perl --with-openssl --with-pam --with-ldap \ > --with-ossp-uuid --with-libxml --with-libxslt > --disable-thread-safety > > The last option was specifically because the configure script said I > needed it. > > > If you know how this problem might be fixed, list the solution below: > ---------------------------------------------------------------------* > > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs |
From: Alex T. <at...@gr...> - 2013-12-26 22:08:09
|
Blah. Ignore this. I "fixed" it by wiping out the postgres-xc directory and doing a completely fresh untar/configure/make rather than just trusting "make clean." alex On 12/26/13, 9:57 AM, Alex Toth wrote: > If this is more appropriate for the postgres-xc-developers@ list, let me > know and I'll send it there > > ============================================================================ > POSTGRES-XC BUG REPORT TEMPLATE > ============================================================================ > > Your name : alex toth > Your email address : alex (at) gravity.com > > > System Configuration: > --------------------- > Architecture : AMD 64 > > Operating System : Ubuntu 12.04.3 LTS > > Postgres-XC version : Postgres-XC 1.1 > > Compiler used : gcc 4.6.3, gcc 4.4.7 > > > Please enter a FULL description of your problem: > ------------------------------------------------ > I'm unable to build PGXC 1.1. What's odd is that several defines seem > not to be getting passed through the make files or environment variables > so even getting this far I had to define several things on the command line: > > atoth@dev1-pgxgtm0001:~/postgres-xc/src$ make FLEX=/usr/bin/flex > LDFLAGS="-L$PWD/port -pthread" CFLAGS="-DPGXC_VERSION='\"1.1\"' > -DPGXC_VERSION_STR='\"1.1\"' -DPGXC=1" BISON=/usr/bin/bison > > which leads to: > make[2]: Leaving directory `/home/atoth/postgres-xc/src/interfaces/libpq' > cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory > gcc -DPGXC_VERSION='"1.1"' -DPGXC_VERSION_STR='"1.1"' -DPGXC=1 > -L/home/atoth/postgres-xc/src/port -pthread -L../../src/gtm/libpg > -Wl,-E access/common/heaptuple.o access/common/indextuple.o > access/common/printtup.o access/common/reloptions.o > access/common/scankey.o access/common/tupconvert.o > access/common/tupdesc.o access/gist/gist.o access/gist/gistutil.o > access/gist/gistxlog.o access/gist/gistvacuum.o access/gist/gistget.o > access/gist/gistscan.o access/gist/gistproc.o access/gist/gistsplit.o > access/gist/gistbuild.o access/gist/gistbuildbuffers.o > access/hash/hash.o access/hash/hashfunc.o access/hash/hashinsert.o > access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashscan.o > access/hash/hashsearch.o access/hash/hashsort.o access/hash/hashutil.o > access/heap/heapam.o access/heap/hio.o access/heap/pruneheap.o > access/heap/rewriteheap.o access/heap/syncscan.o > access/heap/tuptoaster.o access/heap/visibilitymap.o > access/index/genam.o access/index/indexam.o access/nbtree/nbtcompare.o > access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o > access/nbtree/nbtsearch.o access/nbtree/nbtutils.o > access/nbtree/nbtsort.o access/nbtree/nbtxlog.o access/transam/clog.o > access/transam/transam.o access/transam/varsup.o access/transam/xact.o > access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o > access/transam/multixact.o access/transam/twophase.o > access/transam/twophase_rmgr.o access/transam/xlog.o > access/transam/xlogfuncs.o access/transam/xlogutils.o > access/transam/gtm.o access/gin/ginutil.o access/gin/gininsert.o > access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o > access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o > access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o > access/gin/ginfast.o access/spgist/spgutils.o access/spgist/spginsert.o > access/spgist/spgscan.o access/spgist/spgvacuum.o > access/spgist/spgdoinsert.o access/spgist/spgxlog.o > access/spgist/spgtextproc.o access/spgist/spgquadtreeproc.o > access/spgist/spgkdtreeproc.o bootstrap/bootparse.o > bootstrap/bootstrap.o catalog/catalog.o catalog/dependency.o > catalog/heap.o catalog/index.o catalog/indexing.o catalog/namespace.o > catalog/aclchk.o catalog/objectaddress.o catalog/pg_aggregate.o > catalog/pg_collation.o catalog/pg_constraint.o catalog/pg_conversion.o > catalog/pg_depend.o catalog/pg_enum.o catalog/pg_inherits.o > catalog/pg_largeobject.o catalog/pg_namespace.o catalog/pg_operator.o > catalog/pg_proc.o catalog/pg_range.o catalog/pg_db_role_setting.o > catalog/pg_shdepend.o catalog/pg_type.o catalog/pgxc_class.o > catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o > parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o > parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o > parser/parse_cte.o parser/parse_expr.o parser/parse_func.o > parser/parse_node.o parser/parse_oper.o parser/parse_param.o > parser/parse_relation.o parser/parse_target.o parser/parse_type.o > parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o > commands/alter.o commands/analyze.o commands/async.o commands/cluster.o > commands/comment.o commands/collationcmds.o commands/constraint.o > commands/conversioncmds.o commands/copy.o commands/createas.o > commands/dbcommands.o commands/define.o commands/discard.o > commands/dropcmds.o commands/explain.o commands/extension.o > commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o > commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o > commands/portalcmds.o commands/prepare.o commands/proclang.o > commands/schemacmds.o commands/seclabel.o commands/sequence.o > commands/tablecmds.o commands/tablespace.o commands/trigger.o > commands/tsearchcmds.o commands/typecmds.o commands/user.o > commands/vacuum.o commands/vacuumlazy.o commands/variable.o > commands/view.o executor/execAmi.o executor/execCurrent.o > executor/execGrouping.o executor/execJunk.o executor/execMain.o > executor/execProcnode.o executor/execQual.o executor/execScan.o > executor/execTuples.o executor/execUtils.o executor/functions.o > executor/instrument.o executor/nodeAppend.o executor/nodeAgg.o > executor/nodeBitmapAnd.o executor/nodeBitmapOr.o > executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o > executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o > executor/nodeIndexonlyscan.o executor/nodeLimit.o > executor/nodeLockRows.o executor/nodeMaterial.o > executor/nodeMergeAppend.o executor/nodeMergejoin.o > executor/nodeModifyTable.o executor/nodeNestloop.o > executor/nodeFunctionscan.o executor/nodeRecursiveunion.o > executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o > executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o > executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o > executor/nodeSubplan.o executor/nodeSubqueryscan.o > executor/nodeTidscan.o executor/nodeForeignscan.o > executor/nodeWindowAgg.o executor/tstoreReceiver.o executor/spi.o > foreign/foreign.o lib/dllist.o lib/stringinfo.o libpq/be-fsstubs.o > libpq/be-secure.o libpq/auth.o libpq/crypt.o libpq/hba.o libpq/ip.o > libpq/md5.o libpq/pqcomm.o libpq/pqformat.o libpq/pqsignal.o > pgxc/locator/locator.o pgxc/locator/redistrib.o pgxc/pool/pgxcnode.o > pgxc/pool/execRemote.o pgxc/pool/poolmgr.o pgxc/pool/poolcomm.o > pgxc/pool/poolutils.o pgxc/barrier/barrier.o pgxc/nodemgr/nodemgr.o > pgxc/nodemgr/groupmgr.o pgxc/copy/copyops.o pgxc/copy/remotecopy.o > pgxc/xc_maintenance_mode/xc_maintenance_mode.o main/main.o > nodes/nodeFuncs.o nodes/nodes.o nodes/list.o nodes/bitmapset.o > nodes/tidbitmap.o nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o > nodes/outfuncs.o nodes/readfuncs.o nodes/print.o nodes/read.o > nodes/params.o nodes/value.o optimizer/geqo/geqo_copy.o > optimizer/geqo/geqo_eval.o optimizer/geqo/geqo_main.o > optimizer/geqo/geqo_misc.o optimizer/geqo/geqo_mutation.o > optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_random.o > optimizer/geqo/geqo_recombination.o optimizer/geqo/geqo_selection.o > optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_pmx.o > optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o > optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o > optimizer/path/allpaths.o optimizer/path/clausesel.o > optimizer/path/costsize.o optimizer/path/equivclass.o > optimizer/path/indxpath.o optimizer/path/joinpath.o > optimizer/path/joinrels.o optimizer/path/orindxpath.o > optimizer/path/pathkeys.o optimizer/path/tidpath.o > optimizer/path/pgxcpath.o optimizer/plan/analyzejoins.o > optimizer/plan/createplan.o optimizer/plan/initsplan.o > optimizer/plan/planagg.o optimizer/plan/planmain.o > optimizer/plan/planner.o optimizer/plan/setrefs.o > optimizer/plan/subselect.o optimizer/plan/pgxcplan.o > optimizer/prep/prepjointree.o optimizer/prep/prepqual.o > optimizer/prep/preptlist.o optimizer/prep/prepunion.o > optimizer/util/clauses.o optimizer/util/joininfo.o > optimizer/util/pathnode.o optimizer/util/placeholder.o > optimizer/util/plancat.o optimizer/util/predtest.o > optimizer/util/relnode.o optimizer/util/restrictinfo.o > optimizer/util/tlist.o optimizer/util/var.o optimizer/util/pgxcship.o > port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o > postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o > postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o > postmaster/startup.o postmaster/syslogger.o postmaster/walwriter.o > postmaster/checkpointer.o regex/regcomp.o regex/regerror.o > regex/regexec.o regex/regfree.o regex/regprefix.o > replication/walsender.o replication/walreceiverfuncs.o > replication/walreceiver.o replication/basebackup.o > replication/repl_gram.o replication/syncrep.o rewrite/rewriteRemove.o > rewrite/rewriteDefine.o rewrite/rewriteHandler.o rewrite/rewriteManip.o > rewrite/rewriteSupport.o storage/buffer/buf_table.o > storage/buffer/buf_init.o storage/buffer/bufmgr.o > storage/buffer/freelist.o storage/buffer/localbuf.o storage/file/fd.o > storage/file/buffile.o storage/file/copydir.o storage/file/reinit.o > storage/freespace/freespace.o storage/freespace/fsmpage.o > storage/freespace/indexfsm.o storage/ipc/ipc.o storage/ipc/ipci.o > storage/ipc/pmsignal.o storage/ipc/procarray.o storage/ipc/procsignal.o > storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/sinval.o > storage/ipc/sinvaladt.o storage/ipc/standby.o > storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o > storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o > storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o > storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o > storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o > tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o > tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o > tsearch/dict.o tsearch/dict_simple.o tsearch/dict_synonym.o > tsearch/dict_thesaurus.o tsearch/dict_ispell.o tsearch/regis.o > tsearch/spell.o tsearch/to_tsany.o tsearch/ts_selfuncs.o > tsearch/ts_typanalyze.o tsearch/ts_utils.o utils/adt/acl.o > utils/adt/arrayfuncs.o utils/adt/array_selfuncs.o > utils/adt/array_typanalyze.o utils/adt/array_userfuncs.o > utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o > utils/adt/char.o utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o > utils/adt/domains.o utils/adt/enum.o utils/adt/float.o > utils/adt/format_type.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o > utils/adt/int.o utils/adt/int8.o utils/adt/json.o utils/adt/like.o > utils/adt/lockfuncs.o utils/adt/misc.o utils/adt/nabstime.o > utils/adt/name.o utils/adt/numeric.o utils/adt/numutils.o > utils/adt/oid.o utils/adt/oracle_compat.o utils/adt/pseudotypes.o > utils/adt/rangetypes.o utils/adt/rangetypes_gist.o utils/adt/rowtypes.o > utils/adt/regexp.o utils/adt/regproc.o utils/adt/ruleutils.o > utils/adt/selfuncs.o utils/adt/tid.o utils/adt/timestamp.o > utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o > utils/adt/version.o utils/adt/xid.o utils/adt/network.o utils/adt/mac.o > utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o > utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o > utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o > utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o > utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o > utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o > utils/adt/tsquery_gist.o utils/adt/tsquery_op.o > utils/adt/tsquery_rewrite.o utils/adt/tsquery_util.o utils/adt/tsrank.o > utils/adt/tsvector.o utils/adt/tsvector_op.o utils/adt/tsvector_parser.o > utils/adt/txid.o utils/adt/uuid.o utils/adt/windowfuncs.o > utils/adt/xml.o utils/cache/attoptcache.o utils/cache/catcache.o > utils/cache/inval.o utils/cache/plancache.o utils/cache/relcache.o > utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o > utils/cache/lsyscache.o utils/cache/typcache.o utils/cache/ts_cache.o > utils/error/assert.o utils/error/elog.o utils/fmgr/dfmgr.o > utils/fmgr/fmgr.o utils/fmgr/funcapi.o utils/hash/dynahash.o > utils/hash/hashfn.o utils/init/globals.o utils/init/miscinit.o > utils/init/postinit.o utils/mb/encnames.o utils/mb/conv.o > utils/mb/mbutils.o utils/mb/wchar.o utils/mb/wstrcmp.o > utils/mb/wstrncmp.o utils/misc/guc.o utils/misc/help_config.o > utils/misc/pg_rusage.o utils/misc/ps_status.o utils/misc/superuser.o > utils/misc/tzparser.o utils/misc/rbtree.o utils/mmgr/aset.o > utils/mmgr/mcxt.o utils/mmgr/portalmem.o utils/resowner/resowner.o > utils/sort/logtape.o utils/sort/sortsupport.o utils/sort/tuplesort.o > utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o > utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o > ../../src/timezone/strftime.o ../../src/timezone/pgtz.o > ../../src/interfaces/libpq/fe-connect.o > ../../src/interfaces/libpq/fe-secure.o > ../../src/interfaces/libpq/fe-misc.o > ../../src/interfaces/libpq/fe-protocol3.o > ../../src/interfaces/libpq/fe-protocol2.o > ../../src/interfaces/libpq/fe-exec.o > ../../src/interfaces/libpq/fe-auth.o > ../../src/interfaces/libpq/pqexpbuffer.o ../../src/port/libpgport_srv.a > ../../src/gtm/client/libgtmclient.a ../../src/gtm/common/libgtmcommon.a > ../../src/interfaces/libpq/libpq.a -lxslt -lxml2 -lpam -lssl -lcrypto > -lcrypt -ldl -lm -lldap -o postgres > access/transam/xact.o: In function `AssignTransactionId': > xact.c:(.text+0x1f0): undefined reference to `threadinfo_key' > xact.c:(.text+0x313): undefined reference to `threadinfo_key' > xact.c:(.text+0x34b): undefined reference to `threadinfo_key' > xact.c:(.text+0x385): undefined reference to `threadinfo_key' > xact.c:(.text+0x3bb): undefined reference to `threadinfo_key' > access/transam/xact.o:xact.c:(.text+0x948): more undefined references to > `threadinfo_key' follow > collect2: ld returned 1 exit status > make[1]: *** [postgres] Error 1 > > > The thing is, threadinfo_key is reference several places but I'm not > sure which one it's looking for, here, without some heavy code diving. > The configure script did complain about autoconf not being version 2.6 > (it's 2.63). Perhaps that's what's in the missing objfiles.txt, but > none of the source files in that directory reference threadinfo_key so > I'm skeptical. > > > > > Please describe a way to repeat the problem. Please try to provide a > concise reproducible example, if at all possible: > ---------------------------------------------------------------------- > Try a clean build on Ubuntu 12.04 (with its requisite > autoconf/flex/bison. Here's my configure command: > ./configure --with-perl --with-openssl --with-pam --with-ldap \ > --with-ossp-uuid --with-libxml --with-libxslt > --disable-thread-safety > > The last option was specifically because the configure script said I > needed it. > > > If you know how this problem might be fixed, list the solution below: > ---------------------------------------------------------------------* > > > |
From: Alex T. <at...@gr...> - 2013-12-26 18:16:42
|
If this is more appropriate for the postgres-xc-developers@ list, let me know and I'll send it there ============================================================================ POSTGRES-XC BUG REPORT TEMPLATE ============================================================================ Your name : alex toth Your email address : alex (at) gravity.com System Configuration: --------------------- Architecture : AMD 64 Operating System : Ubuntu 12.04.3 LTS Postgres-XC version : Postgres-XC 1.1 Compiler used : gcc 4.6.3, gcc 4.4.7 Please enter a FULL description of your problem: ------------------------------------------------ I'm unable to build PGXC 1.1. What's odd is that several defines seem not to be getting passed through the make files or environment variables so even getting this far I had to define several things on the command line: atoth@dev1-pgxgtm0001:~/postgres-xc/src$ make FLEX=/usr/bin/flex LDFLAGS="-L$PWD/port -pthread" CFLAGS="-DPGXC_VERSION='\"1.1\"' -DPGXC_VERSION_STR='\"1.1\"' -DPGXC=1" BISON=/usr/bin/bison which leads to: make[2]: Leaving directory `/home/atoth/postgres-xc/src/interfaces/libpq' cat: ../../src/interfaces/libpq/objfiles.txt: No such file or directory gcc -DPGXC_VERSION='"1.1"' -DPGXC_VERSION_STR='"1.1"' -DPGXC=1 -L/home/atoth/postgres-xc/src/port -pthread -L../../src/gtm/libpg -Wl,-E access/common/heaptuple.o access/common/indextuple.o access/common/printtup.o access/common/reloptions.o access/common/scankey.o access/common/tupconvert.o access/common/tupdesc.o access/gist/gist.o access/gist/gistutil.o access/gist/gistxlog.o access/gist/gistvacuum.o access/gist/gistget.o access/gist/gistscan.o access/gist/gistproc.o access/gist/gistsplit.o access/gist/gistbuild.o access/gist/gistbuildbuffers.o access/hash/hash.o access/hash/hashfunc.o access/hash/hashinsert.o access/hash/hashovfl.o access/hash/hashpage.o access/hash/hashscan.o access/hash/hashsearch.o access/hash/hashsort.o access/hash/hashutil.o access/heap/heapam.o access/heap/hio.o access/heap/pruneheap.o access/heap/rewriteheap.o access/heap/syncscan.o access/heap/tuptoaster.o access/heap/visibilitymap.o access/index/genam.o access/index/indexam.o access/nbtree/nbtcompare.o access/nbtree/nbtinsert.o access/nbtree/nbtpage.o access/nbtree/nbtree.o access/nbtree/nbtsearch.o access/nbtree/nbtutils.o access/nbtree/nbtsort.o access/nbtree/nbtxlog.o access/transam/clog.o access/transam/transam.o access/transam/varsup.o access/transam/xact.o access/transam/rmgr.o access/transam/slru.o access/transam/subtrans.o access/transam/multixact.o access/transam/twophase.o access/transam/twophase_rmgr.o access/transam/xlog.o access/transam/xlogfuncs.o access/transam/xlogutils.o access/transam/gtm.o access/gin/ginutil.o access/gin/gininsert.o access/gin/ginxlog.o access/gin/ginentrypage.o access/gin/gindatapage.o access/gin/ginbtree.o access/gin/ginscan.o access/gin/ginget.o access/gin/ginvacuum.o access/gin/ginarrayproc.o access/gin/ginbulk.o access/gin/ginfast.o access/spgist/spgutils.o access/spgist/spginsert.o access/spgist/spgscan.o access/spgist/spgvacuum.o access/spgist/spgdoinsert.o access/spgist/spgxlog.o access/spgist/spgtextproc.o access/spgist/spgquadtreeproc.o access/spgist/spgkdtreeproc.o bootstrap/bootparse.o bootstrap/bootstrap.o catalog/catalog.o catalog/dependency.o catalog/heap.o catalog/index.o catalog/indexing.o catalog/namespace.o catalog/aclchk.o catalog/objectaddress.o catalog/pg_aggregate.o catalog/pg_collation.o catalog/pg_constraint.o catalog/pg_conversion.o catalog/pg_depend.o catalog/pg_enum.o catalog/pg_inherits.o catalog/pg_largeobject.o catalog/pg_namespace.o catalog/pg_operator.o catalog/pg_proc.o catalog/pg_range.o catalog/pg_db_role_setting.o catalog/pg_shdepend.o catalog/pg_type.o catalog/pgxc_class.o catalog/storage.o catalog/toasting.o parser/analyze.o parser/gram.o parser/keywords.o parser/kwlookup.o parser/parser.o parser/parse_agg.o parser/parse_clause.o parser/parse_coerce.o parser/parse_collate.o parser/parse_cte.o parser/parse_expr.o parser/parse_func.o parser/parse_node.o parser/parse_oper.o parser/parse_param.o parser/parse_relation.o parser/parse_target.o parser/parse_type.o parser/parse_utilcmd.o parser/scansup.o commands/aggregatecmds.o commands/alter.o commands/analyze.o commands/async.o commands/cluster.o commands/comment.o commands/collationcmds.o commands/constraint.o commands/conversioncmds.o commands/copy.o commands/createas.o commands/dbcommands.o commands/define.o commands/discard.o commands/dropcmds.o commands/explain.o commands/extension.o commands/foreigncmds.o commands/functioncmds.o commands/indexcmds.o commands/lockcmds.o commands/operatorcmds.o commands/opclasscmds.o commands/portalcmds.o commands/prepare.o commands/proclang.o commands/schemacmds.o commands/seclabel.o commands/sequence.o commands/tablecmds.o commands/tablespace.o commands/trigger.o commands/tsearchcmds.o commands/typecmds.o commands/user.o commands/vacuum.o commands/vacuumlazy.o commands/variable.o commands/view.o executor/execAmi.o executor/execCurrent.o executor/execGrouping.o executor/execJunk.o executor/execMain.o executor/execProcnode.o executor/execQual.o executor/execScan.o executor/execTuples.o executor/execUtils.o executor/functions.o executor/instrument.o executor/nodeAppend.o executor/nodeAgg.o executor/nodeBitmapAnd.o executor/nodeBitmapOr.o executor/nodeBitmapHeapscan.o executor/nodeBitmapIndexscan.o executor/nodeHash.o executor/nodeHashjoin.o executor/nodeIndexscan.o executor/nodeIndexonlyscan.o executor/nodeLimit.o executor/nodeLockRows.o executor/nodeMaterial.o executor/nodeMergeAppend.o executor/nodeMergejoin.o executor/nodeModifyTable.o executor/nodeNestloop.o executor/nodeFunctionscan.o executor/nodeRecursiveunion.o executor/nodeResult.o executor/nodeSeqscan.o executor/nodeSetOp.o executor/nodeSort.o executor/nodeUnique.o executor/nodeValuesscan.o executor/nodeCtescan.o executor/nodeWorktablescan.o executor/nodeGroup.o executor/nodeSubplan.o executor/nodeSubqueryscan.o executor/nodeTidscan.o executor/nodeForeignscan.o executor/nodeWindowAgg.o executor/tstoreReceiver.o executor/spi.o foreign/foreign.o lib/dllist.o lib/stringinfo.o libpq/be-fsstubs.o libpq/be-secure.o libpq/auth.o libpq/crypt.o libpq/hba.o libpq/ip.o libpq/md5.o libpq/pqcomm.o libpq/pqformat.o libpq/pqsignal.o pgxc/locator/locator.o pgxc/locator/redistrib.o pgxc/pool/pgxcnode.o pgxc/pool/execRemote.o pgxc/pool/poolmgr.o pgxc/pool/poolcomm.o pgxc/pool/poolutils.o pgxc/barrier/barrier.o pgxc/nodemgr/nodemgr.o pgxc/nodemgr/groupmgr.o pgxc/copy/copyops.o pgxc/copy/remotecopy.o pgxc/xc_maintenance_mode/xc_maintenance_mode.o main/main.o nodes/nodeFuncs.o nodes/nodes.o nodes/list.o nodes/bitmapset.o nodes/tidbitmap.o nodes/copyfuncs.o nodes/equalfuncs.o nodes/makefuncs.o nodes/outfuncs.o nodes/readfuncs.o nodes/print.o nodes/read.o nodes/params.o nodes/value.o optimizer/geqo/geqo_copy.o optimizer/geqo/geqo_eval.o optimizer/geqo/geqo_main.o optimizer/geqo/geqo_misc.o optimizer/geqo/geqo_mutation.o optimizer/geqo/geqo_pool.o optimizer/geqo/geqo_random.o optimizer/geqo/geqo_recombination.o optimizer/geqo/geqo_selection.o optimizer/geqo/geqo_erx.o optimizer/geqo/geqo_pmx.o optimizer/geqo/geqo_cx.o optimizer/geqo/geqo_px.o optimizer/geqo/geqo_ox1.o optimizer/geqo/geqo_ox2.o optimizer/path/allpaths.o optimizer/path/clausesel.o optimizer/path/costsize.o optimizer/path/equivclass.o optimizer/path/indxpath.o optimizer/path/joinpath.o optimizer/path/joinrels.o optimizer/path/orindxpath.o optimizer/path/pathkeys.o optimizer/path/tidpath.o optimizer/path/pgxcpath.o optimizer/plan/analyzejoins.o optimizer/plan/createplan.o optimizer/plan/initsplan.o optimizer/plan/planagg.o optimizer/plan/planmain.o optimizer/plan/planner.o optimizer/plan/setrefs.o optimizer/plan/subselect.o optimizer/plan/pgxcplan.o optimizer/prep/prepjointree.o optimizer/prep/prepqual.o optimizer/prep/preptlist.o optimizer/prep/prepunion.o optimizer/util/clauses.o optimizer/util/joininfo.o optimizer/util/pathnode.o optimizer/util/placeholder.o optimizer/util/plancat.o optimizer/util/predtest.o optimizer/util/relnode.o optimizer/util/restrictinfo.o optimizer/util/tlist.o optimizer/util/var.o optimizer/util/pgxcship.o port/dynloader.o port/pg_sema.o port/pg_shmem.o port/pg_latch.o postmaster/autovacuum.o postmaster/bgwriter.o postmaster/fork_process.o postmaster/pgarch.o postmaster/pgstat.o postmaster/postmaster.o postmaster/startup.o postmaster/syslogger.o postmaster/walwriter.o postmaster/checkpointer.o regex/regcomp.o regex/regerror.o regex/regexec.o regex/regfree.o regex/regprefix.o replication/walsender.o replication/walreceiverfuncs.o replication/walreceiver.o replication/basebackup.o replication/repl_gram.o replication/syncrep.o rewrite/rewriteRemove.o rewrite/rewriteDefine.o rewrite/rewriteHandler.o rewrite/rewriteManip.o rewrite/rewriteSupport.o storage/buffer/buf_table.o storage/buffer/buf_init.o storage/buffer/bufmgr.o storage/buffer/freelist.o storage/buffer/localbuf.o storage/file/fd.o storage/file/buffile.o storage/file/copydir.o storage/file/reinit.o storage/freespace/freespace.o storage/freespace/fsmpage.o storage/freespace/indexfsm.o storage/ipc/ipc.o storage/ipc/ipci.o storage/ipc/pmsignal.o storage/ipc/procarray.o storage/ipc/procsignal.o storage/ipc/shmem.o storage/ipc/shmqueue.o storage/ipc/sinval.o storage/ipc/sinvaladt.o storage/ipc/standby.o storage/large_object/inv_api.o storage/lmgr/lmgr.o storage/lmgr/lock.o storage/lmgr/proc.o storage/lmgr/deadlock.o storage/lmgr/lwlock.o storage/lmgr/spin.o storage/lmgr/s_lock.o storage/lmgr/predicate.o storage/page/bufpage.o storage/page/itemptr.o storage/smgr/md.o storage/smgr/smgr.o storage/smgr/smgrtype.o tcop/dest.o tcop/fastpath.o tcop/postgres.o tcop/pquery.o tcop/utility.o tsearch/ts_locale.o tsearch/ts_parse.o tsearch/wparser.o tsearch/wparser_def.o tsearch/dict.o tsearch/dict_simple.o tsearch/dict_synonym.o tsearch/dict_thesaurus.o tsearch/dict_ispell.o tsearch/regis.o tsearch/spell.o tsearch/to_tsany.o tsearch/ts_selfuncs.o tsearch/ts_typanalyze.o tsearch/ts_utils.o utils/adt/acl.o utils/adt/arrayfuncs.o utils/adt/array_selfuncs.o utils/adt/array_typanalyze.o utils/adt/array_userfuncs.o utils/adt/arrayutils.o utils/adt/bool.o utils/adt/cash.o utils/adt/char.o utils/adt/date.o utils/adt/datetime.o utils/adt/datum.o utils/adt/domains.o utils/adt/enum.o utils/adt/float.o utils/adt/format_type.o utils/adt/geo_ops.o utils/adt/geo_selfuncs.o utils/adt/int.o utils/adt/int8.o utils/adt/json.o utils/adt/like.o utils/adt/lockfuncs.o utils/adt/misc.o utils/adt/nabstime.o utils/adt/name.o utils/adt/numeric.o utils/adt/numutils.o utils/adt/oid.o utils/adt/oracle_compat.o utils/adt/pseudotypes.o utils/adt/rangetypes.o utils/adt/rangetypes_gist.o utils/adt/rowtypes.o utils/adt/regexp.o utils/adt/regproc.o utils/adt/ruleutils.o utils/adt/selfuncs.o utils/adt/tid.o utils/adt/timestamp.o utils/adt/varbit.o utils/adt/varchar.o utils/adt/varlena.o utils/adt/version.o utils/adt/xid.o utils/adt/network.o utils/adt/mac.o utils/adt/inet_cidr_ntop.o utils/adt/inet_net_pton.o utils/adt/ri_triggers.o utils/adt/pg_lzcompress.o utils/adt/pg_locale.o utils/adt/formatting.o utils/adt/ascii.o utils/adt/quote.o utils/adt/pgstatfuncs.o utils/adt/encode.o utils/adt/dbsize.o utils/adt/genfile.o utils/adt/trigfuncs.o utils/adt/tsginidx.o utils/adt/tsgistidx.o utils/adt/tsquery.o utils/adt/tsquery_cleanup.o utils/adt/tsquery_gist.o utils/adt/tsquery_op.o utils/adt/tsquery_rewrite.o utils/adt/tsquery_util.o utils/adt/tsrank.o utils/adt/tsvector.o utils/adt/tsvector_op.o utils/adt/tsvector_parser.o utils/adt/txid.o utils/adt/uuid.o utils/adt/windowfuncs.o utils/adt/xml.o utils/cache/attoptcache.o utils/cache/catcache.o utils/cache/inval.o utils/cache/plancache.o utils/cache/relcache.o utils/cache/relmapper.o utils/cache/spccache.o utils/cache/syscache.o utils/cache/lsyscache.o utils/cache/typcache.o utils/cache/ts_cache.o utils/error/assert.o utils/error/elog.o utils/fmgr/dfmgr.o utils/fmgr/fmgr.o utils/fmgr/funcapi.o utils/hash/dynahash.o utils/hash/hashfn.o utils/init/globals.o utils/init/miscinit.o utils/init/postinit.o utils/mb/encnames.o utils/mb/conv.o utils/mb/mbutils.o utils/mb/wchar.o utils/mb/wstrcmp.o utils/mb/wstrncmp.o utils/misc/guc.o utils/misc/help_config.o utils/misc/pg_rusage.o utils/misc/ps_status.o utils/misc/superuser.o utils/misc/tzparser.o utils/misc/rbtree.o utils/mmgr/aset.o utils/mmgr/mcxt.o utils/mmgr/portalmem.o utils/resowner/resowner.o utils/sort/logtape.o utils/sort/sortsupport.o utils/sort/tuplesort.o utils/sort/tuplestore.o utils/time/combocid.o utils/time/tqual.o utils/time/snapmgr.o utils/fmgrtab.o ../../src/timezone/localtime.o ../../src/timezone/strftime.o ../../src/timezone/pgtz.o ../../src/interfaces/libpq/fe-connect.o ../../src/interfaces/libpq/fe-secure.o ../../src/interfaces/libpq/fe-misc.o ../../src/interfaces/libpq/fe-protocol3.o ../../src/interfaces/libpq/fe-protocol2.o ../../src/interfaces/libpq/fe-exec.o ../../src/interfaces/libpq/fe-auth.o ../../src/interfaces/libpq/pqexpbuffer.o ../../src/port/libpgport_srv.a ../../src/gtm/client/libgtmclient.a ../../src/gtm/common/libgtmcommon.a ../../src/interfaces/libpq/libpq.a -lxslt -lxml2 -lpam -lssl -lcrypto -lcrypt -ldl -lm -lldap -o postgres access/transam/xact.o: In function `AssignTransactionId': xact.c:(.text+0x1f0): undefined reference to `threadinfo_key' xact.c:(.text+0x313): undefined reference to `threadinfo_key' xact.c:(.text+0x34b): undefined reference to `threadinfo_key' xact.c:(.text+0x385): undefined reference to `threadinfo_key' xact.c:(.text+0x3bb): undefined reference to `threadinfo_key' access/transam/xact.o:xact.c:(.text+0x948): more undefined references to `threadinfo_key' follow collect2: ld returned 1 exit status make[1]: *** [postgres] Error 1 The thing is, threadinfo_key is reference several places but I'm not sure which one it's looking for, here, without some heavy code diving. The configure script did complain about autoconf not being version 2.6 (it's 2.63). Perhaps that's what's in the missing objfiles.txt, but none of the source files in that directory reference threadinfo_key so I'm skeptical. Please describe a way to repeat the problem. Please try to provide a concise reproducible example, if at all possible: ---------------------------------------------------------------------- Try a clean build on Ubuntu 12.04 (with its requisite autoconf/flex/bison. Here's my configure command: ./configure --with-perl --with-openssl --with-pam --with-ldap \ --with-ossp-uuid --with-libxml --with-libxslt --disable-thread-safety The last option was specifically because the configure script said I needed it. If you know how this problem might be fixed, list the solution below: ---------------------------------------------------------------------* |
From: Koichi S. <koi...@gm...> - 2013-11-18 09:10:50
|
Thanks everybody. You should cleanup an object in pgxc_class as well like delete from pgxc_class where pcrelid = MY_OID; Good luck; --- Koichi Suzuki 2013/11/16 West, William <ww...@uc...>: > All, > > I was able to remove the invalid object based on some instructions that were > for PostgreSQL from Oscar Raig Colon posted on stackoverflow.com. I got rid > of the object so now maintenance routines like vacuum can be performed > against the entire database. Here is the sequence of queries that seemed to > partially work: > > First locate the objects OID: > > select c.oid from pg_class c join pg_namespace n on n.oid=c.relnamespace > where > c.relname = MY_TABLE and n.nspname= MY_SCHEMA; > > Then delete these records from the metadata tables: > > delete from pg_class where oid = MY_OID; > delete from pg_depend where objid = MY_OID; > delete from pg_constraint where conrelid = MY_OID; > > This deleted the table but I cannot re-create the table under the old name > probably because it is still being referenced in some other metadata table I > haven’t found yet. I hope this helps anyone trying to solve this problem. > > Regards, > > Bill West > > From: <West>, William West <ww...@uc...> > Date: Thursday, November 14, 2013 at 3:58 PM > To: Mason Sharp <ms...@tr...> > > Cc: Koichi Suzuki <koi...@gm...>, > "pos...@li..." > <pos...@li...> > Subject: Re: [Postgres-xc-bugs] Corrupt Objects > > Mason/Koichi, > > I applied the patch and restarted the cluster. During startup I received the > following message on datanode startups: > > LOG: Falling back to local Xid. Was = 0, now is = 21590. AutovacuumLauncher > = 1 > LOG: Will fall back to local snapshot for XID = 21590, source = 0, gxmin = > 0, autovac launch = 1, autovac = 0 > > The log file is not reporting any new info that I can tell: > > LOG: database system was shut down at 2013-11-14 15:39:04 PST > LOG: database system is ready to accept connections > LOG: autovacuum launcher started > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > ERROR: XX000: could not open relation with OID 24594 > LOCATION: relation_open, heapam.c:923 > STATEMENT: truncate table gene.mutect; > > I’m not sure if any of this is meaningful but since I did not get a > definitive answer on whether there is a mechanism in place to remove invalid > objects (in this case the primary key), I am going to assume that there is > not. Let me know if this is not true or an oversimplification for > Postgres-XC. > > Thanks, > > bw > From: Mason Sharp <ms...@tr...> > Date: Thursday, November 14, 2013 at 12:26 PM > To: William West <ww...@uc...> > Cc: Koichi Suzuki <koi...@gm...>, > "pos...@li..." > <pos...@li...> > Subject: Re: [Postgres-xc-bugs] Corrupt Objects > > Hi Bill, > > On Thu, Nov 14, 2013 at 1:09 PM, West, William <ww...@uc...> wrote: >> >> Koichi, >> >> The verbose logging provided the following information: >> >> LOG: database system was shut down at 2013-11-14 09:46:37 PST >> LOG: database system is ready to accept connections >> LOG: autovacuum launcher started >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> ERROR: syntax error at or near "(" at character 24 >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> ERROR: XX000: could not open relation with OID 24594 >> LOCATION: relation_open, heapam.c:923 >> STATEMENT: truncate table gene.mutect; >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> > > The procarray errors suggest that there may be an issue communicating with > GTM. > > I fear that we currently allow falling back to local XIDs and snapshots, > which should be prohibited. Weird things can happen to your data at that > point... > > Feel free to try out the attached development patch to help uncover such > issues. > > >> To the second question the answer is yes the problem exists when I restart >> the cluster. I have even re-initialized the database several times and still >> encounter this problem. Oddly enough if I create a table named gene.mutect1 >> and poly a primary key to it and populate it with data, I can access t with >> no problem. However since I can remove the invalid objects it make the >> entire database unusable. >> >> Thanks, >> >> Bill West >> >> From: Koichi Suzuki <koi...@gm...> >> Date: Wednesday, November 13, 2013 at 7:24 PM >> To: William West <ww...@uc...> >> Cc: Michael Paquier <mic...@gm...>, >> "pos...@li..." >> <pos...@li...> >> Subject: Re: [Postgres-xc-bugs] Corrupt Objects >> >> First of all, to analyze what is going on, it will be helpful if you set >> log_error_verbosity GUC in postgresql.conf to verbose. The message is >> printed in number of internal modules so this setting will help. You can >> do this from psql session but you may have to be a superuser. >> >> Second, do you have the same error when you restart the whole XC cluster? >> >> Regards; >> >> --- >> Koichi Suzuki >> >> >> 2013/11/14 West, William <ww...@uc...> >>> >>> Sorry forget the version in my last response: >>> >>> psql (PGXC 1.1, based on PG 9.2.4) >>> >>> >>> Regards, >>> >>> bw >>> >>> On 11/13/13, 3:39 PM, "West, William" <ww...@uc...> wrote: >>> >>> >I am deploying a database to a production server that was developed >>> >without a problem on my dev platform. There are a couple of schemas and >>> > 4 >>> >tables. I can create and populate the tables but once I apply a primary >>> >key to one of the tables, it is no longer available for any DML >>> > operation. >>> >Apparently it cannot find the primary key wherever it is looking for it. >>> >If I recreate the table under a new name and populate and apply the >>> >primary key it works fine but now I am stuck with two useless objects >>> >which will interfere with maintenance routines down the line. >>> > >>> >My production environment is fairly unique in that I am deploying this >>> >instance on a new supercomputer architecture and this could very >>> > possible >>> >be the source of this instability (since this all works on my dev >>> > cluster >>> >which is just a couple of linux VM nodes). However, I don¹t know where >>> > to >>> >look at the metadata or logs to find out what is wrong. >>> > >>> >I have reinitialized and rebuilt the database a number of time but this >>> >won¹t be a real option when the project goes live (I hope) since it >>> > takes >>> >quite a bit of time even when doing a restore. Is there any manual way >>> > to >>> >remove these objects (limited to the table and primary key)from metadata >>> >tables and therefore eliminate them from the instance? >>> > >>> >Thanks, >>> > >>> >bw >>> > >>> >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...> >>> > wrote: >>> > >>> >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...> wrote: >>> >>> drop table gene.mutect cascade; >>> >>> ERROR: cache lookup failed for relation 24594 >>> >>> It doesn¹t seemed based on what I read that there is a mechanism to >>> >>>drop >>> >>> corrupted objects. I hope this isn¹t the case since being unable to >>> >>>remove >>> >>> invalid objects would make this product unsuitable for production >>> >>> work. >>> >>This is clearly a bug. This error appears because even if this session >>> >>has taken a lock on this relation that should guarantee its presence, >>> >>well it is not here, hence the error. >>> >> >>> >>Telling first what is the version used, and then giving an explicit >>> >>test case would help the dev team to solve this issue. >>> >>Regards, >>> >>-- >>> >>Michael >>> > >>> >>> >>> ------------------------------------------------------------------------------ >>> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >>> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >>> Free app hosting. Or install the open source package on any LAMP server. >>> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Postgres-xc-bugs mailing list >>> Pos...@li... >>> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs >> >> >> >> >> ------------------------------------------------------------------------------ >> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >> Free app hosting. Or install the open source package on any LAMP server. >> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >> _______________________________________________ >> Postgres-xc-bugs mailing list >> Pos...@li... >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs >> > > > > -- > Mason Sharp > > TransLattice - http://www.translattice.com > Distributed and Clustered Database Solutions > > |
From: Ashutosh B. <ash...@en...> - 2013-11-18 09:07:04
|
Postgres-XC is superset of PostgreSQL and is based on PostgreSQL code, and thus whatever bugs are present in PostgreSQL will be inherited by Postgres-XC. The problem you mentioned very well could be a PostgreSQL problem which is just showing up in Postgres-XC. It will help, if the steps which lead to this corrupt object are known. It might also help if you can google for similar problem in PostgreSQL. In Postgres-XC, we also maintain catalog table pgxc_class which is like pg_class but has some more XC specific information; you will need to remove the entry from that catalog as well. At the same time, you will need to modify the catalogs on all the datanode/s and coordinator/s. pgxc_class is not available on the datanode/s. On Sat, Nov 16, 2013 at 4:46 AM, West, William <ww...@uc...> wrote: > All, > > I was able to remove the invalid object based on some instructions that > were for PostgreSQL from Oscar Raig Colon posted on stackoverflow.com. I > got rid of the object so now maintenance routines like vacuum can be > performed against the entire database. Here is the sequence of queries that > seemed to partially work: > > First locate the objects OID: > > select c.oid from pg_class c join pg_namespace n on n.oid=c.relnamespace > where > c.relname = MY_TABLE and n.nspname= MY_SCHEMA; > > Then delete these records from the metadata tables: > > delete from pg_class where oid = MY_OID; > delete from pg_depend where objid = MY_OID; > delete from pg_constraint where conrelid = MY_OID; > > This deleted the table but I cannot re-create the table under the old > name probably because it is still being referenced in some other metadata > table I haven’t found yet. I hope this helps anyone trying to solve this > problem. > > Regards, > > Bill West > > From: <West>, William West <ww...@uc...> > Date: Thursday, November 14, 2013 at 3:58 PM > To: Mason Sharp <ms...@tr...> > > Cc: Koichi Suzuki <koi...@gm...>, " > pos...@li..." < > pos...@li...> > Subject: Re: [Postgres-xc-bugs] Corrupt Objects > > Mason/Koichi, > > I applied the patch and restarted the cluster. During startup I received > the following message on datanode startups: > > LOG: Falling back to local Xid. Was = 0, now is = 21590. > AutovacuumLauncher = 1 > LOG: Will fall back to local snapshot for XID = 21590, source = 0, gxmin > = 0, autovac launch = 1, autovac = 0 > > The log file is not reporting any new info that I can tell: > > LOG: database system was shut down at 2013-11-14 15:39:04 PST > LOG: database system is ready to accept connections > LOG: autovacuum launcher started > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > LOG: failed to find proc 0x2ba62235adc0 in ProcArray > ERROR: XX000: could not open relation with OID 24594 > LOCATION: relation_open, heapam.c:923 > STATEMENT: truncate table gene.mutect; > > I’m not sure if any of this is meaningful but since I did not get a > definitive answer on whether there is a mechanism in place to remove > invalid objects (in this case the primary key), I am going to assume that > there is not. Let me know if this is not true or an oversimplification for > Postgres-XC. > > Thanks, > > bw > From: Mason Sharp <ms...@tr...> > Date: Thursday, November 14, 2013 at 12:26 PM > To: William West <ww...@uc...> > Cc: Koichi Suzuki <koi...@gm...>, " > pos...@li..." < > pos...@li...> > Subject: Re: [Postgres-xc-bugs] Corrupt Objects > > Hi Bill, > > On Thu, Nov 14, 2013 at 1:09 PM, West, William <ww...@uc...> wrote: > >> Koichi, >> >> The verbose logging provided the following information: >> >> LOG: database system was shut down at 2013-11-14 09:46:37 PST >> LOG: database system is ready to accept connections >> LOG: autovacuum launcher started >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> ERROR: syntax error at or near "(" at character 24 >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> ERROR: XX000: could not open relation with OID 24594 >> LOCATION: relation_open, heapam.c:923 >> STATEMENT: truncate table gene.mutect; >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> LOG: failed to find proc 0x2b960f53cdc0 in ProcArray >> >> > The procarray errors suggest that there may be an issue communicating > with GTM. > > I fear that we currently allow falling back to local XIDs and snapshots, > which should be prohibited. Weird things can happen to your data at that > point... > > Feel free to try out the attached development patch to help uncover such > issues. > > > To the second question the answer is yes the problem exists when I >> restart the cluster. I have even re-initialized the database several times >> and still encounter this problem. Oddly enough if I create a table named >> gene.mutect1 and poly a primary key to it and populate it with data, I can >> access t with no problem. However since I can remove the invalid objects it >> make the entire database unusable. >> >> Thanks, >> >> Bill West >> >> From: Koichi Suzuki <koi...@gm...> >> Date: Wednesday, November 13, 2013 at 7:24 PM >> To: William West <ww...@uc...> >> Cc: Michael Paquier <mic...@gm...>, " >> pos...@li..." < >> pos...@li...> >> Subject: Re: [Postgres-xc-bugs] Corrupt Objects >> >> First of all, to analyze what is going on, it will be helpful if you >> set log_error_verbosity GUC in postgresql.conf to verbose. The message is >> printed in number of internal modules so this setting will help. You can >> do this from psql session but you may have to be a superuser. >> >> Second, do you have the same error when you restart the whole XC >> cluster? >> >> Regards; >> >> --- >> Koichi Suzuki >> >> >> 2013/11/14 West, William <ww...@uc...> >> >>> Sorry forget the version in my last response: >>> >>> psql (PGXC 1.1, based on PG 9.2.4) >>> >>> >>> Regards, >>> >>> bw >>> >>> On 11/13/13, 3:39 PM, "West, William" <ww...@uc...> wrote: >>> >>> >I am deploying a database to a production server that was developed >>> >without a problem on my dev platform. There are a couple of schemas and >>> 4 >>> >tables. I can create and populate the tables but once I apply a primary >>> >key to one of the tables, it is no longer available for any DML >>> operation. >>> >Apparently it cannot find the primary key wherever it is looking for it. >>> >If I recreate the table under a new name and populate and apply the >>> >primary key it works fine but now I am stuck with two useless objects >>> >which will interfere with maintenance routines down the line. >>> > >>> >My production environment is fairly unique in that I am deploying this >>> >instance on a new supercomputer architecture and this could very >>> possible >>> >be the source of this instability (since this all works on my dev >>> cluster >>> >which is just a couple of linux VM nodes). However, I don¹t know where >>> to >>> >look at the metadata or logs to find out what is wrong. >>> > >>> >I have reinitialized and rebuilt the database a number of time but this >>> >won¹t be a real option when the project goes live (I hope) since it >>> takes >>> >quite a bit of time even when doing a restore. Is there any manual way >>> to >>> >remove these objects (limited to the table and primary key)from metadata >>> >tables and therefore eliminate them from the instance? >>> > >>> >Thanks, >>> > >>> >bw >>> > >>> >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...> >>> wrote: >>> > >>> >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...> wrote: >>> >>> drop table gene.mutect cascade; >>> >>> ERROR: cache lookup failed for relation 24594 >>> >>> It doesn¹t seemed based on what I read that there is a mechanism to >>> >>>drop >>> >>> corrupted objects. I hope this isn¹t the case since being unable to >>> >>>remove >>> >>> invalid objects would make this product unsuitable for production >>> work. >>> >>This is clearly a bug. This error appears because even if this session >>> >>has taken a lock on this relation that should guarantee its presence, >>> >>well it is not here, hence the error. >>> >> >>> >>Telling first what is the version used, and then giving an explicit >>> >>test case would help the dev team to solve this issue. >>> >>Regards, >>> >>-- >>> >>Michael >>> > >>> >>> >>> ------------------------------------------------------------------------------ >>> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >>> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >>> Free app hosting. Or install the open source package on any LAMP server. >>> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >>> >>> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >>> _______________________________________________ >>> Postgres-xc-bugs mailing list >>> Pos...@li... >>> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs >>> >> >> >> >> ------------------------------------------------------------------------------ >> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >> Free app hosting. Or install the open source package on any LAMP server. >> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >> _______________________________________________ >> Postgres-xc-bugs mailing list >> Pos...@li... >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs >> >> > > > -- > Mason Sharp > > TransLattice - http://www.translattice.com > Distributed and Clustered Database Solutions > > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > > -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company |
From: West, W. <ww...@uc...> - 2013-11-15 23:16:24
|
All, I was able to remove the invalid object based on some instructions that were for PostgreSQL from Oscar Raig Colon posted on stackoverflow.com. I got rid of the object so now maintenance routines like vacuum can be performed against the entire database. Here is the sequence of queries that seemed to partially work: First locate the objects OID: select c.oid from pg_class c join pg_namespace n on n.oid=c.relnamespace where c.relname = MY_TABLE and n.nspname= MY_SCHEMA; Then delete these records from the metadata tables: delete from pg_class where oid = MY_OID; delete from pg_depend where objid = MY_OID; delete from pg_constraint where conrelid = MY_OID; This deleted the table but I cannot re-create the table under the old name probably because it is still being referenced in some other metadata table I haven’t found yet. I hope this helps anyone trying to solve this problem. Regards, Bill West From: <West>, William West <ww...@uc...<mailto:ww...@uc...>> Date: Thursday, November 14, 2013 at 3:58 PM To: Mason Sharp <ms...@tr...<mailto:ms...@tr...>> Cc: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects Mason/Koichi, I applied the patch and restarted the cluster. During startup I received the following message on datanode startups: LOG: Falling back to local Xid. Was = 0, now is = 21590. AutovacuumLauncher = 1 LOG: Will fall back to local snapshot for XID = 21590, source = 0, gxmin = 0, autovac launch = 1, autovac = 0 The log file is not reporting any new info that I can tell: LOG: database system was shut down at 2013-11-14 15:39:04 PST LOG: database system is ready to accept connections LOG: autovacuum launcher started LOG: failed to find proc 0x2ba62235adc0 in ProcArray LOG: failed to find proc 0x2ba62235adc0 in ProcArray LOG: failed to find proc 0x2ba62235adc0 in ProcArray ERROR: XX000: could not open relation with OID 24594 LOCATION: relation_open, heapam.c:923 STATEMENT: truncate table gene.mutect; I’m not sure if any of this is meaningful but since I did not get a definitive answer on whether there is a mechanism in place to remove invalid objects (in this case the primary key), I am going to assume that there is not. Let me know if this is not true or an oversimplification for Postgres-XC. Thanks, bw From: Mason Sharp <ms...@tr...<mailto:ms...@tr...>> Date: Thursday, November 14, 2013 at 12:26 PM To: William West <ww...@uc...<mailto:ww...@uc...>> Cc: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects Hi Bill, On Thu, Nov 14, 2013 at 1:09 PM, West, William <ww...@uc...<mailto:ww...@uc...>> wrote: Koichi, The verbose logging provided the following information: LOG: database system was shut down at 2013-11-14 09:46:37 PST LOG: database system is ready to accept connections LOG: autovacuum launcher started LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: syntax error at or near "(" at character 24 LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: XX000: could not open relation with OID 24594 LOCATION: relation_open, heapam.c:923 STATEMENT: truncate table gene.mutect; LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray The procarray errors suggest that there may be an issue communicating with GTM. I fear that we currently allow falling back to local XIDs and snapshots, which should be prohibited. Weird things can happen to your data at that point... Feel free to try out the attached development patch to help uncover such issues. To the second question the answer is yes the problem exists when I restart the cluster. I have even re-initialized the database several times and still encounter this problem. Oddly enough if I create a table named gene.mutect1 and poly a primary key to it and populate it with data, I can access t with no problem. However since I can remove the invalid objects it make the entire database unusable. Thanks, Bill West From: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>> Date: Wednesday, November 13, 2013 at 7:24 PM To: William West <ww...@uc...<mailto:ww...@uc...>> Cc: Michael Paquier <mic...@gm...<mailto:mic...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects First of all, to analyze what is going on, it will be helpful if you set log_error_verbosity GUC in postgresql.conf to verbose. The message is printed in number of internal modules so this setting will help. You can do this from psql session but you may have to be a superuser. Second, do you have the same error when you restart the whole XC cluster? Regards; --- Koichi Suzuki 2013/11/14 West, William <ww...@uc...<mailto:ww...@uc...>> Sorry forget the version in my last response: psql (PGXC 1.1, based on PG 9.2.4) Regards, bw On 11/13/13, 3:39 PM, "West, William" <ww...@uc...<mailto:ww...@uc...>> wrote: >I am deploying a database to a production server that was developed >without a problem on my dev platform. There are a couple of schemas and 4 >tables. I can create and populate the tables but once I apply a primary >key to one of the tables, it is no longer available for any DML operation. >Apparently it cannot find the primary key wherever it is looking for it. >If I recreate the table under a new name and populate and apply the >primary key it works fine but now I am stuck with two useless objects >which will interfere with maintenance routines down the line. > >My production environment is fairly unique in that I am deploying this >instance on a new supercomputer architecture and this could very possible >be the source of this instability (since this all works on my dev cluster >which is just a couple of linux VM nodes). However, I don¹t know where to >look at the metadata or logs to find out what is wrong. > >I have reinitialized and rebuilt the database a number of time but this >won¹t be a real option when the project goes live (I hope) since it takes >quite a bit of time even when doing a restore. Is there any manual way to >remove these objects (limited to the table and primary key)from metadata >tables and therefore eliminate them from the instance? > >Thanks, > >bw > >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...<mailto:mic...@gm...>> wrote: > >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...<mailto:ww...@uc...>> wrote: >>> drop table gene.mutect cascade; >>> ERROR: cache lookup failed for relation 24594 >>> It doesn¹t seemed based on what I read that there is a mechanism to >>>drop >>> corrupted objects. I hope this isn¹t the case since being unable to >>>remove >>> invalid objects would make this product unsuitable for production work. >>This is clearly a bug. This error appears because even if this session >>has taken a lock on this relation that should guarantee its presence, >>well it is not here, hence the error. >> >>Telling first what is the version used, and then giving an explicit >>test case would help the dev team to solve this issue. >>Regards, >>-- >>Michael > ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Postgres-xc-bugs mailing list Pos...@li...<mailto:Pos...@li...> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Postgres-xc-bugs mailing list Pos...@li...<mailto:Pos...@li...> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs -- Mason Sharp TransLattice - http://www.translattice.com Distributed and Clustered Database Solutions |
From: West, W. <ww...@uc...> - 2013-11-15 00:00:23
|
Mason/Koichi, I applied the patch and restarted the cluster. During startup I received the following message on datanode startups: LOG: Falling back to local Xid. Was = 0, now is = 21590. AutovacuumLauncher = 1 LOG: Will fall back to local snapshot for XID = 21590, source = 0, gxmin = 0, autovac launch = 1, autovac = 0 The log file is not reporting any new info that I can tell: LOG: database system was shut down at 2013-11-14 15:39:04 PST LOG: database system is ready to accept connections LOG: autovacuum launcher started LOG: failed to find proc 0x2ba62235adc0 in ProcArray LOG: failed to find proc 0x2ba62235adc0 in ProcArray LOG: failed to find proc 0x2ba62235adc0 in ProcArray ERROR: XX000: could not open relation with OID 24594 LOCATION: relation_open, heapam.c:923 STATEMENT: truncate table gene.mutect; I’m not sure if any of this is meaningful but since I did not get a definitive answer on whether there is a mechanism in place to remove invalid objects (in this case the primary key), I am going to assume that there is not. Let me know if this is not true or an oversimplification for Postgres-XC. Thanks, bw From: Mason Sharp <ms...@tr...<mailto:ms...@tr...>> Date: Thursday, November 14, 2013 at 12:26 PM To: William West <ww...@uc...<mailto:ww...@uc...>> Cc: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects Hi Bill, On Thu, Nov 14, 2013 at 1:09 PM, West, William <ww...@uc...<mailto:ww...@uc...>> wrote: Koichi, The verbose logging provided the following information: LOG: database system was shut down at 2013-11-14 09:46:37 PST LOG: database system is ready to accept connections LOG: autovacuum launcher started LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: syntax error at or near "(" at character 24 LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: XX000: could not open relation with OID 24594 LOCATION: relation_open, heapam.c:923 STATEMENT: truncate table gene.mutect; LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray The procarray errors suggest that there may be an issue communicating with GTM. I fear that we currently allow falling back to local XIDs and snapshots, which should be prohibited. Weird things can happen to your data at that point... Feel free to try out the attached development patch to help uncover such issues. To the second question the answer is yes the problem exists when I restart the cluster. I have even re-initialized the database several times and still encounter this problem. Oddly enough if I create a table named gene.mutect1 and poly a primary key to it and populate it with data, I can access t with no problem. However since I can remove the invalid objects it make the entire database unusable. Thanks, Bill West From: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>> Date: Wednesday, November 13, 2013 at 7:24 PM To: William West <ww...@uc...<mailto:ww...@uc...>> Cc: Michael Paquier <mic...@gm...<mailto:mic...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects First of all, to analyze what is going on, it will be helpful if you set log_error_verbosity GUC in postgresql.conf to verbose. The message is printed in number of internal modules so this setting will help. You can do this from psql session but you may have to be a superuser. Second, do you have the same error when you restart the whole XC cluster? Regards; --- Koichi Suzuki 2013/11/14 West, William <ww...@uc...<mailto:ww...@uc...>> Sorry forget the version in my last response: psql (PGXC 1.1, based on PG 9.2.4) Regards, bw On 11/13/13, 3:39 PM, "West, William" <ww...@uc...<mailto:ww...@uc...>> wrote: >I am deploying a database to a production server that was developed >without a problem on my dev platform. There are a couple of schemas and 4 >tables. I can create and populate the tables but once I apply a primary >key to one of the tables, it is no longer available for any DML operation. >Apparently it cannot find the primary key wherever it is looking for it. >If I recreate the table under a new name and populate and apply the >primary key it works fine but now I am stuck with two useless objects >which will interfere with maintenance routines down the line. > >My production environment is fairly unique in that I am deploying this >instance on a new supercomputer architecture and this could very possible >be the source of this instability (since this all works on my dev cluster >which is just a couple of linux VM nodes). However, I don¹t know where to >look at the metadata or logs to find out what is wrong. > >I have reinitialized and rebuilt the database a number of time but this >won¹t be a real option when the project goes live (I hope) since it takes >quite a bit of time even when doing a restore. Is there any manual way to >remove these objects (limited to the table and primary key)from metadata >tables and therefore eliminate them from the instance? > >Thanks, > >bw > >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...<mailto:mic...@gm...>> wrote: > >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...<mailto:ww...@uc...>> wrote: >>> drop table gene.mutect cascade; >>> ERROR: cache lookup failed for relation 24594 >>> It doesn¹t seemed based on what I read that there is a mechanism to >>>drop >>> corrupted objects. I hope this isn¹t the case since being unable to >>>remove >>> invalid objects would make this product unsuitable for production work. >>This is clearly a bug. This error appears because even if this session >>has taken a lock on this relation that should guarantee its presence, >>well it is not here, hence the error. >> >>Telling first what is the version used, and then giving an explicit >>test case would help the dev team to solve this issue. >>Regards, >>-- >>Michael > ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Postgres-xc-bugs mailing list Pos...@li...<mailto:Pos...@li...> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Postgres-xc-bugs mailing list Pos...@li...<mailto:Pos...@li...> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs -- Mason Sharp TransLattice - http://www.translattice.com Distributed and Clustered Database Solutions |
From: West, W. <ww...@uc...> - 2013-11-14 18:10:47
|
Koichi, The verbose logging provided the following information: LOG: database system was shut down at 2013-11-14 09:46:37 PST LOG: database system is ready to accept connections LOG: autovacuum launcher started LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: syntax error at or near "(" at character 24 LOG: failed to find proc 0x2b960f53cdc0 in ProcArray ERROR: XX000: could not open relation with OID 24594 LOCATION: relation_open, heapam.c:923 STATEMENT: truncate table gene.mutect; LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray LOG: failed to find proc 0x2b960f53cdc0 in ProcArray To the second question the answer is yes the problem exists when I restart the cluster. I have even re-initialized the database several times and still encounter this problem. Oddly enough if I create a table named gene.mutect1 and poly a primary key to it and populate it with data, I can access t with no problem. However since I can remove the invalid objects it make the entire database unusable. Thanks, Bill West From: Koichi Suzuki <koi...@gm...<mailto:koi...@gm...>> Date: Wednesday, November 13, 2013 at 7:24 PM To: William West <ww...@uc...<mailto:ww...@uc...>> Cc: Michael Paquier <mic...@gm...<mailto:mic...@gm...>>, "pos...@li...<mailto:pos...@li...>" <pos...@li...<mailto:pos...@li...>> Subject: Re: [Postgres-xc-bugs] Corrupt Objects First of all, to analyze what is going on, it will be helpful if you set log_error_verbosity GUC in postgresql.conf to verbose. The message is printed in number of internal modules so this setting will help. You can do this from psql session but you may have to be a superuser. Second, do you have the same error when you restart the whole XC cluster? Regards; --- Koichi Suzuki 2013/11/14 West, William <ww...@uc...<mailto:ww...@uc...>> Sorry forget the version in my last response: psql (PGXC 1.1, based on PG 9.2.4) Regards, bw On 11/13/13, 3:39 PM, "West, William" <ww...@uc...<mailto:ww...@uc...>> wrote: >I am deploying a database to a production server that was developed >without a problem on my dev platform. There are a couple of schemas and 4 >tables. I can create and populate the tables but once I apply a primary >key to one of the tables, it is no longer available for any DML operation. >Apparently it cannot find the primary key wherever it is looking for it. >If I recreate the table under a new name and populate and apply the >primary key it works fine but now I am stuck with two useless objects >which will interfere with maintenance routines down the line. > >My production environment is fairly unique in that I am deploying this >instance on a new supercomputer architecture and this could very possible >be the source of this instability (since this all works on my dev cluster >which is just a couple of linux VM nodes). However, I don¹t know where to >look at the metadata or logs to find out what is wrong. > >I have reinitialized and rebuilt the database a number of time but this >won¹t be a real option when the project goes live (I hope) since it takes >quite a bit of time even when doing a restore. Is there any manual way to >remove these objects (limited to the table and primary key)from metadata >tables and therefore eliminate them from the instance? > >Thanks, > >bw > >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...<mailto:mic...@gm...>> wrote: > >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...<mailto:ww...@uc...>> wrote: >>> drop table gene.mutect cascade; >>> ERROR: cache lookup failed for relation 24594 >>> It doesn¹t seemed based on what I read that there is a mechanism to >>>drop >>> corrupted objects. I hope this isn¹t the case since being unable to >>>remove >>> invalid objects would make this product unsuitable for production work. >>This is clearly a bug. This error appears because even if this session >>has taken a lock on this relation that should guarantee its presence, >>well it is not here, hence the error. >> >>Telling first what is the version used, and then giving an explicit >>test case would help the dev team to solve this issue. >>Regards, >>-- >>Michael > ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Postgres-xc-bugs mailing list Pos...@li...<mailto:Pos...@li...> https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs |
From: Koichi S. <koi...@gm...> - 2013-11-14 02:24:30
|
First of all, to analyze what is going on, it will be helpful if you set log_error_verbosity GUC in postgresql.conf to verbose. The message is printed in number of internal modules so this setting will help. You can do this from psql session but you may have to be a superuser. Second, do you have the same error when you restart the whole XC cluster? Regards; --- Koichi Suzuki 2013/11/14 West, William <ww...@uc...> > Sorry forget the version in my last response: > > psql (PGXC 1.1, based on PG 9.2.4) > > > Regards, > > bw > > On 11/13/13, 3:39 PM, "West, William" <ww...@uc...> wrote: > > >I am deploying a database to a production server that was developed > >without a problem on my dev platform. There are a couple of schemas and 4 > >tables. I can create and populate the tables but once I apply a primary > >key to one of the tables, it is no longer available for any DML operation. > >Apparently it cannot find the primary key wherever it is looking for it. > >If I recreate the table under a new name and populate and apply the > >primary key it works fine but now I am stuck with two useless objects > >which will interfere with maintenance routines down the line. > > > >My production environment is fairly unique in that I am deploying this > >instance on a new supercomputer architecture and this could very possible > >be the source of this instability (since this all works on my dev cluster > >which is just a couple of linux VM nodes). However, I don¹t know where to > >look at the metadata or logs to find out what is wrong. > > > >I have reinitialized and rebuilt the database a number of time but this > >won¹t be a real option when the project goes live (I hope) since it takes > >quite a bit of time even when doing a restore. Is there any manual way to > >remove these objects (limited to the table and primary key)from metadata > >tables and therefore eliminate them from the instance? > > > >Thanks, > > > >bw > > > >On 11/13/13, 3:27 PM, "Michael Paquier" <mic...@gm...> > wrote: > > > >>On Thu, Nov 14, 2013 at 5:34 AM, West, William <ww...@uc...> wrote: > >>> drop table gene.mutect cascade; > >>> ERROR: cache lookup failed for relation 24594 > >>> It doesn¹t seemed based on what I read that there is a mechanism to > >>>drop > >>> corrupted objects. I hope this isn¹t the case since being unable to > >>>remove > >>> invalid objects would make this product unsuitable for production work. > >>This is clearly a bug. This error appears because even if this session > >>has taken a lock on this relation that should guarantee its presence, > >>well it is not here, hence the error. > >> > >>Telling first what is the version used, and then giving an explicit > >>test case would help the dev team to solve this issue. > >>Regards, > >>-- > >>Michael > > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Postgres-xc-bugs mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-bugs > |