Hi "xxiao", thank you very much for being interested in MonetDB ;-) Does the Mserver crash immediately at start-up? Then, it most probably is not caused by a full disk but by some problem in the code in combination with the system (solaris 10 SPARC), hardware and/or compiler you're using. Unfortunately, our access to a Solaris 10 SPARC machine is very limited (it's just an old and "slow" 400Mhz CPU), hence, we cannot run regular testing on that platform and thus do not "officially" support it right now. However I happend to have a debug-able build (i.e., configures with --disable-optimize and --enable-debug) of the development version (MonetDB 4.19) lying around, and indeed I get the same segfault at Mserver start-up: ======== $ gdb Mserver -------- GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "sparc-sun-solaris2.10"... (gdb) r Starting program: /ufs/manegold/Monet/Current/prefix.--enable-strict_--disable-optimize_--enable-debug_MAKE~gmake/bin/Mserver warning: Temporarily disabling breakpoints for unloaded shared library "/usr/lib/ld.so.1" warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 00000074 warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094 [New LWP 1] [New LWP 2] # MonetDB Server v4.19.0 # based on GDK v1.19.0 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for sparc-sun-solaris2.10/32bit with 32bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. Program received signal SIGSEGV, Segmentation fault. 0xfefc0a24 in yyparse () at monet_parse.y:776 776 t2->yyval = t1->yyval; (gdb) li 771 $$ = $2; 772 } 773 | command_or_operator argument_list 774 { 775 YYSTREE t1 = $1, t2 = $2; 776 t2->yyval = t1->yyval; 777 t2->token = t1->token == TOK_ASSIGNOP ? TOK_ASSIGNOP : TOK_FUNCTION; 778 t1->yyval.vtype = TYPE_void; 779 $$ = t2; 780 } (gdb) print t1->yyval $1 = {val = {ival = 154896, oval = 154896, shval = 2, btval = 0 '\0', wval = 154896, cval = "\000\002]\020", fval = 2.17055527e-40, pval = 0x25d10, Bval = 0x25d10, bval = 154896, br = {id = 154896, stamp = 0}, sval = 0x25d10 "module_push", dval = 3.2868866003735682e-309, lval = 665273254281216}, len = 12, vtype = 13} (gdb) print t2->yyval $2 = {val = {ival = 0, oval = 0, shval = 0, btval = 0 '\0', wval = 0, cval = "\000\000\000", fval = 0, pval = 0x0, Bval = 0x0, bval = 0, br = {id = 0, stamp = 0}, sval = 0x0, dval = 0, lval = 0}, len = 0, vtype = 9} (gdb) ======== Unfortunately, even with the above initial debugging session I cannot (yet??) see, why the segfault occurs. The data/memory accessed in the line reported by the debugger appears perfectly sound to me... We'll try to investigate this further; however, given the limited access to a respective machine (and it's poor performance), I cannot promise you, whether/when we will be able to locate and fix the bug --- I actually do not even know, whether it is a bug in our code, or possibly a bug in (e.g.) the compiler? Btw, which compiler (and version) are you using? I'm using GNU gcc 4.2.0 (in fact the Gentoo version ...). In the meantime --- and unless you're (only) interested in MonetDB/XQuery, which currectly requires MonetDB version 4 you might wnat to try MonetDB version 5. At least for me, mserver5 does start withou problems also on Solaris 10 SPARC (didn't do any further testing than starting the server though ...). If you try mserver5, please keep us posted whether it works for you, or whether you encounter any problems. Kind regards, Stefan On Mon, Sep 17, 2007 at 01:51:35PM -0700, xxiao wrote:
hi,
I built MonetDB4 server on a solaris 10 SPARC machine. When I try to execute it, the server applciation crashed and posted the following error message:
Mserver # Monet Database Server V4.18.2 # Copyright (c) 1993-2007, CWI. All rights reserved. # Compiled for sparc-sun-solaris2.10/32bit with 32bit OIDs; dynamically linked. # Visit http://monetdb.cwi.nl/ for further information. !ERROR: BATSIGcrash: Mserver internal error (Bus error), please restart. !ERROR: (One potential cause could be that your disk might be full...)
the machine configuration is:
uname -a SunOS vlsi 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-480R Solaris
Is the crash really due to that the disk is full? And can someone give me a hint how I can trace my problems?
Thanks a lot.
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |