"s.maertens" <[EMAIL PROTECTED]> writes:

> Package: links 
> Version: Elinks 0.4pre5 - Text WWW browser 
>
> When /etc/resolv.conf  has an entry like this  nameserver <wrong ip of 
> nameserver> or 
> route has a wrong default route and I start links , I lookup an url (shift 
> -g)  and when it is searching i press "q" to quit  or control-c  it segfaults
>
> example of resolv.conf
> nameserver 195.130.132.1
>
>
>
> Memory leak by 25 bytes 
> LIst of Blocks: 0x8116080:49 @ dns.c:374
>
> Forcing core dump
> Man the Lifeboats! Woman and children first
> Segmentation fault.

To reproduce the bug, I changed the name server address in
/etc/resolv.conf to 192.168.101.1 which ignores DNS packets, started
"env -u http_proxy LANG=C .../elinks -no-home -no-connect 
http://www.debian.org/";
(without -no-home for those versions that don't support it),
and pressed Q when "Looking up host" or the corresponding Finnish words
appeared in the status line.  Test results with various versions:

ELinks 0.3.2 (links rather than src/elinks) does not crash.

ELinks 0.4pre5 and 0.4pre6 (src/links rather than src/elinks)
do not report a memory leak but rather crash like this:

(gdb) bt
#0  0x08094e02 in debug_mem_free (
    file=0x80d35c0 
"/home/Kalle/src/MIRROR/elinks-0.4pre5/src/lowlevel/sched.c", line=343, 
p=0x8116c38)
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/util/error.c:201
#1  0x0807f638 in free_connection_data (c=0x81165e8)
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/lowlevel/sched.c:343
#2  0x0807fd5c in interrupt_connection (c=0x81165e8)
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/lowlevel/sched.c:551
#3  0x08080096 in abort_connection (c=0x81165e8)
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/lowlevel/sched.c:655
#4  0x08080f2d in abort_all_connections ()
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/lowlevel/sched.c:1098
#5  0x0804a929 in terminate_all_subsystems ()
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/main.c:355
#6  0x0804a9e2 in main (argc=3, argv=0xbff2aa04)
    at /home/Kalle/src/MIRROR/elinks-0.4pre5/src/main.c:393

(gdb) bt
#0  0x0809df6e in debug_mem_free (
    file=0x80d88e0 
"/home/Kalle/src/MIRROR/elinks-0.4pre6/src/lowlevel/sched.c", line=335, 
p=0x8119558)
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/util/error.c:201
#1  0x0807f82c in free_connection_data (c=0x8119998)
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/lowlevel/sched.c:335
#2  0x0807ff50 in interrupt_connection (c=0x8119998)
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/lowlevel/sched.c:543
#3  0x0808028a in abort_connection (c=0x8119998)
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/lowlevel/sched.c:647
#4  0x08081127 in abort_all_connections ()
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/lowlevel/sched.c:1090
#5  0x0804aa66 in terminate_all_subsystems ()
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/main.c:364
#6  0x0804ab1f in main (argc=3, argv=0xbf8adb84)
    at /home/Kalle/src/MIRROR/elinks-0.4pre6/src/main.c:402

ELinks 0.4pre10, 0.4pre14, and 0.4.0 crash before I even press Q:

(gdb) bt
#0  0x0807ee4e in get_text_translation (text=0x81133da "", term=0x822e991)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/intl/language.c:108
#1  0x0806e823 in get_stat_msg (stat=0x823d4a9, term=0x822e991)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:204
#2  0x0806ea0f in print_screen_status (ses=0x823d479)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:243
#3  0x080701be in end_load (stat=0x823d4a9, ses=0x823d479)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:826
#4  0x08083046 in send_connection_info (c=0x823d781)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/lowlevel/sched.c:381
#5  0x08082af0 in setcstate (c=0x823d781, state=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/lowlevel/sched.c:261
#6  0x08084368 in load_url (url=0x82291f9 "http://www.debian.org/";,
    prev_url=0x0, stat=0x823d4a9, pri=0, cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/lowlevel/sched.c:926
#7  0x0806f556 in ses_goto (ses=0x823d479,
    url=0x82291f9 "http://www.debian.org/";, target=0x0, pri=0,
    cache_mode=NC_CACHE, wtd=WTD_FORWARD, pos=0x0, fn=0x80700c9 <end_load>,
    redir=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:529
#8  0x080712ab in really_goto_url_w (ses=0x823d479,
    url=0x823d589 "http://www.debian.org/";, target=0x0, wtd=WTD_FORWARD,
    cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:1309
