Closed
Bug 120144
Opened 23 years ago
Closed 23 years ago
cancelling SSL connection to unreachable server causes browser hang
Categories
(Core :: Networking: HTTP, defect)
Tracking
()
VERIFIED
DUPLICATE
of bug 106188
People
(Reporter: blizzard, Assigned: darin.moz)
References
Details
Build is from the morning of Jan 15th, 2002 off the tip.
If I try to connect to an unreachable server using https, and use the cancel
button in the browser to stop the connection, the browser will hang.
Steps to reproduce:
1. Load a web site like https://198.198.198.198 which should be unreachable.
2. While the browser is connecting, hit Cancel
The browser should be hung at this point. Once the connection times out ( 60
seconds or so ) the browser will come back.
I've debugged this somewhat. It looks like the UI thread is stuck getting the
lock in nsSocketTrasnport:
#1 0x402051c9 in __pthread_wait_for_restart_signal (self=0x4020df40)
at pthread.c:969
#2 0x40206f09 in __pthread_alt_lock (lock=0x851c37c, self=0x0) at restart.h:34
#3 0x40203d16 in __pthread_mutex_lock (mutex=0x851c36c) at mutex.c:120
#4 0x401de14d in PR_Lock (lock=0x851c36c) at ptsynch.c:183
#5 0x401de6ca in PR_EnterMonitor (mon=0x851c368) at ptsynch.c:507
#6 0x408595b7 in nsSocketTransport::Dispatch (this=0x851c260, req=0x851c408)
at ../../../dist/include/xpcom/nsAutoLock.h:200
#7 0x4085ba73 in nsSocketRequest::Cancel (this=0x851c408, status=2152398850)
at nsSocketTransport.cpp:2637
#8 0x4088955f in nsHttpConnection::OnTransactionComplete (this=0x84e48d8,
trans=0x84e47c8, status=2152398850) at nsHttpConnection.cpp:268
#9 0x40883d5f in nsHttpHandler::CancelTransaction (this=0x8147ca0,
trans=0x84e47c8, status=2152398850) at nsHttpHandler.cpp:515
#10 0x4088c06a in nsHttpTransaction::Cancel (this=0x84e47c8, status=2152398850)
at nsHttpHandler.h:78
#11 0x408924a5 in nsHttpChannel::Cancel (this=0x82a3938, status=2152398850)
at nsHttpChannel.cpp:1758
#12 0x4084ddcd in nsLoadGroup::Cancel (this=0x878cbf0, status=2152398850)
at nsLoadGroup.cpp:248
#13 0x40dc883b in nsDocLoaderImpl::Stop (this=0x878cb48)
at ../../dist/include/xpcom/nsCOMPtr.h:650
while NSS is waiting to connect, also while in the socket transport code:
#0 0x4059ee17 in __poll (fds=0x40bb949c, nfds=1, timeout=5000)
at ../sysdeps/unix/sysv/linux/poll.c:63
#1 0x401def9e in pt_poll_now (op=0x40bb94fc) at ptio.c:570
#2 0x401df1eb in pt_Continue (op=0x40bb94fc) at ptio.c:684
#3 0x401dff38 in pt_Connect (fd=0x437c7ed0, addr=0x40bb95cc,
timeout=4294967295) at ptio.c:1482
#4 0x401ce701 in Ipv6ToIpv4SocketConnect (fd=0x4222fa28, addr=0x851c29c,
timeout=4294967295) at pripv6.c:135
#5 0x435206ab in ssl_SecureConnect () at nsUnicharUtils.cpp:275
#6 0x43522527 in ssl_Connect () at nsUnicharUtils.cpp:275
#7 0x434e85e6 in nsSSLIOLayerConnect (fd=0x889e808, addr=0x851c29c,
timeout=20) at nsNSSIOLayer.cpp:526
#8 0x401cdfb1 in PR_Connect (fd=0x889e808, addr=0x851c29c, timeout=20)
at priometh.c:182
#9 0x4085847d in nsSocketTransport::doConnection (this=0x851c260,
aSelectFlags=0) at nsSocketTransport.cpp:835
#10 0x40857b8a in nsSocketTransport::Process (this=0x851c260, aSelectFlags=0)
at nsSocketTransport.cpp:505
#11 0x4085c4b6 in nsSocketTransportService::ProcessWorkQ (this=0x8110af0)
at nsSocketTransportService.cpp:297
#12 0x4085c8d9 in nsSocketTransportService::Run (this=0x8110af0)
at nsSocketTransportService.cpp:543
#13 0x4016a7cb in nsThread::Main (arg=0x8103728)
at ../../dist/include/xpcom/nsCOMPtr.h:650
Something bad is happening here. Either that code shouldn't be holding the
socket transport lock or else the connect should be non-blocking and should also
return immediately.
Comment 1•23 years ago
|
||
*** This bug has been marked as a duplicate of 106188 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•