Bugs item #2722117, was opened at 2009-03-30 17:46
Message generated for change (Comment added) made by jflokstra
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=2722117&group_id=56967
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: PFtijah
Group: MonetDB4 CVS Head
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Wouter Alink (vzzzbx)
Assigned to: Henning Rode (hrode)
Summary: PF/TIJAH: dbat_finalize fails
Initial Comment:
dbat_finalize fails when runnning "tijah:create-ft-index()" on a 30GB XML
document.
It seems like the count for BATsetcount() is calculated incorrectly. Note in
the trace below that cnt=18446744073116273099 seems fairly unlikely, and is
quite close to 2^63. So my guess is that there is a 64 bit to 32 bit conversion
or the other way around that is incorrect.
Mserver: gdk_bat.mx:2136: BATsetcount: Assertion `b->U->capacity >= cnt' failed.
Program received signal SIGABRT, Aborted.
[Switching to Thread 2305843009464971856 (LWP 13386)]
0xa000000000010621 in __kernel_syscall_via_break ()
(gdb) bt
#0 0xa000000000010621 in __kernel_syscall_via_break ()
#1 0x20000000026201c0 in raise () from /lib/libc.so.6.1
#2 0x2000000002622810 in abort () from /lib/libc.so.6.1
#3 0x2000000002610680 in __assert_fail () from /lib/libc.so.6.1
#4 0x2000000001af6df0 in BATsetcount (b=0x6000000000d33688,
cnt=18446744073116273099) at gdk_bat.mx:2136
#5 0x200000000baec340 in dbat_finalize (dbat=0x6000000001887ce8,
topidx=-593278517) at serialize_pftijah.mx:123
#6 0x200000000baf9580 in add2collection_bathandler
(tjCtx_BAT=0x60000000010010d8, ws=0x60000000014341c8, docs=0x6000000000fdea80)
at serialize_pftijah.mx:1431
#7 0x200000000baf9b50 in CMDtj_throw2collection_bat
(tjCtx_BAT=0x60000000010010d8, ws=0x60000000014341c8, docs=0x6000000000fdea80)
at serialize_pftijah.mx:1451
#8 0x200000000baa8f50 in CMDtj_throw2collection_bat_unpack542006064 (argc=4,
argv=0x200000000ef90d88) at pftijah.glue.c:138
#9 0x200000000037f790 in interpret (stk=615, lt=0x600000000105a538,
res=0x200000000ef9b798) at monet_interpreter.mx:1134
#10 0x200000000039fdc0 in interpret_seqblock (stk=615, lt=0x600000000105a348,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#11 0x2000000000379860 in interpret (stk=574, lt=0x600000000105a348,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#12 0x2000000000379c00 in interpret (stk=574, lt=0x600000000105a250,
res=0x200000000ef9b798) at monet_interpreter.mx:752
#13 0x200000000039fdc0 in interpret_seqblock (stk=574, lt=0x60000000010597b8,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#14 0x2000000000379860 in interpret (stk=578, lt=0x60000000010597b8,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#15 0x2000000000273670 in CMDcatch (stk=578, lt=0x6000000001059740,
res=0x200000000ef9b798) at builtin.mx:1047
#16 0x200000000037b630 in interpret (stk=578, lt=0x6000000001059740,
res=0x200000000ef9b798) at monet_interpreter.mx:820
#17 0x200000000039f3c0 in interpret_assignment (stk=578, lt=0x60000000010596f0,
res=0x200000000ef9b798) at monet_interpreter.mx:1827
#18 0x2000000000389840 in interpret_var (stk=578, lt=0x60000000010596c8,
res=0x200000000ef9b798) at monet_interpreter.mx:1289
#19 0x200000000037b2e0 in interpret (stk=578, lt=0x60000000010596c8,
res=0x200000000ef9b798) at monet_interpreter.mx:794
#20 0x200000000039fdc0 in interpret_seqblock (stk=578, lt=0x6000000001059458,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#21 0x2000000000379860 in interpret (stk=579, lt=0x6000000001059458,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#22 0x200000000039fdc0 in interpret_seqblock (stk=579, lt=0x6000000001059218,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#23 0x2000000000379860 in interpret (stk=544, lt=0x6000000001059218,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#24 0x200000000037e5a0 in interpret (stk=544, lt=0x6000000000ce7148,
res=0x200000000ef9b798) at monet_interpreter.mx:1117
#25 0x200000000039fdc0 in interpret_seqblock (stk=544, lt=0x6000000000cfeea8,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#26 0x2000000000379860 in interpret (stk=589, lt=0x6000000000cfeea8,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#27 0x2000000000379c00 in interpret (stk=589, lt=0x6000000000cfee58,
res=0x200000000ef9b798) at monet_interpreter.mx:752
#28 0x200000000039fdc0 in interpret_seqblock (stk=589, lt=0x6000000000cfec28,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#29 0x2000000000379860 in interpret (stk=588, lt=0x6000000000cff918,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#30 0x200000000039fdc0 in interpret_seqblock (stk=588, lt=0x6000000000d1d6f8,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#31 0x2000000000379860 in interpret (stk=591, lt=0x6000000000d1d6f8,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#32 0x200000000037e5a0 in interpret (stk=591, lt=0x6000000000d1d490,
res=0x200000000ef9b798) at monet_interpreter.mx:1117
#33 0x200000000039fdc0 in interpret_seqblock (stk=591, lt=0x6000000000d1d468,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#34 0x2000000000379860 in interpret (stk=594, lt=0x6000000000d1d468,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#35 0x200000000039fdc0 in interpret_seqblock (stk=594, lt=0x6000000000d1d228,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#36 0x2000000000379860 in interpret (stk=592, lt=0x6000000000d1d228,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#37 0x200000000037e5a0 in interpret (stk=592, lt=0x6000000000b82a88,
res=0x200000000ef9b798) at monet_interpreter.mx:1117
#38 0x200000000039fdc0 in interpret_seqblock (stk=592, lt=0x6000000000b828f8,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#39 0x2000000000379860 in interpret (stk=595, lt=0x6000000000b828f8,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#40 0x2000000000379c00 in interpret (stk=595, lt=0x6000000000b827d8,
res=0x200000000ef9b798) at monet_interpreter.mx:752
#41 0x200000000039fdc0 in interpret_seqblock (stk=595, lt=0x6000000000b81f88,
res=0x200000000ef9b798, scope=1) at monet_interpreter.mx:1877
#42 0x2000000000379860 in interpret (stk=599, lt=0x6000000000b81f88,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#43 0x200000000039fdc0 in interpret_seqblock (stk=599, lt=0x6000000000b81f08,
res=0x200000000ef9b798, scope=0) at monet_interpreter.mx:1877
#44 0x2000000000379860 in interpret (stk=599, lt=0x6000000000b81f08,
res=0x200000000ef9b798) at monet_interpreter.mx:732
#45 0x20000000003eec30 in tuple_interpret_vpval_fival (head=0x6000000000cb37e0,
tail=0x6000000000f1af68, handle=0x6000000000b6c3a8)
at monet_interpreter.mx:2310
#46 0x200000000022bc90 in doCMDbatloop (b=0x6000000000d4b5c8,
handle=0x200000000ef9b9a0, low=0, high=0) at bat.mx:1748
#47 0x200000000022c570 in CMDbatloop_std (b=0x6000000000d4b5c8,
handle=0x200000000ef9b9a0) at bat.mx:1795
#48 0x20000000002118d0 in CMDbatloop_std_unpack1481088144 (argc=3,
argv=0x200000000ef9b980) at bat.glue.c:2534
#49 0x2000000000409c70 in interpret_iterator (stk=599, lt=0x6000000000d4c3d8,
parallel=1) at monet_interpreter.mx:2258
#50 0x200000000037ad40 in interpret (stk=599, lt=0x6000000000d4c3d8,
res=0x200000000efa16f8) at monet_interpreter.mx:778
#51 0x200000000039fdc0 in interpret_seqblock (stk=599, lt=0x6000000000d014e8,
res=0x200000000efa16f8, scope=1) at monet_interpreter.mx:1877
#52 0x2000000000379860 in interpret (stk=597, lt=0x6000000000d014e8,
res=0x200000000efa16f8) at monet_interpreter.mx:732
#53 0x200000000039fdc0 in interpret_seqblock (stk=597, lt=0x6000000000d49098,
res=0x200000000efa16f8, scope=1) at monet_interpreter.mx:1877
#54 0x2000000000379860 in interpret (stk=554, lt=0x6000000000d49098,
res=0x200000000efa16f8) at monet_interpreter.mx:732
#55 0x200000000037e5a0 in interpret (stk=554, lt=0x6000000000ffa4f8,
res=0x200000000efa16f8) at monet_interpreter.mx:1117
#56 0x200000000039fdc0 in interpret_seqblock (stk=554, lt=0x6000000000d29028,
res=0x200000000efa16f8, scope=1) at monet_interpreter.mx:1877
#57 0x2000000000379860 in interpret (stk=1, lt=0x6000000000d6d4c8,
res=0x200000000efa16f8) at monet_interpreter.mx:732
#58 0x2000000000273670 in CMDcatch (stk=1, lt=0x6000000000b74e48,
res=0x200000000efa16f8) at builtin.mx:1047
#59 0x200000000037b630 in interpret (stk=1, lt=0x6000000000b74e48,
res=0x200000000efa16f8) at monet_interpreter.mx:820
#60 0x200000000039f3c0 in interpret_assignment (stk=1, lt=0x6000000000b74df8,
res=0x200000000efa16f8) at monet_interpreter.mx:1827
#61 0x2000000000379720 in interpret (stk=1, lt=0x6000000000b74df8,
res=0x200000000efa16f8) at monet_interpreter.mx:725
#62 0x200000000039fdc0 in interpret_seqblock (stk=1, lt=0x6000000000a20590,
res=0x200000000efa16f8, scope=0) at monet_interpreter.mx:1877
#63 0x2000000000379860 in interpret (stk=1, lt=0x600000000002ca28,
res=0x200000000efa16f8) at monet_interpreter.mx:732
#64 0x200000000b19a7d0 in xquery_tree_exec (ctx=0x200000000c436ea8,
t=0x600000000002ca28, repeat=0) at pathfinder.mx:4517
#65 0x200000000b19b940 in xquery_mil_exec (ctx=0x200000000c436ea8,
buf=0x6000000000d4ceb0 "var tijah_scoreDB;\nvar
tijah_dummyPOS;\ntijah_dummyPOS := new (oid, oid);\nvar
tijah_ftiTape;\ntijah_ftiTape := new (str, bat);\nvar xrpc_qid;\nvar
xrpc_caller;\nvar xrpc_hdl;\nvar xrpc_seqnr;\nvar xrpc_timeo"...) at
pathfinder.mx:4575
#66 0x200000000b19d390 in xquery_compile_exec (ctx=0x200000000c436ea8,
options=2,
xquery=0x200000000c473879
"tijah:create-ft-index((\"patent_500000.xml\"))\n", is_url=0,
prologue=0x200000000efa2508,
query=0x200000000efa2510, epilogue=0x200000000efa2518, module=0x0) at
pathfinder.mx:4723
#67 0x200000000b1b14e0 in xquery_prepare (ctx=0x200000000c436ea8, usec=22391967,
query=0x200000000c473879
"tijah:create-ft-index((\"patent_500000.xml\"))\n") at pathfinder.mx:6042
#68 0x200000000b1b2950 in xquery_client_engine (mc=0x200000000b8f31d8) at
pathfinder.mx:6197
#69 0x200000000b8d93e0 in mapi_client_engine (FC=0x200000000b8f31d8) at
mapi.mx:502
#70 0x20000000021815d0 in start_thread () from /lib/libpthread.so.0
#71 0x2000000002754b10 in __clone2 () from /lib/libc.so.6.1
----------------------------------------------------------------------
>Comment By: Jan Flokstra (jflokstra)
Date: 2009-03-31 09:53
Message:
I changed the type of the topidx parameter in dbat_finalize() and
associated local variables to oid. It could be the base adres of the bat
was computed faulty by this.
JanF
----------------------------------------------------------------------
Comment By: Henning Rode (hrode)
Date: 2009-03-31 09:40
Message:
after a second look in serialize_pftijah.mx, it might go wrong in line
553:
par_tijahPre = (oid)atol(str_tijahPre);
the conversion from string to integer and then to oid is probably not a
good idea here.
----------------------------------------------------------------------
Comment By: Stefan Manegold (stmane)
Date: 2009-03-30 18:05
Message:
... and:
#5 0x200000000baec340 in dbat_finalize (dbat=0x6000000001887ce8,
topidx=-593278517) at serialize_pftijah.mx:123
^^^^^^^^^^^^^^^^^
----------------------------------------------------------------------
Comment By: Stefan Manegold (stmane)
Date: 2009-03-30 18:03
Message:
and ...
18446744073116273099 is of course closer to 2^64 = 18446744073709551616
than to 2^63 = 9223372036854775808 --- (even) on 64-bit systems, BATs can
only contain less than 2^63 = 9223372036854775808 BUNs ...
----------------------------------------------------------------------
Comment By: Stefan Manegold (stmane)
Date: 2009-03-30 18:00
Message:
could also be a unsigned vs. signed under/overflow problem:
18446744073116273099ULL <-> -593278517LL
Stefan
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=2722117&group_id=56967
------------------------------------------------------------------------------
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs