lynx-dev
[Top][All Lists]
Advanced

[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>

Attachment: make.log.gz
Description: application/gunzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]