View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000585 | LDMud | Runtime | public | 2008-12-03 02:31 | 2008-12-29 06:11 |
Reporter | _xtian_ | Assigned To | zesstra | ||
Priority | normal | Severity | crash | Reproducibility | sometimes |
Status | closed | Resolution | no change required | ||
Platform | 64bit | OS | debian | OS Version | lenny |
Summary | 0000585: 64bit crash(es) on loading objects | ||||
Description | On my home 64bit machine I seem to encounter a lot of crashes when trying to let the interpreter load LPC code that has some (partly trivial) errors. The latest one was: Variable s not declared ! before end of line. Program received signal SIGSEGV, Segmentation fault. 0x0000000000487c66 in yyparse () at prolang.y:10821 10821 $$.type = V_VARIABLE(i)->type; I can't tell if these segfaults have the same reason or not, please let me know how I can report additional information to isolate the problem. (debug runtime parameters for the driver?) | ||||
Tags | No tags attached. | ||||
Attached Files | Makefile (25,419 bytes)
# TODO: Add some of the symbols in here to configure # These lines are needed on some machines. MAKE=make SHELL=/bin/sh INSTALL=/usr/bin/install -c mkinstalldirs=$(SHELL) ./mkinstalldirs # CC=gcc -std=gnu99 # YACC = bison -y YACCTAB = y.tab. # RM = rm -f MV = mv CP = cp # # some standard stuff... prefix= /home/mud exec_prefix= ${prefix} # # # Set MUD_LIB to the directory which contains the mud data. MUD_LIB = /home/mud/mudlib # Set MUD_LIB_INCLUDE to the directory where the driver include files # shall live. MUD_LIB_INCLUDE = ${prefix}/include # # Set BINDIR to the directory where you want to install the executables. BINDIR = ${exec_prefix}/bin # # Set ERQ_DIR to directory which contains the stuff which ERQ can # execute (hopefully) savely. Was formerly defined in config.h! ERQ_DIR= /home/mud/erq # # Set MANDIR to the directory where to install the manpages. MANDIR= ${prefix}/share/man # # Typical profiling, warning and optimizing options. # -p -DMARK: together they enable customized profiling of VM instructions. # MARK needs to be defined to a statement taking the # instruction code as parameter; additionally interpret.c will # #include "profile.h" for additional custom declarations. # # Additional profiling can be activated in config.h . #PROFIL=-pg -DMARK #PROFIL=-pg PROFIL= # Enable warnings from the compiler, if wanted. NO_WARN= # no warning options - will work with all compilers :-) GCC_WARN= -Wall -Wshadow -Wparentheses # gcc settings CFG_WARN= -Wall -Wparentheses -Wshadow # Warn options discovered by configure WARN= $(CFG_WARN) # Optimization and source level debugging options. # adding a -fomit-frame-pointer on the NeXT (gcc version 1.93 (68k, MIT syntax)) # will corrupt the driver. HIGH_OPTIMIZE = -O4 -fomit-frame-pointer -g # high optimization MED_OPTIMIZE= -O2 -g # medium optimization LOW_OPTIMIZE = -O -g # minimal optimization NO_OPTIMIZE= -g # no optimization; for frequent recompilations. OPTIMIZE= $(MED_OPTIMIZE) # # Debugging options: # Debugging options should be set in config.h to guarantee a clean # recompile. #DEBUG = -DDEBUG # -DDEBUG_TELNET DEBUG= # MPATH=-DMUD_LIB='"$(MUD_LIB)"' -DBINDIR='"$(BINDIR)"' -DERQ_DIR='"$(ERQ_DIR)"' # CFLAGS= -mcpu=x86-64 -march=x86-64 $(OPTIMIZE) $(DEBUG) $(WARN) $(MPATH) $(PROFIL) # LIBS=-lnsl -lm -lcrypt # LDFLAGS=$(PROFIL) # #Note that, if you use smalloc with SBRK_OK(which is the default), and #don't link statically, it could happen that the system malloc is linked #along with the one from smalloc; this combination is bound to cause crashes. MFLAGS = "BINDIR=$(BINDIR)" "MUD_LIB=$(MUD_LIB)" # SRC = access_check.c actions.c array.c backend.c bitstrings.c call_out.c \ closure.c comm.c \ dumpstat.c ed.c efuns.c files.c gcollect.c hash.c heartbeat.c \ interpret.c \ lex.c main.c mapping.c md5.c mempools.c mregex.c mstrings.c object.c \ otable.c\ parser.c parse.c pkg-alists.c pkg-idna.c \ pkg-mccp.c pkg-mysql.c pkg-pcre.c \ pkg-pgsql.c pkg-sqlite.c pkg-tls.c \ ptmalloc.c port.c ptrtable.c \ random.c regexp.c sha1.c simulate.c simul_efun.c stdstrings.c \ strfuns.c structs.c sprintf.c swap.c wiz_list.c xalloc.c OBJ = access_check.o actions.o array.o backend.o bitstrings.o call_out.o \ closure.o comm.o \ dumpstat.o ed.o efuns.o files.o gcollect.o hash.o heartbeat.o \ interpret.o \ lex.o main.o mapping.o md5.o mempools.o mregex.o mstrings.o object.o \ otable.o \ parser.o parse.o pkg-alists.o pkg-idna.o \ pkg-mccp.o pkg-mysql.o pkg-pcre.o \ pkg-pgsql.o pkg-sqlite.o pkg-tls.o \ ptmalloc.o port.o ptrtable.o \ random.o regexp.o sha1.o simulate.o simul_efun.o stdstrings.o \ strfuns.o structs.o sprintf.o swap.o wiz_list.o xalloc.o all: make-patchlevel ldmud ldmud: $(OBJ) $(CC) $(OPTIMIZE) $(LDFLAGS) $(OBJ) -o $@ $(LIBS) docs: ldmud -help2man --name=ldmud -N --help-option=--longhelp --include=ldmud-man.txt --output=../doc/man/ldmud.1 ./ldmud install-all: install-driver install-headers install-utils install: install-driver @echo "To install header files, use 'make install-headers'." @echo "To install utility programs (incl. erq), use 'make install-utils'." @echo "To install everything in one go, use 'make install-all'." install-driver: ldmud docs $(mkinstalldirs) $(BINDIR) $(MANDIR)/man1 $(INSTALL) -c ldmud $(BINDIR)/ldmud $(INSTALL) -c ../doc/man/ldmud.1 $(MANDIR)/man1/ldmud.1 install-headers: $(mkinstalldirs) $(MUD_LIB_INCLUDE) $(INSTALL) -c ../mudlib/sys/* $(MUD_LIB_INCLUDE) install-utils: (cd util; $(MAKE) $(MFLAGS) install) utils: (cd util; $(MAKE) $(MFLAGS)) lint: *.c lint *.c clean: $(RM) $(YACCTAB)h $(YACCTAB)c make_func.c *.o mkfunc $(RM) dftables pcre/chartables.c $(RM) stdstrings.c stdstrings.h $(RM) efun_defs.c instrs.h lang.y lang.h lang.c y.output tags TAGS $(RM) ldmud core mudlib/core mudlib/debug.log lpmud.log (cd util ; echo "Cleaning in util." ; $(MAKE) clean) distclean: clean $(RM) ldmud config.status machine.h Makefile config.cache config.log $(RM) config.h config.status config.status.old $(RM) util/Makefile util/erq/Makefile util/xerq/Makefile util/indent/Makefile tags: $(SRC) ctags $(SRC) TAGS: $(SRC) etags $(SRC) patchlevel.h : make-patchlevel make-patchlevel: ./mk-patchlevel.sh make_func.c: make_func.y $(YACC) make_func.y $(MV) $(YACCTAB)c make_func.c #mkfunc.o : mkfunc.c make_func.c driver.h config.h machine.h port.h # $(CC) $(CFLAGS) -c mkfunc.c mkfunc: mkfunc.o hash.o exec.h $(CC) $(OPTIMIZE) $(LDFLAGS) mkfunc.o hash.o -o mkfunc dftables.o : pcre/dftables.c pcre/maketables.c pcre/config.h $(CC) $(CFLAGS) -c pcre/dftables.c -o dftables.o dftables : dftables.o $(CC) $(OPTIMIZE) $(LDFLAGS) dftables.o -o dftables lang.y: mkfunc prolang.y config.h $(RM) lang.y ./mkfunc lang efun_defs.c instrs.h: func_spec mkfunc config.h machine.h $(RM) instrs.h $(RM) efun_defs.c ./mkfunc instrs stdstrings.c stdstrings.h: string_spec mkfunc config.h machine.h $(RM) stdstrings.c $(RM) stdstrings.h ./mkfunc strings lang.c lang.h: lang.y $(YACC) -d -v lang.y $(MV) $(YACCTAB)c lang.c $(MV) $(YACCTAB)h lang.h pcre/chartables.c : dftables ./dftables pcre/chartables.c #-------------------------------------------------------- # The dependency generation uses the program 'mkdepend' and assumes GNUmake. # Generated source files (overlaps with of SRC) which need to be # present for mkdepend to work. GENSRC = make_func.c stdstrings.c lang.c instrs.h pcre/chartables.c # Macros for MkDepend: SKELETON = $(SRC) mkfunc.c pcre/dftables.c EXCEPT = -x efun_defs.c SELECT = -S instrs.h -S stdstrings.h -S make_func.c -S lang.c -S lang.h -S efun_defs.c depend: $(SRC) $(GENSRC) @$(SHELL) -ec "if type mkdepend > /dev/null 2>&1; then \ echo Updating dependencies.; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) -m -p .c:%n.o -fMakefile; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) $(SELECT) -m -p .c:%n.o -fMakefile; \ echo Updating dependencies in Makefile.in.; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) -m -p .c:%n.o -fMakefile.in; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) $(SELECT) -m -p .c:%n.o -fMakefile.in; \ else\ echo mkdepend utility not available.; \ fi" .PHONY dependall: depend depend-generic depend-generic: $(SRC) $(GENSRC) @$(SHELL) -ec "if type mkdepend > /dev/null 2>&1; then \ echo Updating dependencies in hosts/be/Makefile.; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) -m -p .c:$$\(OBJ\)/%n.o -fhosts/be/Makefile; \ mkdepend $(SKELETON) -I. -Ipcre -Iptmalloc $(EXCEPT) $(SELECT) -m -p .c:$$\(OBJ\)/%n.o -fhosts/be/Makefile; \ else\ echo mkdepend utility not available.; \ fi" #-------------------------------------------------------- # Dependencies, manual and automatic. # --- DO NOT MODIFY THIS LINE -- AUTO-DEPENDS FOLLOW --- access_check.o : xalloc.h filestat.h comm.h access_check.h driver.h \ svalue.h strfuns.h pkg-tls.h simulate.h typedefs.h config.h port.h \ sent.h bytecode.h hosts/unix.h hosts/be/be.h machine.h actions.o : ../mudlib/sys/driver_hook.h ../mudlib/sys/commands.h xalloc.h \ wiz_list.h svalue.h simulate.h sent.h stdstrings.h object.h mstrings.h \ mapping.h interpret.h efuns.h dumpstat.h comm.h closure.h backend.h \ array.h actions.h my-alloca.h typedefs.h driver.h strfuns.h bytecode.h \ hash.h pkg-tls.h main.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h array.o : i-svalue_cmp.h xalloc.h wiz_list.h swap.h svalue.h simulate.h \ stdstrings.h object.h mstrings.h mempools.h mapping.h main.h \ interpret.h closure.h backend.h array.h my-alloca.h typedefs.h driver.h \ strfuns.h sent.h bytecode.h hash.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h backend.o : ../mudlib/sys/debug_message.h ../mudlib/sys/driver_hook.h \ i-eval_cost.h xalloc.h wiz_list.h swap.h svalue.h stdstrings.h \ simulate.h random.h otable.h object.h mstrings.h mregex.h mapping.h \ main.h lex.h interpret.h heartbeat.h gcollect.h filestat.h exec.h ed.h \ comm.h closure.h call_out.h array.h actions.h backend.h my-alloca.h \ typedefs.h driver.h strfuns.h sent.h bytecode.h hash.h pkg-tls.h port.h \ config.h hosts/unix.h hosts/be/be.h machine.h bitstrings.o : xalloc.h svalue.h simulate.h mstrings.h interpret.h \ bitstrings.h typedefs.h driver.h strfuns.h sent.h bytecode.h hash.h \ backend.h port.h config.h main.h hosts/unix.h hosts/be/be.h machine.h call_out.o : ../mudlib/sys/debug_info.h i-eval_cost.h xalloc.h wiz_list.h \ swap.h svalue.h strfuns.h stdstrings.h simulate.h object.h mstrings.h \ main.h interpret.h gcollect.h exec.h comm.h closure.h backend.h array.h \ actions.h call_out.h typedefs.h driver.h sent.h bytecode.h hash.h \ pkg-tls.h port.h config.h hosts/unix.h hosts/be/be.h machine.h closure.o : i-svalue_cmp.h xalloc.h switch.h swap.h svalue.h structs.h \ stdstrings.h simul_efun.h simulate.h prolang.h object.h mstrings.h \ main.h lex.h interpret.h instrs.h exec.h backend.h array.h closure.h \ my-alloca.h typedefs.h driver.h strfuns.h hash.h ptrtable.h sent.h \ bytecode.h port.h config.h hosts/unix.h hosts/be/be.h machine.h comm.o : util/erq/erq.h ../mudlib/sys/input_to.h \ ../mudlib/sys/driver_hook.h ../mudlib/sys/comm.h i-eval_cost.h xalloc.h \ wiz_list.h swap.h svalue.h stdstrings.h simulate.h sent.h pkg-tls.h \ pkg-pgsql.h pkg-mccp.h object.h mstrings.h main.h interpret.h \ gcollect.h filestat.h exec.h ed.h closure.h array.h actions.h \ access_check.h comm.h ../mudlib/sys/telnet.h my-alloca.h typedefs.h \ driver.h strfuns.h bytecode.h hash.h backend.h config.h port.h \ hosts/unix.h hosts/be/be.h machine.h dumpstat.o : xalloc.h svalue.h structs.h stdstrings.h simulate.h ptrtable.h \ object.h mstrings.h mapping.h instrs.h filestat.h exec.h closure.h \ array.h dumpstat.h typedefs.h driver.h strfuns.h hash.h sent.h \ bytecode.h port.h config.h hosts/unix.h hosts/be/be.h machine.h ed.o : ../mudlib/sys/regexp.h xalloc.h svalue.h stdstrings.h simulate.h \ object.h mstrings.h mregex.h main.h lex.h interpret.h gcollect.h \ filestat.h comm.h actions.h ed.h typedefs.h driver.h strfuns.h sent.h \ bytecode.h hash.h backend.h pkg-tls.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h efuns.o : ../mudlib/sys/time.h ../mudlib/sys/strings.h \ ../mudlib/sys/regexp.h ../mudlib/sys/objectinfo.h \ ../mudlib/sys/driver_hook.h ../mudlib/sys/debug_info.h i-eval_cost.h \ xalloc.h wiz_list.h svalue.h swap.h structs.h strfuns.h simulate.h \ stdstrings.h sha1.h random.h ptrtable.h otable.h object.h mstrings.h \ mregex.h md5.h mempools.h mapping.h main.h lex.h interpret.h \ heartbeat.h exec.h dumpstat.h comm.h closure.h call_out.h backend.h \ array.h actions.h efuns.h my-rusage.h my-alloca.h typedefs.h driver.h \ hash.h sent.h bytecode.h my-stdint.h pkg-tls.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h files.o : ../mudlib/sys/files.h xalloc.h svalue.h stdstrings.h simulate.h \ mstrings.h mempools.h main.h lex.h interpret.h filestat.h comm.h \ array.h files.h my-alloca.h typedefs.h driver.h strfuns.h sent.h \ bytecode.h hash.h backend.h pkg-tls.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h gcollect.o : ../mudlib/sys/driver_hook.h i-eval_cost.h xalloc.h wiz_list.h \ swap.h structs.h stdstrings.h simul_efun.h simulate.h sent.h random.h \ ptrtable.h prolang.h pkg-pgsql.h parse.h otable.h object.h mstrings.h \ mregex.h mempools.h mapping.h main.h lex.h instrs.h interpret.h \ heartbeat.h filestat.h ed.h comm.h closure.h call_out.h backend.h \ array.h actions.h gcollect.h typedefs.h driver.h svalue.h strfuns.h \ hash.h exec.h bytecode.h pkg-tls.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h hash.o : hash.h heartbeat.o : ../mudlib/sys/debug_info.h i-eval_cost.h xalloc.h wiz_list.h \ svalue.h strfuns.h simulate.h sent.h object.h mstrings.h interpret.h \ gcollect.h exec.h comm.h backend.h array.h actions.h heartbeat.h \ typedefs.h driver.h bytecode.h hash.h pkg-tls.h main.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h interpret.o : ../mudlib/sys/debug_info.h ../mudlib/sys/driver_hook.h \ i-eval_cost.h xalloc.h wiz_list.h switch.h swap.h svalue.h structs.h \ stdstrings.h simul_efun.h simulate.h prolang.h parse.h otable.h \ object.h mstrings.h mapping.h lex.h instrs.h heartbeat.h gcollect.h \ filestat.h exec.h efuns.h ed.h comm.h closure.h call_out.h backend.h \ array.h actions.h interpret.h my-alloca.h typedefs.h driver.h strfuns.h \ hash.h ptrtable.h sent.h bytecode.h pkg-tls.h main.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h lex.o : efun_defs.c ../mudlib/sys/driver_hook.h i-eval_cost.h xalloc.h \ wiz_list.h svalue.h strfuns.h stdstrings.h simul_efun.h simulate.h \ prolang.h patchlevel.h object.h mstrings.h mempools.h main.h lang.h \ interpret.h instrs.h hash.h gcollect.h filestat.h exec.h comm.h \ closure.h backend.h array.h lex.h my-alloca.h typedefs.h driver.h \ ptrtable.h sent.h bytecode.h pkg-tls.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h main.o : ../mudlib/sys/regexp.h i-eval_cost.h pkg-mysql.h xalloc.h \ wiz_list.h swap.h svalue.h stdstrings.h simul_efun.h simulate.h \ random.h pkg-tls.h patchlevel.h otable.h object.h mstrings.h mregex.h \ mempools.h mapping.h lex.h interpret.h gcollect.h filestat.h comm.h \ array.h backend.h main.h my-alloca.h typedefs.h driver.h strfuns.h \ ptrtable.h exec.h sent.h bytecode.h hash.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h mapping.o : i-svalue_cmp.h xalloc.h wiz_list.h svalue.h structs.h \ simulate.h object.h mstrings.h main.h interpret.h gcollect.h closure.h \ backend.h array.h mapping.h my-alloca.h typedefs.h driver.h strfuns.h \ hash.h exec.h sent.h bytecode.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h md5.o : strfuns.h md5.h machine.h typedefs.h driver.h port.h config.h \ hosts/unix.h hosts/be/be.h mempools.o : ../mudlib/sys/debug_info.h xalloc.h svalue.h strfuns.h \ simulate.h gcollect.h mempools.h driver.h typedefs.h sent.h bytecode.h \ port.h config.h hosts/unix.h hosts/be/be.h machine.h mkfunc.o : make_func.c ../mudlib/sys/driver_hook.h hash.h exec.h \ my-alloca.h driver.h bytecode.h typedefs.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h mregex.o : ../mudlib/sys/regexp.h ../mudlib/sys/driver_hook.h \ ../mudlib/sys/debug_info.h xalloc.h svalue.h strfuns.h simulate.h \ regexp.h pkg-pcre.h mstrings.h main.h interpret.h hash.h gcollect.h \ comm.h mregex.h driver.h typedefs.h sent.h bytecode.h pcre/pcre.h \ backend.h pkg-tls.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h mstrings.o : ../mudlib/sys/debug_info.h xalloc.h svalue.h strfuns.h \ stdstrings.h simulate.h main.h hash.h gcollect.h mstrings.h driver.h \ typedefs.h sent.h bytecode.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h object.o : ../mudlib/sys/inherit_list.h ../mudlib/sys/include_list.h \ ../mudlib/sys/functionlist.h ../mudlib/sys/driver_hook.h xalloc.h \ wiz_list.h svalue.h swap.h structs.h strfuns.h stdstrings.h \ simul_efun.h simulate.h sent.h random.h ptrtable.h prolang.h otable.h \ mstrings.h mempools.h mapping.h main.h lex.h instrs.h interpret.h \ filestat.h comm.h closure.h backend.h array.h actions.h object.h \ my-alloca.h typedefs.h driver.h ../mudlib/sys/lpctypes.h hash.h exec.h \ bytecode.h pkg-tls.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h otable.o : ../mudlib/sys/debug_info.h xalloc.h svalue.h simulate.h \ strfuns.h object.h mstrings.h hash.h gcollect.h backend.h otable.h \ typedefs.h driver.h sent.h bytecode.h main.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h parse.o : xalloc.h wiz_list.h svalue.h stdstrings.h simulate.h object.h \ mstrings.h main.h lex.h interpret.h gcollect.h array.h actions.h \ parse.h typedefs.h driver.h strfuns.h sent.h bytecode.h hash.h \ backend.h port.h config.h hosts/unix.h hosts/be/be.h machine.h parser.o : lang.c ../mudlib/sys/driver_hook.h i-eval_cost.h xalloc.h \ wiz_list.h switch.h swap.h svalue.h structs.h stdstrings.h simul_efun.h \ simulate.h object.h mstrings.h mapping.h main.h lex.h instrs.h \ interpret.h gcollect.h exec.h closure.h backend.h array.h prolang.h \ my-alloca.h typedefs.h driver.h strfuns.h hash.h ptrtable.h sent.h \ bytecode.h port.h config.h hosts/unix.h hosts/be/be.h machine.h dftables.o : pcre/maketables.c pcre/internal.h pcre/pcre.h pcre/config.h pkg-alists.o : i-svalue_cmp.h xalloc.h svalue.h simulate.h mstrings.h \ main.h interpret.h array.h my-alloca.h pkg-alists.h typedefs.h driver.h \ closure.h strfuns.h sent.h bytecode.h hash.h backend.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h pkg-idna.o : ../mudlib/sys/idn.h xalloc.h simulate.h mstrings.h interpret.h \ typedefs.h pkg-idna.h driver.h svalue.h strfuns.h sent.h bytecode.h \ hash.h backend.h port.h config.h main.h hosts/unix.h hosts/be/be.h \ machine.h pkg-mccp.o : ../mudlib/sys/telnet.h xalloc.h svalue.h object.h mstrings.h \ comm.h array.h pkg-mccp.h typedefs.h driver.h strfuns.h sent.h hash.h \ pkg-tls.h simulate.h port.h config.h bytecode.h hosts/unix.h \ hosts/be/be.h machine.h pkg-mysql.o : xalloc.h svalue.h stdstrings.h simulate.h mstrings.h main.h \ instrs.h interpret.h array.h pkg-mysql.h my-alloca.h typedefs.h \ driver.h strfuns.h sent.h bytecode.h hash.h exec.h backend.h port.h \ config.h hosts/unix.h hosts/be/be.h machine.h pkg-pcre.o : pcre/study.c pcre/maketables.c pcre/get.c pcre/pcre.c \ simulate.h interpret.h pkg-pcre.h driver.h pcre/internal.h \ pcre/chartables.c svalue.h strfuns.h sent.h bytecode.h typedefs.h \ backend.h pcre/pcre.h port.h config.h pcre/config.h main.h hosts/unix.h \ hosts/be/be.h machine.h pkg-pgsql.o : ../mudlib/sys/pgsql.h xalloc.h stdstrings.h simulate.h \ mstrings.h mapping.h main.h interpret.h instrs.h gcollect.h array.h \ actions.h pkg-pgsql.h my-alloca.h typedefs.h driver.h svalue.h \ strfuns.h sent.h bytecode.h hash.h backend.h exec.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h pkg-sqlite.o : xalloc.h stdstrings.h object.h svalue.h simulate.h \ mstrings.h interpret.h array.h my-alloca.h typedefs.h driver.h \ strfuns.h sent.h bytecode.h hash.h backend.h port.h config.h main.h \ hosts/unix.h hosts/be/be.h machine.h pkg-tls.o : ../mudlib/sys/tls.h xalloc.h svalue.h sha1.h object.h \ mstrings.h main.h interpret.h comm.h array.h actions.h pkg-tls.h \ machine.h driver.h strfuns.h typedefs.h my-stdint.h sent.h hash.h \ bytecode.h backend.h simulate.h port.h config.h hosts/unix.h \ hosts/be/be.h port.o : hosts/crypt.c main.h backend.h my-rusage.h driver.h machine.h \ typedefs.h port.h config.h hosts/unix.h hosts/be/be.h ptmalloc.o : ptmalloc/malloc.c machine.h config.h ptmalloc/hooks.c \ ptmalloc/arena.c ptmalloc/thread-m.h ptmalloc/malloc.h \ ptmalloc/config.h ptrtable.o : simulate.h mempools.h ptrtable.h driver.h svalue.h strfuns.h \ sent.h bytecode.h typedefs.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h random.o : random.h driver.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h regexp.o : i-eval_cost.h main.h xalloc.h simulate.h regexp.h driver.h \ interpret.h typedefs.h svalue.h strfuns.h sent.h bytecode.h pkg-pcre.h \ port.h config.h backend.h pcre/pcre.h hosts/unix.h hosts/be/be.h \ machine.h sha1.o : sha1.h my-stdint.h driver.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h simul_efun.o : xalloc.h swap.h svalue.h stdstrings.h simulate.h prolang.h \ ptrtable.h object.h mstrings.h lex.h interpret.h gcollect.h exec.h \ array.h simul_efun.h my-alloca.h typedefs.h driver.h strfuns.h sent.h \ bytecode.h hash.h backend.h port.h config.h main.h hosts/unix.h \ hosts/be/be.h machine.h simulate.o : ../mudlib/sys/rtlimits.h ../mudlib/sys/regexp.h \ ../mudlib/sys/files.h ../mudlib/sys/driver_hook.h \ ../mudlib/sys/debug_info.h i-eval_cost.h xalloc.h wiz_list.h svalue.h \ swap.h structs.h strfuns.h stdstrings.h simul_efun.h sent.h prolang.h \ pkg-sqlite.h pkg-tls.h otable.h object.h mstrings.h mregex.h mempools.h \ mapping.h main.h lex.h heartbeat.h gcollect.h filestat.h ed.h comm.h \ closure.h call_out.h backend.h array.h actions.h simulate.h my-alloca.h \ typedefs.h driver.h interpret.h hash.h exec.h ptrtable.h bytecode.h \ port.h config.h hosts/unix.h hosts/be/be.h machine.h sprintf.o : xalloc.h swap.h svalue.h structs.h stdstrings.h simul_efun.h \ simulate.h sent.h random.h ptrtable.h object.h mstrings.h mapping.h \ main.h interpret.h comm.h closure.h array.h actions.h sprintf.h \ my-alloca.h typedefs.h driver.h strfuns.h hash.h exec.h bytecode.h \ backend.h pkg-tls.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h stdstrings.o : mstrings.h stdstrings.h typedefs.h driver.h hash.h port.h \ config.h hosts/unix.h hosts/be/be.h machine.h strfuns.o : xalloc.h svalue.h stdstrings.h simulate.h object.h mstrings.h \ mapping.h main.h interpret.h comm.h strfuns.h my-alloca.h typedefs.h \ driver.h sent.h bytecode.h hash.h backend.h pkg-tls.h port.h config.h \ hosts/unix.h hosts/be/be.h machine.h structs.o : ../mudlib/sys/struct_info.h ../mudlib/sys/debug_info.h xalloc.h \ wiz_list.h stdstrings.h simulate.h object.h mstrings.h mapping.h main.h \ interpret.h gcollect.h exec.h array.h structs.h driver.h \ ../mudlib/sys/lpctypes.h svalue.h strfuns.h typedefs.h sent.h \ bytecode.h hash.h backend.h port.h config.h hosts/unix.h hosts/be/be.h \ machine.h swap.o : ../mudlib/sys/debug_info.h xalloc.h wiz_list.h svalue.h structs.h \ strfuns.h stdstrings.h simul_efun.h simulate.h random.h prolang.h \ otable.h object.h mstrings.h mempools.h mapping.h main.h interpret.h \ gcollect.h comm.h closure.h backend.h array.h swap.h typedefs.h \ driver.h hash.h exec.h ptrtable.h sent.h bytecode.h pkg-tls.h port.h \ config.h hosts/unix.h hosts/be/be.h machine.h wiz_list.o : xalloc.h svalue.h stdstrings.h simulate.h object.h mstrings.h \ mapping.h main.h interpret.h gcollect.h backend.h array.h \ ../mudlib/sys/wizlist.h wiz_list.h my-alloca.h typedefs.h driver.h \ strfuns.h sent.h bytecode.h hash.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h xalloc.o : xptmalloc.c sysmalloc.c slaballoc.c smalloc.c mstrings.h \ object.h exec.h simulate.h interpret.h gcollect.h backend.h xalloc.h \ driver.h ../mudlib/sys/debug_info.h ptmalloc/malloc.h svalue.h \ stdstrings.h sysmalloc.h array.h slaballoc.h typedefs.h smalloc.h \ hash.h sent.h bytecode.h strfuns.h main.h port.h config.h hosts/unix.h \ hosts/be/be.h machine.h # --- DO NOT MODIFY THIS LINE -- AUTO-DEPENDS PRECEDE --- # --- DO NOT MODIFY THIS LINE -- SELECTED AUTO-DEPENDS FOLLOW --- actions.o : stdstrings.h array.o : stdstrings.h backend.o : stdstrings.h call_out.o : stdstrings.h closure.o : stdstrings.h instrs.h comm.o : stdstrings.h dumpstat.o : stdstrings.h instrs.h ed.o : stdstrings.h efuns.o : stdstrings.h files.o : stdstrings.h gcollect.o : stdstrings.h instrs.h interpret.o : stdstrings.h instrs.h lex.o : efun_defs.c stdstrings.h lang.h instrs.h main.o : stdstrings.h mkfunc.o : make_func.c mstrings.o : stdstrings.h object.o : stdstrings.h instrs.h parse.o : stdstrings.h parser.o : lang.c stdstrings.h instrs.h pkg-mysql.o : stdstrings.h instrs.h pkg-pgsql.o : stdstrings.h instrs.h pkg-sqlite.o : stdstrings.h simul_efun.o : stdstrings.h simulate.o : stdstrings.h sprintf.o : stdstrings.h stdstrings.o : stdstrings.h strfuns.o : stdstrings.h structs.o : stdstrings.h swap.o : stdstrings.h wiz_list.o : stdstrings.h xalloc.o : stdstrings.h # --- DO NOT MODIFY THIS LINE -- SELECTED AUTO-DEPENDS PRECEDE --- | ||||
External Data (URL) | |||||
child of | 0000555 | closed | LDMud 3.5 | Complete support for 64bit (LP64) architectures |
|
Interesting. I don't have any issues like that on my 64 bit platform, so we need more information, starting with: * which platform (processur architecture) do you use? * which minimal code fragment triggers the crashes reproducibly on your system? * which configure options do you use (you may attach your config.h here instead). If you use some custom compiler options, please give them as well. * do you have a stack trace or core dump available? For getting a useful core dump: * allow core dumps with 'ulimit -c unlimited' in the shell before launching the driver. The driver needs write permissions as well (core dumps are then usually written to the current directory, but can be collected in a central place like /etc/cores/). * In order for core dumps to be useful, the executable has to contain debugging symbols. You get them by configuring the driver with '--enable-debug', which is luckily enabled by default. (Unfortunately, compiler optimizations may make debugging very difficult, so please do not use a setting higher than 'med' for --with-optimize, 'no' or 'low' would be even better if you can afford it.) I assume you compile with gcc. In that case you could maximise available debugging information by changing -g to -ggdb3 in the Makefile before compiling. If you get a core dump, please archive the binary which produced it as well. Without it the core dump will usually be useless. |
|
After a personal discussion yesterday we came to the conclusion, that it is probably an issue of a screwed up machine.h because of a possible change of architecture between configure and make. Xtian is now testing if the problems vanish. Setting this to 'feedback' state for the meantime. |
|
Xtian reported that he had not further occurances of this issue, so our initial guess was very likely true. Closing for now. (I added a section about compiling the driver for 64 bit platforms to INSTALL with a warning not to change compiler options (which control the ABI) in the Makefile after running configure.) |
Date Modified | Username | Field | Change |
---|---|---|---|
2008-12-03 02:31 | _xtian_ | New Issue | |
2008-12-03 03:52 | zesstra | Note Added: 0000808 | |
2008-12-03 03:52 | zesstra | Relationship added | child of 0000555 |
2008-12-03 09:33 | _xtian_ | File Added: config.h | |
2008-12-03 09:34 | _xtian_ | File Added: Makefile | |
2008-12-04 13:19 | zesstra | Note Added: 0000809 | |
2008-12-04 13:19 | zesstra | Assigned To | => zesstra |
2008-12-04 13:19 | zesstra | Status | new => feedback |
2008-12-29 06:11 | zesstra | Status | feedback => closed |
2008-12-29 06:11 | zesstra | Note Added: 0000837 | |
2008-12-29 06:11 | zesstra | Resolution | open => no change required |