#9  0x080712ea in goto_url_w (ses=0x823d479,
    url=0x823d589 "http://www.debian.org/";, target=0x0, wtd=WTD_FORWARD,
    cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:1328
#10 0x0807137e in goto_url (ses=0x823d479,
    url=0x823d589 "http://www.debian.org/";)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:1348
#11 0x08070ad0 in read_session_info (fd=5, ses=0x823d479, data=0x8232a59,
    len=30)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:1119
#12 0x080716b0 in win_func (win=0x812b361, ev=0x8230a31, fw=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/document/session.c:1432
#13 0x08086c93 in in_term (term=0x822e991)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/lowlevel/terminal.c:567
#14 0x0808583d in select_loop (init=0x804aa3d <init>)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/lowlevel/select.c:509
#15 0x0804aeb8 in main (argc=4, argv=0xbfe89144)
    at /home/Kalle/src/MIRROR/elinks-0.4pre10/src/main.c:400

(gdb) bt
#0  0x080839ea in get_text_translation (text=0x81210bc "", term=0x8243111)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/intl/language.c:108
#1  0x08072dd4 in get_stat_msg (stat=0x813faa1, term=0x8243111)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:208
#2  0x08072fde in print_screen_status (ses=0x813fa71)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:247
#3  0x0807482f in end_load (stat=0x813faa1, ses=0x813fa71)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:833
#4  0x08087cdb in send_connection_info (c=0x824e089)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/lowlevel/sched.c:379
#5  0x08087720 in setcstate (c=0x824e089, state=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/lowlevel/sched.c:259
#6  0x08089101 in load_url (url=0x824df71 "http://www.debian.org/";,
    prev_url=0x0, stat=0x813faa1, pri=0, cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/lowlevel/sched.c:923
#7  0x08073b7d in ses_goto (ses=0x813fa71,
    url=0x824df71 "http://www.debian.org/";, target=0x0, pri=0,
    cache_mode=NC_CACHE, wtd=WTD_FORWARD, pos=0x0, fn=0x807473a <end_load>,
    redir=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:536
#8  0x080759da in really_goto_url_w (ses=0x813fa71,
    url=0x824de49 "http://www.debian.org/";, target=0x0, wtd=WTD_FORWARD,
    cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:1320
#9  0x08075a19 in goto_url_w (ses=0x813fa71,
    url=0x824de49 "http://www.debian.org/";, target=0x0, wtd=WTD_FORWARD,
    cache_mode=NC_CACHE)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:1339
#10 0x08075aad in goto_url (ses=0x813fa71,
    url=0x824de49 "http://www.debian.org/";)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:1359
#11 0x08075178 in read_session_info (fd=5, ses=0x813fa71, data=0x82433f9,
    len=30)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:1129
#12 0x08075dee in win_func (win=0x823d901, ev=0x82432c1, fw=0)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/document/session.c:1456
#13 0x0808bb65 in in_term (term=0x8243111)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/lowlevel/terminal.c:573
#14 0x0808a6a7 in select_loop (init=0x804a5ed <init>)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/lowlevel/select.c:509
#15 0x0804aa6d in main (argc=4, argv=0xbfe3c8f4)
    at /home/Kalle/src/MIRROR/elinks-0.4pre14/src/main.c:409

(gdb) bt
#0  0xb7d1ad76 in raise () from /lib/libc.so.6
#1  0x0809a11c in force_dump ()
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/util/error.c:32
#2  0x0809a26b in int_error (fmt=0x80e94dd "straconcat str=NULL")
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/util/error.c:83
#3  0x0809bed3 in straconcat (str=0x0)
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/util/string.c:179
#4  0x0809d3e5 in load_config_file (prefix=0x0, name=0x80e98ba "elinks.conf",
    options=0x811a6e0, str=0x0, len=0x0)
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/config/conf.c:426
#5  0x0809d564 in load_config ()
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/config/conf.c:455
#6  0x0804ad37 in init () at /home/Kalle/src/MIRROR/elinks-0.4.0/src/main.c:320
#7  0x0807f700 in select_loop (init=0x804aaf2 <init>)
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/lowlevel/select.c:413
#8  0x0804afe5 in main (argc=4, argv=0xbfe89154)
    at /home/Kalle/src/MIRROR/elinks-0.4.0/src/main.c:447

ELinks 0.4.3, 0.5pre1, 0.9.0, 0.9.3, 0.10.0, 0.10.6, 0.11.0, and
0.11.3 do not crash.

So, it appears I was unable to reproduce the reported bug.

Attachment: pgp1zAE4cuT8y.pgp
Description: PGP signature

Reply via email to