[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lynx-dev 2.8.1dev.12 with slang seg faults
From: |
Michael Warner |
Subject: |
Re: lynx-dev 2.8.1dev.12 with slang seg faults |
Date: |
Wed, 20 May 1998 15:02:29 -0700 |
On Mon, May 18, 1998, T.E.Dickey <address@hidden> wrote:
[...]
> oh: I only noticed in your earlier message something about casts, and was
> thinking about casting away const -- if you have some other warnings, I'm
> interested in seeing those.
If I do a make with all the warnings turned on, there's a
bunch. I'll attached a gzipped copy of the output.
> DEC's got a debugger of course - if I were testing this, I'd try to narrow
> the problem down to a line number (compiling with -g). Most problems like
> this are easy to pinpoint (though of course the ones that account for most
> of the time aren't ;-)
I'm clueless about debugging - I've forgotten more than I
ever knew about C code. When lynx crashes on this, there's
no core produced, though I've got "NO_FORCED_CORE_DUMPS:FALSE" or
whatever in the userdefs.h file.
I built lynx with "--enable-debug" & "--with-screen=slang" as the only
configure flag, and left userdefs.h and lynx.cfg unedited.
The output I can manage from gdb follows:
Program received signal SIGSEGV, Segmentation fault.
warning: Hit beginning of text section without finding
warning: enclosing function for address 0x200dda30
This warning occurs if you are debugging a function without
any symbols
(for example, in a stripped executable). In that case, you
may wish to
increase the size of the search with the `set
heuristic-fence-post' command.
Otherwise, you told GDB there was a function where there
isn't one, or
(more likely) you have encountered a bug in GDB.
0x200dda30 in ?? ()
(gdb) bt
#0 0x200dda30 in ?? ()
#1 0x1200de65c in SLang_do_key (kml=0x1400b0688, getkey=0x200dda30)
at /tmp/warner/slang/src/slkeymap.c:352
#2 0x1200de65c in SLang_do_key (kml=Error accessing
memory address 0x18: Invalid argument.
) at /tmp/warner/slang/src/slkeymap.c:352
Error accessing memory address 0x40: Invalid argument.
That section of slkeymap.c is:
SLang_Key_Type *SLang_do_key(SLKeyMap_List_Type *kml, int (*getkey)(void))
{
register SLang_Key_Type *key, *next, *kmax;
unsigned int len;
unsigned char input_ch;
register unsigned char chup, chlow;
unsigned char key_ch = 0;
SLang_Last_Key_Char = (*getkey)(); /*** LINE 352 ***/
SLang_Key_TimeOut_Flag = 0;
if (SLANG_GETKEY_ERROR == (unsigned int) SLang_Last_Key_Char)
return NULL;
input_ch = (unsigned char) SLang_Last_Key_Char;
key = (SLang_Key_Type *) &((kml->keymap)[input_ch]);
[~100 lines of SLang_do_key deleted]
}
I backed out the last few version patches for lynx, and this
problem appeared in 2.8.1dev10 - dev9 works. I didn't have
access to Slang versions to narrow it down much, but lynx
dev12 worked with Slang .99-38, and didn't work with 1.2.0
through 1.2.2 .
So anyway, I'm using dev12 with the old version .99 SLang,
and it seems to function fine. The partial-display thing in
particular is pretty zippy!
Let me know if I can give any (more?) help.
--
Michael Warner
<address@hidden>
make.log.gz
Description: application/gunzip