📄 no.163.stable.out
字号:
stdout of test 'no.163` in directory 'tests/BugReports` itself:# 07:27:16 > # 07:27:16 > Mtimeout -timeout 60 mserver5 "--config=/ufs/mk/monet5/Linux/etc/MonetDB5.conf" --debug=10 --set "monet_mod_path=/ufs/mk/monet5/Linux/lib/MonetDB5:/ufs/mk/opensource/MonetDB/Linux/lib/MonetDB" --set "gdk_dbfarm=/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/mk/monet5/Linux/var/MonetDB5/dblogs" --set mapi_port=35545 --set monet_prompt= --trace --dbname=mTests_tests_BugReports no.163.mal < /dev/null# 07:27:16 > # MonetDB Server v4.99.19# Copyright (c) 1993-2006 CWI, all rights reserved# Compiled for x86_64-redhat-linux-gnu/64bit with 64bit OIDs dynamically linked# config:/ufs/mk/monet5/Linux/etc/MonetDB5.conf# dbfarm:/ufs/mk/monet5/Linux/var/MonetDB5/dbfarm# dbname:mTests_tests_BugReports# Visit http://monetdb.cwi.nl/ for further information## Monet Mil to Mal compiler##include mil;## Copyright (c) 2001-2004, CWI. All rights reserved.###Predefined code segment##The compiler can not guarantee an accurate compilation,##because MIL unlike MAL is a dynamically typed language.##A few guidelines to maximize usefullness.##- make the type of variables explicit, in particular 'nil'##- upon advice of M2m to remap identifiers, change it in your program directly##use the "mil_schema" for additional support routines## mil.line("# >Number: 163\n");## mil.line("# >Category: MIL\n");## mil.line("# >Synopsis: multi[lex bug\n");## mil.line("# >Confidential: no\n");## mil.line("# >Severity: serious\n");## mil.line("# >Priority: medium\n");## mil.line("# >Responsible: boncz (Peter Boncz)\n");## mil.line("# >State: open\n");## mil.line("# >Class: sw-bug\n");## mil.line("# >Submitter-Id: unknown\n");## mil.line("# >Arrival-Date: Mon Jul 20 09:56:02 1998\n");## mil.line("# >Originator: manegold@cwi.nl\n");## mil.line("# >Organization:\n");## mil.line("# >Release: 980101\n");## mil.line("# >Environment:\n");## mil.line("# any\n");## mil.line("# >Description:\n");## mil.line("# Tim Ruhl (DDi) reported this bug:\n");## mil.line("# \n");## mil.line("# The following script fails with \"GDKmalloc called with size 0\".\n");## mil.line("# (cf. output below)\n");## mil.line("# \n");## mil.line("# -8<-----\n");## mil.line("# \n");## mil.line("# proc tst(BAT[any, int] b) : bat\n");## mil.line("# { \n");## mil.line("# var i;\n");## mil.line("# \n");## mil.line("# i := 0;\n");## mil.line("# while (i < 2) {\n");## mil.line("# b := [+](b, 1);\n");## mil.line("# i := i + 1;\n");## mil.line("# }\n");## mil.line("# \n");## mil.line("# return b;\n");## mil.line("# }\n");## mil.line("# \n");## mil.line("# b1 := bat.new(int, int);\n");## mil.line("# b1.insert(0, 0);\n");## mil.line("# b1.insert(0, 1);\n");## mil.line("# \n");## mil.line("# bn := tst(b1);\n");## mil.line("# bn.print;\n");## mil.line("# \n");## mil.line("# quit;\n");## mil.line("# \n");## mil.line("# -8<-----\n");## mil.line("# \n");## mil.line("# # Monet Database Server V4.0 (IRIX5.3/32bit) of Fri Jul 17 21:30:49 MET DST 1998\n");## mil.line("# # Copyright (c) 1993-1998, CWI & SION. All rights reserved.\n");## mil.line("# #script:../tim.mil\n");## mil.line("# \n");## mil.line("# loaded;\n");## mil.line("# #---------------------------------#\n");## mil.line("# # module | usage_count #\n");## mil.line("# #---------------------------------#\n");## mil.line("# [ \"kernel\", 1 ]\n");## mil.line("# [ \"arith\", 1 ]\n");## mil.line("# [ \"bat\", 1 ]\n");## mil.line("# [ \"algebra\", 1 ]\n");## mil.line("# [ \"sys\", 1 ]\n");## mil.line("# [ \"trans\", 1 ]\n");## mil.line("# \n");## mil.line("# Try: modules; - for other modules.\n");## mil.line("# ls; - for persistent bat listing.\n");## mil.line("# sigs(\"<module>\") - for available commands per module.\n");## mil.line("# help(\"<command>\") - for help one-liner for a command.\n");## mil.line("# \n");## mil.line("# #You are system administrator (adm)!\n");## mil.line("# \n");## mil.line("# proc tst(BAT[any, int] b) : bat\n");## mil.line("# {\n");## mil.line("# var i;\n");## mil.line("# \n");## mil.line("# i := 0;\n");## mil.line("# while (i < 2) {\n");## mil.line("# b := [+](b, 1);\n");## mil.line("# i := i + 1;\n");## mil.line("# }\n");## mil.line("# \n");## mil.line("# return b;\n");## mil.line("# }\n");## mil.line("# \n");## mil.line("# b1 := bat.new(int, int);\n");## mil.line("# b1.insert(0, 0);\n");## mil.line("# b1.insert(0, 1);\n");## mil.line("# \n");## mil.line("# bn := tst(b1);\n");## mil.line("# GDKmalloc called with size 0\n");## mil.line("# \n");## mil.line("# -8<-----\n");## mil.line("# \n");## mil.line("# As Tim sais, it has probably to do with rewriting the\n");## mil.line("# MIL parse tree after the first iteration of the while loop.\n");## mil.line("# \n");## mil.line("# ========\n");## mil.line("# \n");## mil.line("# As I just noticed, similar (the same\?) bugs have already been\n");## mil.line("# reported in bug reports #117 & #156.\n");## mil.line("# \n");## mil.line("#\t\tStefan\n");## mil.line("");# aa_a := calc.oid(20000000);# ba_a := calc.setoid(aa_a);## mil.line("");#function tst(b:bat[:any_1,:int]):bat[:any_1,:int];## mil.line("");# i := 0;## mil.line(" i := 0;");#barrier ca_a := true;#barrier da_a := calc.<(i,2);## mil.line(" while (i < 2) {");# b := batcalc.+(b,1);## mil.line(" b := [+](b, 1);");# i := calc.+(i,1);## mil.line(" i := i + 1;");#redo ca_a;#exit da_a;#exit ca_a;## mil.line("");# return ea_a :=b;#end tst;function user.tst(b:bat[:any_1,:int]):bat[:any_1,:int]; # 0 dynamic (tst:bat[:any_1,:int])<-(b:bat[:any_1,:int])# mil.line(""); # 1 (_2:str) i := 0; # 2 (i:int)<-(_4:int)# mil.line(" i := 0;"); # 3 (_5:str)barrier ca_a := true; # 4 (ca_a:bit)<-(_7:bit) jump 13barrier da_a := calc.<(i,2); # 5 CALCcompLTintint (da_a:bit)<-(i:int)(_9:int) jump 12# io.print(" while (i < 2) {"); # 6 (_10:str) b := batcalc.+(b,1); # 7 (b:bat[:any_1,:int])<-(b:bat[:any_1,:int])(_11:int)# io.print(" b := [+](b, 1);"); # 8 (_12:str) i := calc.+(i,1); # 9 CALCbinaryADDintint (i:int)<-(i:int)(_11:int)# mil.line(" i := i + 1;"); # 10 (_13:str) redo ca_a; # 11 (ca_a:bit) jump 5exit da_a; # 12 (da_a:bit)exit ca_a; # 13 (ca_a:bit)# mil.line(""); # 14 (_2:str) return ea_a := b; # 15 (ea_a:bat[:any_1,:int])<-(b:bat[:any_1,:int])end tst; # 16 ## mil.line("");# b1 := bat.new(nil:int,nil:int);## mil.line("var b1 := bat.new(int, int);");# fa_a := bat.insert(b1,0,0);## mil.line("b1.insert(0, 0);");# ga_a := bat.insert(b1,0,1);## mil.line("");# bn := user.tst(b1);## mil.line("var bn := tst(b1); ");# ha_a := io.print(bn);## mil.line("");# ia_a := clients.quit();#function user.main():void; # 0 (main:void)# Monet Mil to Mal compiler # 1 (_1:str)# Copyright (c) 2001-2004, CWI. All rights reserved. # 2 (_2:str)#Predefined code segment # 3 (_3:str)#The compiler can not guarantee an accurate compilation, # 4 (_4:str)#because MIL unlike MAL is a dynamically typed language. # 5 (_5:str)#A few guidelines to maximize usefullness. # 6 (_6:str)#- make the type of variables explicit, in particular 'nil' # 7 (_7:str)#- upon advice of M2m to remap identifiers, change it in your program directly # 8 (_8:str)#use the "mil_schema" for additional support routines # 9 (_9:str)# io.print("# >Number: 163\n"); # 10 (_10:str)# io.print("# >Category: MIL\n"); # 11 (_11:str)# io.print("# >Synopsis: multi[lex bug\n"); # 12 (_12:str)# io.print("# >Confidential: no\n"); # 13 (_13:str)# io.print("# >Severity: serious\n"); # 14 (_14:str)# io.print("# >Priority: medium\n"); # 15 (_15:str)# io.print("# >Responsible: boncz (Peter Boncz)\n"); # 16 (_16:str)# io.print("# >State: open\n"); # 17 (_17:str)# io.print("# >Class: sw-bug\n"); # 18 (_18:str)# io.print("# >Submitter-Id: unknown\n"); # 19 (_19:str)# io.print("# >Arrival-Date: Mon Jul 20 09:56:02 1998\n"); # 20 (_20:str)# io.print("# >Originator: manegold@cwi.nl\n"); # 21 (_21:str)# io.print("# >Organization:\n"); # 22 (_22:str)# io.print("# >Release: 980101\n"); # 23 (_23:str)# io.print("# >Environment:\n"); # 24 (_24:str)# io.print("# any\n"); # 25 (_25:str)# io.print("# >Description:\n"); # 26 (_26:str)# io.print("# Tim Ruhl (DDi) reported this bug:\n"); # 27 (_27:str)# io.print("# \n"); # 28 (_28:str)# io.print("# The following script fails with \"GDKmalloc called with size 0\".\n"); # 29 (_29:str)# io.print("# (cf. output below)\n"); # 30 (_30:str)# io.print("# \n"); # 31 (_28:str)# io.print("# -8<-----\n"); # 32 (_31:str)# io.print("# \n"); # 33 (_28:str)# io.print("# proc tst(BAT[any, int] b) : bat\n"); # 34 (_32:str)# io.print("# { \n"); # 35 (_33:str)# io.print("# var i;\n"); # 36 (_34:str)# io.print("# \n"); # 37 (_28:str)# io.print("# i := 0;\n"); # 38 (_35:str)# io.print("# while (i < 2) {\n"); # 39 (_36:str)# io.print("# b := [+](b, 1);\n"); # 40 (_37:str)# io.print("# i := i + 1;\n"); # 41 (_38:str)# io.print("# }\n"); # 42 (_39:str)# io.print("# \n"); # 43 (_28:str)# io.print("# return b;\n"); # 44 (_40:str)# io.print("# }\n"); # 45 (_41:str)# io.print("# \n"); # 46 (_28:str)# io.print("# b1 := bat.new(int, int);\n"); # 47 (_42:str)# io.print("# b1.insert(0, 0);\n"); # 48 (_43:str)# io.print("# b1.insert(0, 1);\n"); # 49 (_44:str)# io.print("# \n"); # 50 (_28:str)# io.print("# bn := tst(b1);\n"); # 51 (_45:str)# io.print("# bn.print;\n"); # 52 (_46:str)# io.print("# \n"); # 53 (_28:str)# io.print("# quit;\n"); # 54 (_47:str)# io.print("# \n"); # 55 (_28:str)# io.print("# -8<-----\n"); # 56 (_31:str)# io.print("# \n"); # 57 (_28:str)# io.print("# # Monet Database Server V4.0 (IRIX5.3/32bit) of Fri Jul 17 21:30:49 MET DST 1998\n"); # 58 (_48:str)# io.print("# # Copyright (c) 1993-1998, CWI & SION. All rights reserved.\n"); # 59 (_49:str)# io.print("# #script:../tim.mil\n"); # 60 (_50:str)# io.print("# \n"); # 61 (_28:str)# io.print("# loaded;\n"); # 62 (_51:str)# io.print("# #---------------------------------#\n"); # 63 (_52:str)# io.print("# # module | usage_count #\n"); # 64 (_53:str)# io.print("# #---------------------------------#\n"); # 65 (_52:str)# io.print("# [ \"kernel\", 1 ]\n"); # 66 (_54:str)# io.print("# [ \"arith\", 1 ]\n"); # 67 (_55:str)# io.print("# [ \"bat\", 1 ]\n"); # 68 (_56:str)# io.print("# [ \"algebra\", 1 ]\n"); # 69 (_57:str)# io.print("# [ \"sys\", 1 ]\n"); # 70 (_58:str)# io.print("# [ \"trans\", 1 ]\n"); # 71 (_59:str)# io.print("# \n"); # 72 (_28:str)# io.print("# Try: modules; - for other modules.\n"); # 73 (_60:str)# io.print("# ls; - for persistent bat listing.\n"); # 74 (_61:str)# io.print("# sigs(\"<module>\") - for available commands per module.\n"); # 75 (_62:str)# io.print("# help(\"<command>\") - for help one-liner for a command.\n"); # 76 (_63:str)# io.print("# \n"); # 77 (_28:str)# io.print("# #You are system administrator (adm)!\n"); # 78 (_64:str)# io.print("# \n"); # 79 (_65:str)# io.print("# proc tst(BAT[any, int] b) : bat\n"); # 80 (_32:str)# io.print("# {\n"); # 81 (_66:str)# io.print("# var i;\n"); # 82 (_34:str)# io.print("# \n"); # 83 (_67:str)# io.print("# i := 0;\n"); # 84 (_35:str)# io.print("# while (i < 2) {\n"); # 85 (_36:str)# io.print("# b := [+](b, 1);\n"); # 86 (_37:str)# io.print("# i := i + 1;\n"); # 87 (_38:str)# io.print("# }\n"); # 88 (_39:str)# io.print("# \n"); # 89 (_67:str)# io.print("# return b;\n"); # 90 (_40:str)# io.print("# }\n"); # 91 (_41:str)# io.print("# \n"); # 92 (_67:str)# io.print("# b1 := bat.new(int, int);\n"); # 93 (_42:str)# io.print("# b1.insert(0, 0);\n"); # 94 (_43:str)# io.print("# b1.insert(0, 1);\n"); # 95 (_44:str)# io.print("# \n"); # 96 (_67:str)# io.print("# bn := tst(b1);\n"); # 97 (_45:str)# io.print("# GDKmalloc called with size 0\n"); # 98 (_68:str)# io.print("# \n"); # 99 (_67:str)# io.print("# -8<-----\n"); # 100 (_69:str)# io.print("# \n"); # 101 (_67:str)# io.print("# As Tim sais, it has probably to do with rewriting the\n"); # 102 (_70:str)# io.print("# MIL parse tree after the first iteration of the while loop.\n"); # 103 (_71:str)# io.print("# \n"); # 104 (_67:str)# io.print("# ========\n"); # 105 (_72:str)# io.print("# \n"); # 106 (_67:str)# io.print("# As I just noticed, similar (the same\?) bugs have already been\n"); # 107 (_73:str)# io.print("# reported in bug reports #117 & #156.\n"); # 108 (_74:str)# io.print("# \n"); # 109 (_67:str)# io.print("#\t\tStefan\n"); # 110 (_75:str)# io.print(""); # 111 (_76:str) aa_a := calc.oid(20000000); # 112 CALCint2oid (aa_a:oid)<-(_78:int) ba_a := calc.setoid(aa_a); # 113 CALCsetoidInc (ba_a:oid)<-(aa_a:oid)# io.print(""); # 114 (_76:str)# io.print(""); # 115 (_76:str) b1 := bat.new(:oid,nil:int); # 116 CMDBATnew (b1:bat[:oid,:int])<-(_81:oid)(_82:int) fa_a := bat.insert(b1,0@0,0); # 117 BKCinsert_bun (fa_a:void)<-(b1:bat[:oid,:int])(_84:oid)(_85:int) ga_a := bat.insert(b1,0@0,1); # 118 BKCinsert_bun (ga_a:void)<-(b1:bat[:oid,:int])(_84:oid)(_87:int) bn := user.tst(b1); # 119 (bn:bat[:oid,:int])<-(b1:bat[:oid,:int]) ha_a := io.print(bn); # 120 IOprint_val (ha_a:void)<-(bn:bat[:oid,:int]) ia_a := clients.quit(); # 121 CLTquitDefault (ia_a:void)end main; # 122 #-----------------## h t # name# int int # type#-----------------#[ 0@0, 2 ][ 0@0, 3 ]# 07:27:16 > # 07:27:16 > Done.# 07:27:16 >
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -