Bugs item #1891537, was opened at 2008-02-11 23:44
Message generated for change (Comment added) made by stmane
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1891537&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: Tests
Group: (zombie: MonetDB Common 1.22)
Status: Open
Resolution: None
Priority: 9
Private: No
Submitted By: Stefan Manegold (stmane)
Assigned to: Peter Boncz (boncz)
Summary: disabling vmalloc() in GDKmallocmax() makes tests segfault

Initial Comment:
After disabling vmalloc() in GDKmallocmax() tests 
MonetDB4/src/modules/plain/Tests/bat.py & 
MonetDB4/src/modules/plain/Tests/bat2.py segfault 64-bit Fedora (6 & 8) with 
64-bit OIDs and dynamically-linked Mserver:

http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora6/src_modules_plain/bat.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora6/src_modules_plain/bat2.out.00.html

... investigating ...


----------------------------------------------------------------------

>Comment By: Stefan Manegold (stmane)
Date: 2008-05-29 17:09

Message:
Logged In: YES 
user_id=572415
Originator: YES

Tests seem to work fine, now:
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora8/src_modules_plain/bat.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora8/src_modules_plain/bat.err.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora8/src_modules_plain/bat2.out.00.html
http://monetdb.cwi.nl/testing/projects/monetdb/Stable/MonetDB4/.mTests103/GNU.64.64.d-Fedora8/src_modules_plain/bat2.err.00.html

Closing.


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2008-02-12 00:31

Message:
Logged In: YES 
user_id=572415
Originator: YES

[continuing the below debugging session]

(gdb) up
#1  0x00002aaaaaf867c9 in copy_segment (hdl=0x0, bn=0x72dff8, b=0x7be608,
src=2, dst=2, cnt=1) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/modules/plain/bat.mx:1905
1905                                    ATOMreplace(bn->ttype, bn->theap,
BUNtail(bni,cur), nil); 
(gdb) li
1900                            ptr nil = ATOMnilptr(bn->ttype);
1901                            BUN cur = BUNfirst(bn) + ((dst_off +
partial)>>bn->T->shift);
1902                            BUN end = BUNlast(bn);
1903
1904                            for (; cur < end; cur++) {
1905                                    ATOMreplace(bn->ttype, bn->theap,
BUNtail(bni,cur), nil); 
1906                            }
1907                    }
1908            }
1909            ret = 1;
(gdb) print BUNtail(bni,cur)
No symbol "BUNtail" in current context.
(gdb) print
bni.b->T->vheap->base+*(var_t*)(bni.b->T->heap.base+(cur<<bni.b->T->shift))
$29 = 0x800000000107cf67 <Address 0x800000000107cf67 out of bounds>
(gdb) print bni.b->T->vheap->base
$30 = 0x107cf68 ""
(gdb) print bni.b->T->heap.base
$31 = 0x11ac2a8 "�F\a"
(gdb) print *(var_t*)bni.b->T->heap.base
$33 = 476892
(gdb) print bni.b->T->shift
$32 = 3 '\003'

... hence, the tail's str-heap seems to be broken ??? ...


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2008-02-12 00:12

Message:
Logged In: YES 
user_id=572415
Originator: YES

the crash occurs with

var b3 := file_str.remap(map,false); 

