[Monetdb-developers] MonetDB4 server (Mserver) crash on solaris 10
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
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: 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. -- View this message in context: http://www.nabble.com/MonetDB4-server-%28Mserver%29-crash-on-solaris-10-tf44... Sent from the monetdb-developers mailing list archive at Nabble.com.
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 |
Mserver --dbname=gold # 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
hi, Stefan thanks a lot for your quick response. I tried mserver5 as you suggested. mserver5 starts up and runs without any problems as far as I can see. FYI, I recompiled MonetDB-server4 last night. Somehow ( I don't know the reason yet), this time Mserver starts up fine, but that "Bus error" showed up when I type in command "module(mapi);". Please see the following linked. # Visit http://monetdb.cwi.nl/ for further information. MonetDB>module(xtables); MonetDB>module(mapi); !ERROR: BATSIGcrash: Mserver internal error (Bus error), please restart. !ERROR: (One potential cause could be that your disk might be full...) Xiang -- View this message in context: http://www.nabble.com/MonetDB4-server-%28Mserver%29-crash-on-solaris-10-tf44... Sent from the monetdb-developers mailing list archive at Nabble.com.
On 18-09-2007 06:33:15 -0700, xxiao wrote:
hi, Stefan
thanks a lot for your quick response.
I tried mserver5 as you suggested. mserver5 starts up and runs without any problems as far as I can see.
Just a follow up, it appears mserver5 is not working at all with sql any more for some reason: # MonetDB server v5.3.0, based on kernel v1.21.0 # Serving database 'demo' # Compiled for sparc-sun-solaris2.10/32bit with 32bit OIDs dynamically linked # Copyright (c) 1993-2007 CWI, all rights reserved # Visit http://monetdb.cwi.nl/ for further information #warning: please don't forget to set your vault key! #(see /scratch/monetdb-fabian/current/program-sun4u/etc/monetdb5.conf) include sql; [New LWP 3 ] # Listening for connection requests on mapi:monetdb://127.0.0.1:50000/
include sql; # MonetDB/SQL module v2.21.0 loaded sql.start(); select * from tables;
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] QOTupdateStatistics (nme=<value optimized out>, actions=0, val=43) at /scratch/monetdb-fabian/current/five/src/optimizer/opt_statistics.mx:158 158 *lp= *lp+ val; (gdb) p val $1 = 43 (gdb) p lp $2 = (lng *) 0x8f0e54 (gdb) p *lp $3 = 3688618971 (gdb) quit The program is running. Exit anyway? (y or n) y (build-sol10:five/src/modules) fabian% run_five --version MonetDB server v5.3.0 (32-bit), based on kernel v1.21.0 (32-bit oids) Copyright (c) 1993-2007 CWI, all rights reserved Visit http://monetdb.cwi.nl/ for further information Configured for prefix: /scratch/monetdb-fabian/current/program-sun4u Libraries: libpcre: 7.3 2007-08-28 (compiled with 7.3) openssl: OpenSSL 0.9.8e 23 Feb 2007 (compiled with OpenSSL 0.9.8e 23 Feb 2007) Compiled by: fabian@build-sol10 Compilation: sparc-sun-solaris2.10-gcc -mcpu=ultrasparc -mtune=ultrasparc -pipe -g -O2 -W -Wall -D__EXTENSIONS__ -std=c99 -fgnu89-inline -Werror Linking : /scratch/gentoo/usr/sparc-sun-solaris2.10/bin/ld
On Wed, Sep 19, 2007 at 03:45:09PM +0200, Fabian Groffen wrote:
On 18-09-2007 06:33:15 -0700, xxiao wrote:
hi, Stefan
thanks a lot for your quick response.
I tried mserver5 as you suggested. mserver5 starts up and runs without any problems as far as I can see.
Just a follow up, it appears mserver5 is not working at all with sql any more for some reason:
# MonetDB server v5.3.0, based on kernel v1.21.0 # Serving database 'demo' # Compiled for sparc-sun-solaris2.10/32bit with 32bit OIDs dynamically linked # Copyright (c) 1993-2007 CWI, all rights reserved # Visit http://monetdb.cwi.nl/ for further information #warning: please don't forget to set your vault key! #(see /scratch/monetdb-fabian/current/program-sun4u/etc/monetdb5.conf) include sql; [New LWP 3 ] # Listening for connection requests on mapi:monetdb://127.0.0.1:50000/
include sql; # MonetDB/SQL module v2.21.0 loaded sql.start(); select * from tables;
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] QOTupdateStatistics (nme=<value optimized out>, actions=0, val=43) at /scratch/monetdb-fabian/current/five/src/optimizer/opt_statistics.mx:158 158 *lp= *lp+ val; (gdb) p val $1 = 43 (gdb) p lp $2 = (lng *) 0x8f0e54 (gdb) p *lp $3 = 3688618971 (gdb) quit The program is running. Exit anyway? (y or n) y
Could you check if this is a stack overflow problem. The optimizers in m5 do alot of allocas. Niels
(build-sol10:five/src/modules) fabian% run_five --version MonetDB server v5.3.0 (32-bit), based on kernel v1.21.0 (32-bit oids) Copyright (c) 1993-2007 CWI, all rights reserved Visit http://monetdb.cwi.nl/ for further information Configured for prefix: /scratch/monetdb-fabian/current/program-sun4u Libraries: libpcre: 7.3 2007-08-28 (compiled with 7.3) openssl: OpenSSL 0.9.8e 23 Feb 2007 (compiled with OpenSSL 0.9.8e 23 Feb 2007) Compiled by: fabian@build-sol10 Compilation: sparc-sun-solaris2.10-gcc -mcpu=ultrasparc -mtune=ultrasparc -pipe -g -O2 -W -Wall -D__EXTENSIONS__ -std=c99 -fgnu89-inline -Werror Linking : /scratch/gentoo/usr/sparc-sun-solaris2.10/bin/ld
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-- Niels Nes, Centre for Mathematics and Computer Science (CWI) Kruislaan 413, 1098 SJ Amsterdam, The Netherlands room C0.02, phone ++31 20 592-4098, fax ++31 20 592-4312 url: http://www.cwi.nl/~niels e-mail: Niels.Nes@cwi.nl
On 19-09-2007 18:34:18 +0200, Niels Nes wrote:
# MonetDB/SQL module v2.21.0 loaded
sql.start(); select * from tables;
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] QOTupdateStatistics (nme=<value optimized out>, actions=0, val=43) at /scratch/monetdb-fabian/current/five/src/optimizer/opt_statistics.mx:158 158 *lp= *lp+ val; (gdb) p val $1 = 43 (gdb) p lp $2 = (lng *) 0x8f0e54 (gdb) p *lp $3 = 3688618971 (gdb) quit The program is running. Exit anyway? (y or n) y
Could you check if this is a stack overflow problem. The optimizers in m5 do alot of allocas.
It was an alignment error and now solved.
participants (4)
-
Fabian Groffen
-
Niels Nes
-
Stefan Manegold
-
xxiao