View Issue Details

IDProjectCategoryView StatusLast Update
0000585LDMudRuntimepublic2008-12-29 07:11
Reporter_xtian_ Assigned Tozesstra  
PrioritynormalSeveritycrashReproducibilitysometimes
Status closedResolutionno change required 
Platform64bitOSdebianOS Versionlenny
Summary0000585: 64bit crash(es) on loading objects
DescriptionOn 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?)
TagsNo tags attached.
External Data (URL)

Relationships

child of 0000555 closed LDMud 3.5 Complete support for 64bit (LP64) architectures 

Activities

zesstra

2008-12-03 04:52

administrator   ~0000808

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.

2008-12-03 10:33

 

config.h (20,133 bytes)

2008-12-03 10:34

 

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 ---
Makefile (25,419 bytes)   

zesstra

2008-12-04 14:19

administrator   ~0000809

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.

zesstra

2008-12-29 07:11

administrator   ~0000837

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.)

Issue History

Date Modified Username Field Change
2008-12-03 03:31 _xtian_ New Issue
2008-12-03 04:52 zesstra Note Added: 0000808
2008-12-03 04:52 zesstra Relationship added child of 0000555
2008-12-03 10:33 _xtian_ File Added: config.h
2008-12-03 10:34 _xtian_ File Added: Makefile
2008-12-04 14:19 zesstra Note Added: 0000809
2008-12-04 14:19 zesstra Assigned To => zesstra
2008-12-04 14:19 zesstra Status new => feedback
2008-12-29 07:11 zesstra Status feedback => closed
2008-12-29 07:11 zesstra Note Added: 0000837
2008-12-29 07:11 zesstra Resolution open => no change required