From: Abbas B. <abb...@en...> - 2013-07-03 03:14:10
|
Since you are getting a crash even without your patch there must be some thing wrong in the deployment. Can you try doing ./configure --enable-debug --enable-cassert CFLAGS='-O0' and then see whether its an assertion failure or not? Also can you see which SQL statement is causing the crash in xmlmap.sql? On Mon, Jul 1, 2013 at 4:51 PM, Tomonari Katsumata < t.k...@gm...> wrote: > Hi, > > I've tried regression test, but I could not > get right result. > Both patched and un-patched Postgres-XC get > same result, so I think my process is bad. > > I run a gtm, a gtm_proxy, a coordinator, a datanode > in one server(CentOS6.4 x86_64 on VMWare), > and hit "make installcheck". > The configure option is [--enable-debug CFLAGS=""]. > > What is right way to run the regression test? > > output is below. > --------------------------------------------------------- > test tablespace ... ok > test boolean ... ok > test char ... ok > test name ... ok > test varchar ... ok > test text ... ok > test int2 ... ok > test int4 ... ok > test int8 ... ok > test oid ... ok > test float4 ... ok > test float8 ... ok > test bit ... ok > test numeric ... ok > test txid ... ok > test uuid ... ok > test enum ... FAILED > test money ... ok > test rangetypes ... ok > test strings ... ok > test numerology ... ok > test point ... ok > test lseg ... ok > test box ... ok > test path ... ok > test polygon ... ok > test circle ... ok > test date ... ok > test time ... ok > test timetz ... ok > test timestamp ... ok > test timestamptz ... ok > test interval ... ok > test abstime ... ok > test reltime ... ok > test tinterval ... ok > test inet ... ok > test macaddr ... ok > test tstypes ... ok > test comments ... ok > test geometry ... ok > test horology ... ok > test regex ... ok > test oidjoins ... ok > test type_sanity ... ok > test opr_sanity ... ok > test insert ... ok > test create_function_1 ... ok > test create_type ... ok > test create_table ... ok > test create_function_2 ... ok > test create_function_3 ... ok > test copy ... ok > test copyselect ... ok > test create_misc ... ok > test create_operator ... ok > test create_index ... FAILED > test create_view ... ok > test create_aggregate ... ok > test create_cast ... ok > test constraints ... FAILED > test triggers ... ok > test inherit ... FAILED > test create_table_like ... ok > test typed_table ... ok > test vacuum ... ok > test drop_if_exists ... ok > test sanity_check ... ok > test errors ... ok > test select ... ok > test select_into ... ok > test select_distinct ... ok > test select_distinct_on ... ok > test select_implicit ... ok > test select_having ... ok > test subselect ... ok > test union ... ok > test case ... ok > test join ... FAILED > test aggregates ... FAILED > test transactions ... ok > test random ... ok > test portals ... ok > test arrays ... FAILED > test btree_index ... ok > test hash_index ... ok > test update ... ok > test delete ... ok > test namespace ... ok > test prepared_xacts ... ok > test privileges ... FAILED > test security_label ... ok > test collate ... FAILED > test misc ... ok > test rules ... ok > test select_views ... ok > test portals_p2 ... ok > test foreign_key ... ok > test cluster ... ok > test dependency ... ok > test guc ... ok > test bitmapops ... ok > test combocid ... ok > test tsearch ... ok > test tsdicts ... ok > test foreign_data ... ok > test window ... ok > test xmlmap ... FAILED (test process exited with exit > code 2) > test functional_deps ... FAILED (test process exited with exit > code 2) > test advisory_lock ... FAILED (test process exited with exit > code 2) > test json ... FAILED (test process exited with exit > code 2) > test plancache ... FAILED (test process exited with exit > code 2) > test limit ... FAILED (test process exited with exit > code 2) > test plpgsql ... FAILED (test process exited with exit > code 2) > test copy2 ... FAILED (test process exited with exit > code 2) > test temp ... FAILED (test process exited with exit > code 2) > test domain ... FAILED (test process exited with exit > code 2) > test rangefuncs ... FAILED (test process exited with exit > code 2) > test prepare ... FAILED (test process exited with exit > code 2) > test without_oid ... FAILED (test process exited with exit > code 2) > test conversion ... FAILED (test process exited with exit > code 2) > test truncate ... FAILED (test process exited with exit > code 2) > test alter_table ... FAILED (test process exited with exit > code 2) > test sequence ... FAILED (test process exited with exit > code 2) > test polymorphism ... FAILED (test process exited with exit > code 2) > test rowtypes ... FAILED (test process exited with exit > code 2) > test returning ... FAILED (test process exited with exit > code 2) > test largeobject ... FAILED (test process exited with exit > code 2) > test with ... FAILED (test process exited with exit > code 2) > test xml ... FAILED (test process exited with exit > code 2) > test stats ... FAILED (test process exited with exit > code 2) > test xc_create_function ... FAILED (test process exited with exit > code 2) > test xc_groupby ... FAILED (test process exited with exit > code 2) > test xc_distkey ... FAILED (test process exited with exit > code 2) > test xc_having ... FAILED (test process exited with exit > code 2) > test xc_temp ... FAILED (test process exited with exit > code 2) > test xc_remote ... FAILED (test process exited with exit > code 2) > test xc_node ... FAILED (test process exited with exit > code 2) > test xc_FQS ... FAILED (test process exited with exit > code 2) > test xc_FQS_join ... FAILED (test process exited with exit > code 2) > test xc_misc ... FAILED (test process exited with exit > code 2) > test xc_triggers ... FAILED (test process exited with exit > code 2) > test xc_trigship ... FAILED (test process exited with exit > code 2) > test xc_constraints ... FAILED (test process exited with exit > code 2) > test xc_copy ... FAILED (test process exited with exit > code 2) > test xc_alter_table ... FAILED (test process exited with exit > code 2) > test xc_sequence ... FAILED (test process exited with exit > code 2) > test xc_prepared_xacts ... FAILED (test process exited with exit > code 2) > test xc_notrans_block ... FAILED (test process exited with exit > code 2) > test xc_limit ... FAILED (test process exited with exit > code 2) > test xc_sort ... FAILED (test process exited with exit > code 2) > test xc_returning ... FAILED (test process exited with exit > code 2) > test xc_params ... FAILED (test process exited with exit > code 2) > ========================= > 55 of 153 tests failed. > ========================= > > > 2013/7/1 Tomonari Katsumata <kat...@po...> > >> Hi Ashutosh, >> >> OK, I'll try regression test. >> Please wait for the result. >> >> regards, >> ------------ >> NTT Software Corporation >> Tomonari Katsumata >> >> (2013/07/01 17:06), Ashutosh Bapat wrote: >> > Hi Tomonori, >> > >> > >> > >> > On Mon, Jul 1, 2013 at 1:33 PM, Tomonari Katsumata < >> > kat...@po...> wrote: >> > >> >> Hi Ashutosh and all, >> >> >> >> Sorry for late response. >> >> I made a patch for resolving the problem I mentioned before. >> >> >> >> I thought the reason of this problem is parsing query twice. >> >> because of this, the rtable is made from same Lists and become >> >> cycliced List. >> >> I fixed this problem with making former List empty. >> >> >> >> I'm not sure this fix leads any anothre problems but >> >> the problem query I mentioned before works fine. >> >> >> >> This patch is against for >> "**a074cac9b6b507e6d4b58c5004673f**6cc65fcde1". >> >> >> >> >> > You can check the robustness of patch by running regression. Please let >> me >> > know what you see. >> > >> > >> >> regards, >> >> ------------------ >> >> NTT Software Corporation >> >> Tomonari Katsumata >> >> >> >> >> >> (2013/06/17 18:53), Ashutosh Bapat wrote: >> >> >> >>> Hi Tomonari, >> >>> In which function have you taken this debug info? What is list1 and >> list2? >> >>> >> >>> >> >>> On Mon, Jun 17, 2013 at 10:13 AM, Tomonari Katsumata < >> >>> kat...@po....**jp <kat...@po... >> >> >> >>> wrote: >> >>> >> >>> Hi Ashtosh, >> >>>> Sorry for slow response. >> >>>> >> >>>> I've watched the each lists at list_concat function. >> >>>> >> >>>> This function is called several times, but the lists before >> >>>> last infinitely roop are like below. >> >>>> >> >>>> [list1] >> >>>> (gdb) p *list1->head >> >>>> $18 = {data = {ptr_value = 0x17030e8, int_value = 24129768, >> >>>> oid_value = 24129768}, next = 0x170d418} >> >>>> (gdb) p *list1->head->next >> >>>> $19 = {data = {ptr_value = 0x17033d0, int_value = 24130512, >> >>>> oid_value = 24130512}, next = 0x170fd40} >> >>>> (gdb) p *list1->head->next->next >> >>>> $20 = {data = {ptr_value = 0x170ae58, int_value = 24161880, >> >>>> oid_value = 24161880}, next = 0x171e6c8} >> >>>> (gdb) p *list1->head->next->next->next >> >>>> $21 = {data = {ptr_value = 0x1702ca8, int_value = 24128680, >> >>>> oid_value = 24128680}, next = 0x171ed28} >> >>>> (gdb) p *list1->head->next->next->**next->next >> >>>> $22 = {data = {ptr_value = 0x170af68, int_value = 24162152, >> >>>> oid_value = 24162152}, next = 0x171f3a0} >> >>>> (gdb) p *list1->head->next->next->**next->next->next >> >>>> $23 = {data = {ptr_value = 0x170b0a8, int_value = 24162472, >> >>>> oid_value = 24162472}, next = 0x170b7c0} >> >>>> (gdb) p *list1->head->next->next->**next->next->next->next >> >>>> $24 = {data = {ptr_value = 0x17035f0, int_value = 24131056, >> >>>> oid_value = 24131056}, next = 0x1720998} >> >>>> ---- from --- >> >>>> (gdb) p *list1->head->next->next->**next->next->next->next->next >> >>>> $25 = {data = {ptr_value = 0x17209b8, int_value = 24250808, >> >>>> oid_value = 24250808}, next = 0x1721190} >> >>>> (gdb) p >> *list1->head->next->next->**next->next->next->next->next->**next >> >>>> $26 = {data = {ptr_value = 0x17211b0, int_value = 24252848, >> >>>> oid_value = 24252848}, next = 0x1721988} >> >>>> (gdb) p *list1->head->next->next->**next->next->next->next->next->** >> >>>> next->next >> >>>> $27 = {data = {ptr_value = 0x17219a8, int_value = 24254888, >> >>>> oid_value = 24254888}, next = 0x1722018} >> >>>> (gdb) p >> >>>> *list1->head->next->next->**next->next->next->next->next->** >> >>>> next->next->next >> >>>> $28 = {data = {ptr_value = 0x1722038, int_value = 24256568, >> >>>> oid_value = 24256568}, next = 0x1722820} >> >>>> (gdb) p >> >>>> >> >>>> *list1->head->next->next->**next->next->next->next->next->** >> >>>> next->next->next->next >> >>>> $29 = {data = {ptr_value = 0x1722840, int_value = 24258624, >> >>>> oid_value = 24258624}, next = 0x0} >> >>>> ---- to ---- >> >>>> >> >>>> [list2] >> >>>> (gdb) p *list2->head >> >>>> $31 = {data = {ptr_value = 0x17209b8, int_value = 24250808, >> >>>> oid_value = 24250808}, next = 0x1721190} >> >>>> (gdb) p *list2->head->next >> >>>> $32 = {data = {ptr_value = 0x17211b0, int_value = 24252848, >> >>>> oid_value = 24252848}, next = 0x1721988} >> >>>> (gdb) p *list2->head->next->next >> >>>> $33 = {data = {ptr_value = 0x17219a8, int_value = 24254888, >> >>>> oid_value = 24254888}, next = 0x1722018} >> >>>> (gdb) p *list2->head->next->next->next >> >>>> $34 = {data = {ptr_value = 0x1722038, int_value = 24256568, >> >>>> oid_value = 24256568}, next = 0x1722820} >> >>>> (gdb) p *list2->head->next->next->**next->next >> >>>> $35 = {data = {ptr_value = 0x1722840, int_value = 24258624, >> >>>> oid_value = 24258624}, next = 0x0} >> >>>> ---- >> >>>> >> >>>> list1's last five elements are same with list2's all elements. >> >>>> (in above example, between "from" and "to" in list1 equal all of >> list2) >> >>>> >> >>>> This is cause of infinitely roop, but I can not >> >>>> watch deeper. >> >>>> Because some values from gdb are optimized and un-displayed. >> >>>> I tried compile with CFLAGS=O0, but I can't. >> >>>> >> >>>> What can I do more ? >> >>>> >> >>>> regards, >> >>>> ------------------ >> >>>> NTT Software Corporation >> >>>> Tomonari Katsumata >> >>>> >> >>>> (2013/06/12 21:04), Ashutosh Bapat wrote: >> >>>> > Hi Tomonari, >> >>>> > Can you please check the list's sanity before calling >> >>>> pgxc_collect_RTE() >> >>>> > and at every point in the minions of this function. My primary >> >>>> suspect >> >>>> is >> >>>> > the line pgxcplan.c:3094. We should copy the list before >> >>>> concatenating it. >> >>>> > >> >>>> > >> >>>> > On Wed, Jun 12, 2013 at 2:26 PM, Tomonari Katsumata < >> >>>> > kat...@po....**jp< >> kat...@po...>> >> >>>> wrote: >> >>>> > >> >>>> >> Hi Ashutosh, >> >>>> >> >> >>>> >> Thank you for the response. >> >>>> >> >> >>>> >> (2013/06/12 14:43), Ashutosh Bapat wrote: >> >>>> >> >> Hi, >> >>>> >> >> > >> >>>> >> >> > I've investigated this problem(BUG:3614369). >> >>>> >> >> > >> >>>> >> >> > I caught the cause of it, but I can not >> >>>> >> >> > find where to fix. >> >>>> >> >> > >> >>>> >> >> > The problem occurs when "pgxc_collect_RTE_walker" is >> called >> >>>> >> infinitely. >> >>>> >> >> > It seems that rtable(List of RangeTable) become cyclic >> List. >> >>>> >> >> > I'm not sure where the List is made. >> >>>> >> >> > >> >>>> >> >> > >> >>>> >> > I guess, we are talking about EXECUTE DIRECT statement that >> you >> >>>> have >> >>>> >> > mentioned earlier. >> >>>> >> >> >>>> >> Yes, that's right. >> >>>> >> I'm talking about EXECUTE DIRECT statement like below. >> >>>> >> --- >> >>>> >> EXECUTE DIRECT ON (data1) $$ >> >>>> >> SELECT >> >>>> >> count(*) >> >>>> >> FROM >> >>>> >> (SELECT * FROM pg_locks l LEFT JOIN >> >>>> >> (SELECT * FROM pg_stat_activity) s ON l.database = s.datid) a >> >>>> >> $$ >> >>>> >> --- >> >>>> >> >> >>>> >> > The function pgxc_collect_RTE_walker() is a recursive >> >>>> >> > function. The condition to end the recursion is if the given >> >>>> node is >> >>>> >> NULL. >> >>>> >> > We have to look at if that condition is met and if not why. >> >>>> >> > >> >>>> >> I investigated it deeper, and I noticed that >> >>>> >> the infinitely loop happens at the function >> "range_table_walker()". >> >>>> >> >> >>>> >> Please see below trace. >> >>>> >> =========================== >> >>>> >> Breakpoint 1, range_table_walker (rtable=0x15e7968, >> walker=0x612c70 >> >>>> >> <pgxc_collect_RTE_walker>, context=0x7fffd2de31c0, >> >>>> >> flags=0) at nodeFuncs.c:1908 >> >>>> >> 1908 in nodeFuncs.c >> >>>> >> >> >>>> >> (gdb) p *rtable >> >>>> >> $10 = {type = T_List, length = 5, head = 0x15e7998, tail = >> >>>> 0x15e9820} >> >>>> >> (gdb) p *rtable->head >> >>>> >> $11 = {data = {ptr_value = 0x15e79b8, int_value = 22968760, >> >>>> oid_value = >> >>>> >> 22968760}, next = 0x15e8190} >> >>>> >> (gdb) p *rtable->head->next >> >>>> >> $12 = {data = {ptr_value = 0x15e81b0, int_value = 22970800, >> >>>> oid_value = >> >>>> >> 22970800}, next = 0x15e8988} >> >>>> >> (gdb) p *rtable->head->next->next >> >>>> >> $13 = {data = {ptr_value = 0x15e89a8, int_value = 22972840, >> >>>> oid_value = >> >>>> >> 22972840}, next = 0x15e9018} >> >>>> >> (gdb) p *rtable->head->next->next->**next >> >>>> >> $14 = {data = {ptr_value = 0x15e9038, int_value = 22974520, >> >>>> oid_value = >> >>>> >> 22974520}, next = 0x15e9820} >> >>>> >> (gdb) p *rtable->head->next->next->**next->next >> >>>> >> $15 = {data = {ptr_value = 0x15e9840, int_value = 22976576, >> >>>> oid_value = >> >>>> >> 22976576}, next = 0x15e7998} >> >>>> >> =========================== >> >>>> >> >> >>>> >> The line which starts with "$15" has 0x15e7998 as its next >> data. >> >>>> >> But it is the head pointer(see the line which starts with $10). >> >>>> >> >> >>>> >> And in range_table_walker(), the function is called >> recursively. >> >>>> >> -------- >> >>>> >> ... >> >>>> >> if (!(flags & QTW_IGNORE_RANGE_TABLE)) >> >>>> >> { >> >>>> >> if (range_table_walker(query->**rtable, >> walker, >> >>>> context, >> >>>> >> flags)) >> >>>> >> return true; >> >>>> >> } >> >>>> >> ... >> >>>> >> -------- >> >>>> >> >> >>>> >> We should make rtable right or deal with "flags" properly. >> >>>> >> But I can't find where to do it... >> >>>> >> >> >>>> >> What do you think ? >> >>>> >> >> >>>> >> regards, >> >>>> >> --------- >> >>>> >> NTT Software Corporation >> >>>> >> Tomonari Katsumata >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> >> >>>> ------------------------------**------------------------------** >> >>>> ------------------ >> >>>> >> This SF.net email is sponsored by Windows: >> >>>> >> >> >>>> >> Build for Windows Store. >> >>>> >> >> >>>> >> http://p.sf.net/sfu/windows-**dev2dev< >> http://p.sf.net/sfu/windows-dev2dev> >> >>>> >> ______________________________**_________________ >> >>>> >> Postgres-xc-developers mailing list >> >>>> >> Postgres-xc-developers@lists.**sourceforge.net< >> Pos...@li...> >> >>>> >> https://lists.sourceforge.net/**lists/listinfo/postgres-xc-** >> >>>> developers< >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers> >> >>>> >> >> >>>> > >> >>>> > >> >>>> > >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> ------------------------------**------------------------------** >> >>>> ------------------ >> >>>> This SF.net email is sponsored by Windows: >> >>>> >> >>>> Build for Windows Store. >> >>>> >> >>>> http://p.sf.net/sfu/windows-**dev2dev< >> http://p.sf.net/sfu/windows-dev2dev> >> >>>> ______________________________**_________________ >> >>>> Postgres-xc-developers mailing list >> >>>> Postgres-xc-developers@lists.**sourceforge.net< >> Pos...@li...> >> >>>> >> https://lists.sourceforge.net/**lists/listinfo/postgres-xc-**developers< >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers> >> >>>> >> >>>> >> >>> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> This SF.net email is sponsored by Windows: >> >> >> >> Build for Windows Store. >> >> >> >> http://p.sf.net/sfu/windows-dev2dev >> >> _______________________________________________ >> >> Postgres-xc-developers mailing list >> >> Pos...@li... >> >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers >> >> >> >> >> > >> >> >> >> >> >> ------------------------------------------------------------------------------ >> This SF.net email is sponsored by Windows: >> >> Build for Windows Store. >> >> http://p.sf.net/sfu/windows-dev2dev >> _______________________________________________ >> Postgres-xc-developers mailing list >> Pos...@li... >> https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers >> > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Windows: > > Build for Windows Store. > > http://p.sf.net/sfu/windows-dev2dev > _______________________________________________ > Postgres-xc-developers mailing list > Pos...@li... > https://lists.sourceforge.net/lists/listinfo/postgres-xc-developers > > -- -- *Abbas* Architect Ph: 92.334.5100153 Skype ID: gabbasb www.enterprisedb.co <http://www.enterprisedb.com/>m<http://www.enterprisedb.com/> * Follow us on Twitter* @EnterpriseDB Visit EnterpriseDB for tutorials, webinars, whitepapers<http://www.enterprisedb.com/resources-community>and more<http://www.enterprisedb.com/resources-community> |