Richard,

I almost looks like the pointer to "char *argument" is being
overwritten/destroyed/lost somehow, hence passing a big fat goose egg (or
the like).

- Valnir

----- Original Message ----- 
From: "Richard Lindsey" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, July 21, 2004 1:21 PM
Subject: More corruption...


A while back, I sent a mail out to the list about my rgObjNest being
corrupted, and I ended up just manually deleting the pfile in question...
I've had a couple of other quirks pop up, such as in pload, a command that
was working fine one day and not the next, it appeared that the argument was
getting trashed when sent to the one_argument function, and it would lead to
a crash... well through some experimentation, and I'm not quite sure why
this worked, but I discovered that if I removed the optimization flag (-O)
from the Makefile, this problem ceased; putting that flag back in place
caused the problem to pop up again... no biggie, sometimes I don't like
optimization in place anyway when I'm trying to debug loops... anyway, now
that optimization *isn't* in place, the problem seems to have crept into
another function (and who knows how many it's affecting that I just haven't
discovered yet)... upon trying to set a stat on myself, it kept popping up
the syntax, so when I typed 'set char' by itself, to echo the syntax of
those fields... *crash*... when I run it in gdb and break at do_set and step
through the first statement, this is the output:

Breakpoint 1, do_set (ch=0x4032f388, argument=0xbfff8dd0 "char") at
act_wiz.c:4131
4131        argument = one_argument(argument,arg);
(gdb) step
one_argument (argument=0xbfff8dd0 "Ð\215ÿ¿à\215ÿ¿", arg_first=0xbfff8de0 "")
at interp.c:943
943         char cEnd;

as you can see, where it breaks at the beginning of do_set,
argument=0xbfff8dd0 "char", so that data is intact... the first step tho,
into one_argument, trashes the argument, and from there it tries to process
that and crashes... this is the same exact thing that was happening to pload
with the -O flag in place for gcc... now that I've removed that flag, it
doesn't affect pload anymore, but now it seems to be affecting do_set... any
ideas what's going on here? This is also on a different server than the
problem had originally popped up on, and yet it's recreatable on either one;
at first I'd suspected corrupted memory modules or something, but on 2
different machines I wouldn't expect that to be the case... help! :)

Richard Lindsey.

-- 
ROM mailing list
[email protected]
http://www.rom.org/cgi-bin/mailman/listinfo/rom


Reply via email to