Closed Bug 9036 Opened 25 years ago Closed 25 years ago

Viewer blocks forever on dns lookup if machine loses network connection.

Categories

(Core :: Networking, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED DUPLICATE of bug 10732

People

(Reporter: dejong, Assigned: gordon)

Details

I compiled mozilla on a RedHat Linux 5.2 system from the CVS
source today (Tue Jun 29). By accident. I knocked the network
connection out of my PCMCIA card and I noticed that mozilla
locked up completely. It stopped redrawing and just sat there.


I attached the debugger and got this stack trace where the
program was getting hung.

#0  0x407ae2de in __select ()
#1  0x406e35c4 in __DTOR_END__ ()
#2  0x406df785 in res_query (name=0x402825a3 "home.netscape.com", class=1,
    type=1, answer=0xbfffcd48 "àÇJ@4¤J@`Íÿ¿ÌeJ@¤Íÿ¿àÇJ@xÍÿ¿k2J@¼Íÿ¿Ìv}@\e",
    anslen=1024) at res_query.c:134
#3  0x406dfc9e in res_querydomain (name=0x402825a3 "home.netscape.com",
    domain=0x0, class=1, type=1,
    answer=0xbfffcd48 "àÇJ@4¤J@`Íÿ¿ÌeJ@¤Íÿ¿àÇJ@xÍÿ¿k2J@¼Íÿ¿Ìv}@\e", anslen=1024)
    at res_query.c:352
#4  0x406df9d5 in res_search (name=0x402825a3 "home.netscape.com", class=1,
    type=1, answer=0xbfffcd48 "àÇJ@4¤J@`Íÿ¿ÌeJ@¤Íÿ¿àÇJ@xÍÿ¿k2J@¼Íÿ¿Ìv}@\e",
    anslen=1024) at res_query.c:216
#5  0x40ff1c22 in _nss_dns_gethostbyname2_r (
    name=0x402825a3 "home.netscape.com", af=2, result=0x407e37f8,
    buffer=0x81564b0 "À¨\n¨\2206}@¯¯¯¯¯¯¯¯°d\025\b", buflen=1024,
    h_errnop=0xbfffd24c) at nss_dns/dns-host.c:159
#6  0x40ff1cd9 in _nss_dns_gethostbyname_r (name=0x402825a3 "home.netscape.com",
    result=0x407e37f8, buffer=0x81564b0 "À¨\n¨\2206}@¯¯¯¯¯¯¯¯°d\025\b",
    buflen=1024, h_errnop=0xbfffd24c) at nss_dns/dns-host.c:181
#7  0x407b94c9 in __gethostbyname_r (name=0x402825a3 "home.netscape.com",
    resbuf=0x407e37f8, buffer=0x81564b0 "À¨\n¨\2206}@¯¯¯¯¯¯¯¯°d\025\b",
    buflen=1024, result=0xbfffd250, h_errnop=0xbfffd24c)
    at ../nss/getXXbyYY_r.c:133
#8  0x407b843e in gethostbyname (name=0x402825a3 "home.netscape.com")
    at ../nss/getXXbyYY.c:112
#9  0x40480fd5 in PR_GetHostByName (name=0x402825a3 "home.netscape.com",
    buf=0xbfffd30c "mo.spanlink.com", bufsize=1024, hp=0xbfffd70c)
    at prnetdb.c:309
#10 0x4026a2f3 in net_IsHostResolvable (hostname=0x402825a3 "home.netscape.com",
    context=0x81bb080) at mkgeturl.c:1495
#11 0x4026a6b7 in NET_SanityCheckDNS (context=0x81bb080) at mkgeturl.c:1624
#12 0x40266bdb in net_FindAddress (host_ptr=0x81a0a98 "www.cs.umn.edu",
    net_addr=0x8157414, window_id=0x81bb080, sock=0x8164318) at mkconect.c:795
#13 0x40267601 in NET_BeginConnect (
    url=0x8236d58 "http://www.cs.umn.edu/~dejong", ip_address_string=0x0,
    prot_name=0x40207f05 "HTTP", def_port=80, sock=0x82111cc, dummy=0 '\000',
    tcp_con_data=0x81572f4, window_id=0x81bb080, error_msg=0x8236cf0,
    socks_host=0, socks_port=0, localIP=0) at mkconect.c:1197
#14 0x401f7391 in net_start_http_connect (ce=0x81dcd98) at mkhttp.c:500
#15 0x401fec8d in net_ProcessHTTP (ce=0x81dcd98) at mkhttp.c:3523
#16 0x401feb62 in net_HTTPLoad (ce=0x81dcd98) at mkhttp.c:3491
#17 0x4026c4ce in NET_GetURL (URL_s=0x8236be8, output_format=102,
    window_id=0x81bb080,
    exit_routine=0x40247f80 <bam_exit_routine(URL_Struct_ *, int, MWContext_
*)>)
    at mkgeturl.c:2979
#18 0x40246421 in nsNetlibService::OpenStream (this=0x8121d48, aUrl=0x8156dc0,
    aConsumer=0x8235b28) at nsNetService.cpp:493
#19 0x4001ac2c in nsDocumentBindInfo::Bind (this=0x8235b28, aURL=0x8156dc0,
    aListener=0x0) at nsDocLoader.cpp:1592
#20 0x4001ab0a in nsDocumentBindInfo::Bind (this=0x8235b28,
    aURLSpec=@0xbfffef20, aPostData=0x0, aListener=0x0) at nsDocLoader.cpp:1547
#21 0x40019252 in nsDocLoaderImpl::LoadDocument (this=0x80fc0e0,
    aURLSpec=@0xbfffef20, aCommand=0x0, aContainer=0x80fbb38, aPostData=0x0,
    aExtraInfo=0x0, anObserver=0x80f0db4, aType=nsURLReload, aLocalIP=0)
    at nsDocLoader.cpp:648
#22 0x4001f9fc in nsWebShell::DoLoadURL (this=0x80fbb38, aUrlSpec=@0xbfffef20,
    aCommand=0x0, aPostData=0x0, aType=nsURLReload, aLocalIP=0)
    at nsWebShell.cpp:1826
#23 0x400200b2 in nsWebShell::LoadURL (this=0x80fbb38, aURLSpec=0x8211110,
    aCommand=0x0, aPostData=0x0, aModifyHistory=1, aType=nsURLReload,
aLocalIP=0)
    at nsWebShell.cpp:1940
#24 0x8059357 in nsBrowserWindow::GoTo (this=0x80f0db0, aURL=0x8211110,
    aCommand=0x0) at nsBrowserWindow.cpp:708
#25 0x80588bf in HandleLocationEvent (aEvent=0xbffff0cc)
    at nsBrowserWindow.cpp:402
#26 0x4005a266 in nsWidget::DispatchEvent (this=0x811eaf0, event=0xbffff0cc,
    aStatus=@0xbffff094) at nsWidget.cpp:987
#27 0x4005a170 in nsWidget::DispatchWindowEvent (this=0x811eaf0,
    event=0xbffff0cc) at nsWidget.cpp:949
#28 0x4005c7bc in nsWindow::OnKey (this=0x811eaf0, aEvent=@0xbffff0cc)
    at nsWindow.cpp:567
#29 0x40057883 in handle_key_release_event (w=0x811f5a0, event=0x8137720,
    p=0x811eaf0) at nsGtkEventHandler.cpp:646
#30 0x405a2a99 in gtk_marshal_BOOL__POINTER (object=0x811f5a0,
    func=0x400577cc <handle_key_release_event(_GtkWidget *, _GdkEventKey *, void
*)>, func_data=0x811eaf0, args=0xbffff1c4) at gtkmarshal.c:30
#31 0x40567c52 in gtk_handlers_run (handlers=0x810ada8, signal=0xbffff180,
    object=0x811f5a0, params=0xbffff1c4, after=0) at gtksignal.c:1909
#32 0x40567158 in gtk_signal_real_emit (object=0x811f5a0, signal_id=27,
    params=0xbffff1c4) at gtksignal.c:1469
#33 0x40565468 in gtk_signal_emit (object=0x811f5a0, signal_id=27)
    at gtksignal.c:552
#34 0x4059a110 in gtk_widget_event (widget=0x811f5a0, event=0x8137720)
    at gtkwidget.c:2790
#35 0x405a1835 in gtk_window_key_release_event (widget=0x80f8bb8,
    event=0x8137720) at gtkwindow.c:1131
#36 0x405a2a99 in gtk_marshal_BOOL__POINTER (object=0x80f8bb8,
    func=0x405a174c <gtk_window_key_release_event>, func_data=0x0,
    args=0xbffff520) at gtkmarshal.c:30
#37 0x4056718f in gtk_signal_real_emit (object=0x80f8bb8, signal_id=27,
    params=0xbffff520) at gtksignal.c:1484
#38 0x40565468 in gtk_signal_emit (object=0x80f8bb8, signal_id=27)
    at gtksignal.c:552
#39 0x4059a110 in gtk_widget_event (widget=0x80f8bb8, event=0x8137720)
    at gtkwidget.c:2790
#40 0x4053a0c9 in gtk_propagate_event (widget=0x811f5a0, event=0x8137720)
    at gtkmain.c:1281
#41 0x40539472 in gtk_main_do_event (event=0x8137720) at gtkmain.c:753
#42 0x405deed6 in gdk_event_dispatch (source_data=0x0, current_time=0xbffff8a0,
#43 0x4060ac8f in g_main_dispatch (current_time=0xbffff8a0) at gmain.c:652
#44 0x4060b277 in g_main_iterate (block=1, dispatch=1) at gmain.c:870
#45 0x4060b3f9 in g_main_run (loop=0x81370a8) at gmain.c:928
#46 0x40538edf in gtk_main () at gtkmain.c:475
#47 0x4004bdad in nsAppShell::Run (this=0x8086e18) at nsAppShell.cpp:237
#48 0x8054012 in nsNativeViewerApp::Run (this=0x806f9e8) at nsGTKMain.cpp:42
#49 0x80541e1 in main (argc=1, argv=0xbffff994) at nsGTKMain.cpp:89








After I plugged the network connection back in I got this message
on the command line.




Browser Window Alert: Warning: the following hosts are unknown:

                    home.netscape.com
                    home6.netscape.com
                    internic.net

This means that some or all hosts will be unreachable.

Perhaps there is a problem with your name server?
If your site must use a non-root name server, you will
need to set the $SOCKS_NS environment variable to
point at the appropriate name server.  It may (or
may not) be necessary to set this variable, or the
SOCKS host preference, to the IP address of the host
in question rather than its name.

Consult your system administrator.
nsDocumentBindInfo::OnStopBinding: Load of URL 'http://www.cs.umn.edu/~dejong'
failed.  Error code: 1



There should be some sort of timeout of something on this
call. It should not just block forever.
Assignee: rickg → warren
Warren -- just a heads up. This likely goes away with necko.
Assignee: warren → gordon
Gordon -- async DNS issue. We need to make sure we can time-out and cancel DNS
requests.
Target Milestone: M9
Status: NEW → ASSIGNED
Target Milestone: M9 → M10
Target Milestone: M10 → M11
m11 unless fix in hand
Target Milestone: M11 → M12
Async DNS for Windows and Unix won't be complete for M11.  Async DNS for Mac has
been checked in.

Canceling DNS requests will be in M12.
Component: Viewer App → Networking-Core
QA Contact: leger → tever
Setting QA Contact/component
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Fixed by async dns.

*** This bug has been marked as a duplicate of 10732 ***
Bulk move of all Networking-Core (to be deleted component) bugs to new
Networking component.
Status: RESOLVED → VERIFIED
Yes. Confirmed a dup...the work for 10732 cover this.  marking Verified.
You need to log in before you can comment on or make changes to this bug.