in strPut() in gdk_atoms.mx; it seems "dst" points to nirvana:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912536073280 (LWP 20781)]
0x00002aaaac543093 in strPut (h=0x69b468, dst=0x800000000107cf67,
v=0x2aaaac854e00 "\200") at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB/src/gdk/gdk_atoms.mx:2070
2070                            memcpy(h->base + (*dst = h->free), v, i);
(gdb) bt
#0  0x00002aaaac543093 in strPut (h=0x69b468, dst=0x800000000107cf67,
v=0x2aaaac854e00 "\200") at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB/src/gdk/gdk_atoms.mx:2070
#1  0x00002aaaaaf867c9 in copy_segment (hdl=0x0, bn=0x72dff8, b=0x7be608,
src=2, dst=2, cnt=1) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/modules/plain/bat.mx:1905
#2  0x00002aaaaaf87d91 in CMDremap (res=0x7fff185ef040, b=0x7be608,
map=0x794b18, force=0x7fff185ef070 "") at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/modules/plain/bat.mx:2048
#3  0x00002aaaaaf7f9a8 in CMDremap_unpack1981300575 (argc=4,
argv=0x7fff185ef040) at bat.glue.c:3048
#4  0x00002aaaabbffd60 in interpret (stk=0, lt=0x7b0ff8,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:1133
#5  0x00002aaaabc0ae7e in interpret_assignment (stk=0, lt=0x7b0fa8,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:1820
#6  0x00002aaaabc02cdb in interpret_var (stk=0, lt=0x7b0f80,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:1288
#7  0x00002aaaabbfe3ed in interpret (stk=0, lt=0x7b0f80,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:791
#8  0x00002aaaabc0b17d in interpret_seqblock (stk=0, lt=0x7b0f58,
res=0x7fff185f0300, scope=0) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:1870
#9  0x00002aaaabbfd99b in interpret (stk=0, lt=0x7b0f58,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_interpreter.mx:729
#10 0x00002aaaabc2e98c in handleRequest (t=0x2aaaacc9cee0, q=0x7952d8,
res=0x7fff185f0300) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_queue.mx:537
#11 0x00002aaaabc2ee89 in doRequest (t=0x2aaaacc9cee0, preference=0x0) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_queue.mx:563
#12 0x00002aaaabc84475 in monetInterpreter (status=0x7fff185f0404) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/monet/monet_process.mx:111
#13 0x0000000000402064 in main (argc=6, av=0x7fff185f0528) at
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/MonetDB4/src/tools/Mserver.mx:328
(gdb) li
2065            }
2066
2067            if (!GDK_ELIMDOUBLES(h)) {
2068                    if (GDK_STRHASHCREDIT(h) == 0) {
2069                            /* if credits are gone, we do not hash
insert at all */
2070                            memcpy(h->base + (*dst = h->free), v, i);
2071                            h->free += i;   /* in this case, we do not
round to var_t either */
2072                            return *dst;
2073                    }
2074                    GDK_STRHASHCREDIT(h)--;
(gdb) print h
$1 = (Heap *) 0x69b468
(gdb) print *h
$2 = {maxsize = 1241896, free = 1034908, size = 1241889, base = 0x107cf68
"", filename = 0x649948 "66.theap", storage = 0 '\0', copied = 0 '\0',
newstorage = 0 '\0', dirty = 0 '\0'}
(gdb) print *h->base
$3 = 0 '\0'
(gdb) print dst
$4 = (var_t *) 0x800000000107cf67
(gdb) print *dst
Cannot access memory at address 0x800000000107cf67
(gdb) print v
$5 = 0x2aaaac854e00 "\200"
(gdb) print i
$6 = 2
(gdb) 


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2008-02-12 00:03

Message:
Logged In: YES 
user_id=572415
Originator: YES

... segfault does only occur when the test script is run via input
redirect (`Mserver --debug=10 --set gdk_mem_pagebits=16 < bat.milS`),
but not when the test script is given on the Mserver's commandline
(`Mserver --debug=10 --set gdk_mem_pagebits=16 bat.milS`) ...


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2008-02-11 23:54

Message:
Logged In: YES 
user_id=572415
Originator: YES

... segfault does only occur when running with property checking enabled
(default with Mtest.py), but not with property checking disabled (`Mtest.py
-d0`) ...


----------------------------------------------------------------------

Comment By: Stefan Manegold (stmane)
Date: 2008-02-11 23:46

Message:
Logged In: YES 
user_id=572415
Originator: YES

these two tests start Mserver with "--set gdk_mem_pagebits=16"


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1891537&group_id=56967

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs

Reply via email to