Status

()

--
critical
RESOLVED WORKSFORME
17 years ago
17 years ago

People

(Reporter: stange, Assigned: neeti)

Tracking

({hang})

Trunk
Sun
Solaris
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

17 years ago
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:0.9.2+) Gecko/20010709
BuildID:    2001070922

The application is completely hung up.  Not even a kill -9 was able to interrupt
the application.  Here's a truss -u a.out -u::

/1:                                         <- libplc4:PL_strncasecmp() = -38
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd3b0, 0x7, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -33
/1:                                         -> libplc4:PL_strncasecmp(0xa03016,
0xfe5fd3b0, 0x7, 0xa03016)
/1:                                         <- libplc4:PL_strncasecmp() = 0
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd390, 0xa, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -38
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd3b0, 0x7, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -33
/1:                                         -> libplc4:PL_strncasecmp(0xa03016,
0xfe5fd3b0, 0x7, 0xa03016)
/1:                                         <- libplc4:PL_strncasecmp() = 0
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd390, 0xa, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -38
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd3b0, 0x7, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -33
/1:                                         -> libplc4:PL_strncasecmp(0xa03016,
0xfe5fd3b0, 0x7, 0xa03016)
/1:                                         <- libplc4:PL_strncasecmp() = 0
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd390, 0xa, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -38
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd3b0, 0x7, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -33
/1:                                         -> libplc4:PL_strncasecmp(0xa03016,
0xfe5fd3b0, 0x7, 0xa03016)
/1:                                         <- libplc4:PL_strncasecmp() = 0
/1:                                         -> libplc4:PL_strncasecmp(0xa03008,
0xfe5fd390, 0xa, 0xa03008)
/1:                                         <- libplc4:PL_strncasecmp() = -38


and a pstack:

stangesun$ pstack `pgrep mozilla-bin`
818:    mozilla/mozilla-bin
-----------------  lwp# 1 / thread# 1  --------------------
 ff231500 PL_strncasecmp (a03018, fe5fd3b0, 6, a03016, 2, 0) + 3c
 fe5c8998 DetectMetaTag__8nsParserPCciR8nsStringR15nsCharsetSource (14, a02f3d,
a03002, ffbeedb0, ffbeeb78, ff0cf09c) + 7a4
 fe5c96a8 ???????? (a92f94, ffbef030, a02b58, 0, 4c7, ffbeef2c)
 ff181260 WriteSegmentFun__16nsInputStreamTeeP14nsIInputStreamPvPCcUiUiPUi
(a92f94, 860c38, a02b58, 0, 4c7, ffbeef2c) + 1c
 ff17c150
ReadSegments__Q26nsPipe17nsPipeInputStreamPFP14nsIInputStreamPvPCcUiUiPUi_UiPvUiPUi
(a92f94, ff181244, 860c38, 4c7, ffbef02c, ff17c038) + 118
 ff181610
ReadSegments__16nsInputStreamTeePFP14nsIInputStreamPvPCcUiUiPUi_UiPvUiPUi
(860c38, fe5c964c, ffbef030, 4c7, ffbef02c, ff1815b4) + 5c
 fe5c9ae4
OnDataAvailable__8nsParserP10nsIRequestP11nsISupportsP14nsIInputStreamUiUi (0,
9064b8, 0, 860c38, 0, 4c7) + 114
 fe55a874
OnDataAvailable__18nsDocumentOpenInfoP10nsIRequestP11nsISupportsP14nsIInputStreamUiUi
(8bf4a0, 9064b8, 0, 860c38, 0, 4c7) + 50
 fe76870c
OnDataAvailable__19nsStreamListenerTeeP10nsIRequestP11nsISupportsP14nsIInputStreamUiUi
(0, 9064b8, 0, a92f94, 0, 4c7) + 194
 fe7938bc
OnDataAvailable__13nsHttpChannelP10nsIRequestP11nsISupportsP14nsIInputStreamUiUi
(9064b8, a93068, 0, a92f94, 0, 4c7) + 5c
 fe755720 HandleEvent__22nsOnDataAvailableEvent (b3b428, fe755680, 0, feaf2000,
1975c, ff0cf09c) + a0
 fe754e98 HandlePLEvent__23nsARequestObserverEventP7PLEvent (b3b428, fe754e7c,
0, feaf2000, 1975c, ff0cf09c) + 1c
 ff195500 PL_HandleEvent (b3b428, 30750, 0, 0, 0, 0) + 14
 ff195430 PL_ProcessPendingEvents (c9ba8, 0, 0, 0, 0, 0) + 74
 ff1964e4 ProcessPendingEvents__16nsEventQueueImpl (129968, ff1964b4, 1,
feaf2000, 0, feadece0) + 30
 fe4f2ec4 ???????? (129968, 5, 1, fe4f2ea8, febbc580, febbc580)
 fe4f2b78 ???????? (177230, 1, 319d20, fe4f2b54, 1, 0)
 fee24740 ???????? (323bb8, ffbef678, 319d20, 0, 0, 0)
 fee261ac ???????? (470, 470, 4d4, ac4, 4d4, ac4)
 fee26a70 ???????? (fee4d4cc, fee4d438, 4d4, ac4, 4d4, ac4)
 fee2733c g_main_run (1791a0, ff0aae5c, 1381e0, 0, 0, ff192b98) + b8
 fef4bac8 gtk_main (2c00, fe4f3230, ffbef844, 0, 1c648, 0) + 10c
 fe4f3460 Run__10nsAppShell (13c590, fe4f3428, 13c590, ff191e2c, 0, ffe) + 38
 fe8b90fc Run__17nsAppShellService (153a30, fe8b90e8, 153a30, fe8b9f8c,
ffbef7e0, ff207f78) + 14
 00018128 ???????? (0, ff2093e8, 0, febba610, 100d4, febba610)
 00018ba4 main     (0, ffbefa94, ffbefa9c, 2e708, 0, 0) + 15c
 000137c0 _start   (0, 0, 0, 0, 0, 0) + 5c
-----------------  lwp# 2 / thread# 2  --------------------
 feb9956c poll     (fe6afe20, 2, 88b8)
 feadc14c poll     (fe6afe20, fe6b0000, 88b8, 2, fe6afe20, 1432a8) + 5c
 ff0d24ac PR_Poll  (15ecf0, 2, 3567e0, aaaaaaaa, 2fce8, feadece0) + 34c
 fe751110 Run__24nsSocketTransportService (13f810, 80470007, 13f814, 2fce8,
1975c, ff0ceb2c) + 54
 ff197e18 Main__8nsThreadPv (16db68, ff197df0, 0, fe6b0000, 13beb0, ff0d37c8) + 28
 ff0d384c ???????? (13beb0, 0, 0, 0, 0, 0)
 feae0644 _lwp_start (0, 0, 0, 0, 0, 0)
-----------------  lwp# 3 / thread# 3  --------------------
 feb9b314 lwp_cond_wait (16f098, 1544c0, 0)
 feadf1b0 cond_wait_common (0, 0, 0, 0, 0, feaf2000) + 148
 feadf358 cond_wait (16f098, 1544c0, 16f098, ff0ec978, 1975c, ff0ec978) + 10
 feadf394 pthread_cond_wait (16f098, 1544c0, fe76aaec, 0, fe74ddb8, b75558) + 8
 ff0cee38 PR_WaitCondVar (16f090, ffffffff, 7c0ad0, 5, 400, 938404) + 64
 fe76a480 DequeuePendingQ__12nsDNSService (154490, fe768c84, 9383f0, febbc580,
2fce8, feadece0) + 30
 fe769fd0 Run__12nsDNSService (154458, fe769fac, 15445c, 2fce8, 1975c, ff0ceb2c)
+ 24
 ff197e18 Main__8nsThreadPv (16d9a8, ff197df0, 0, fe690000, 154580, ff0d37c8) + 28
 ff0d384c ???????? (154580, 0, 0, 0, 0, 0)
 feae0644 _lwp_start (0, 0, 0, 0, 0, 0)
-----------------  lwp# 10 / thread# 10  --------------------
 feb9b314 lwp_cond_wait (16ff30, 13bfa8, 0)
 feadf1b0 cond_wait_common (0, 0, 0, 0, 0, feaf2000) + 148
 feadf358 cond_wait (16ff30, 13bfa8, 16ff30, feaf2000, 0, feadece0) + 10
 feadf394 pthread_cond_wait (16ff30, 13bfa8, 0, feaf2000, 1975c, ff0ceb14) + 8
 ff0cee38 PR_WaitCondVar (16ff28, ffffffff, 151bd8, ff163aa8, 1975c, ff0ceb2c) + 64
 ff198d10 GetRequest__12nsThreadPoolP9nsIThread (13bf60, ac29e0, 0, febbc580,
2fce8, feadece0) + 1d8
 ff199498 Run__20nsThreadPoolRunnable (9d8f88, ff199474, 9d8f88, 2fce8, 1975c,
ff0ceb2c) + 24
 ff197e18 Main__8nsThreadPv (ac29e0, ff197df0, 0, fd340000, acc0b0, ff0d37c8) + 28
 ff0d384c ???????? (acc0b0, 0, 0, 0, 0, 0)
 feae0644 _lwp_start (0, 0, 0, 0, 0, 0)


application is in a tight loop, consuming all free cpu cycles, doesn't respond
to any interrupts (kill -9, etc).  Interestingly, it looks like networking is
involved as DNS is being serviced, and some socket transport functions show up
as well.


Reproducible: Always
Steps to Reproduce:
1. Go to http://www.37signals.com/svn/
2. Select link for Salon.com Politics | ABC's messy role in Condit affair
http://salon.com/politics/feature/2001/07/13/abc/index.html

3. One time I had to click the link to the 2nd page in the article, otherwise,
start a browser, go to 37 signals and then select the link to the salon article.

Actual Results:  The browser runs for a few seconds and then hangs.   The status
line reads 'resolving host for www.salon.com'

Expected Results:  Should render the page....

My system is a new install of Solaris 8 4/01, Blade 100, 24bit color,
and I'm using the lwp thread library.  The lwp thread library gives Solaris a 1
level thread implementation like linux.  Every thread is a kernel thread.

crle -a /usr/lib/libthread.so.1 -o /usr/lib/lwp

In principle, this is a drop in replacement for the standard thread library.

Comment 1

17 years ago
+hang

WFM on Win32, do you feel this is Solaris specific? I'll get to my Solaris
system later...
Keywords: hang
(Reporter)

Comment 2

17 years ago
The hang is going to be solaris specific.  Odds are the original URLs are now
long gone though, so it might be hard to reproduce.

Even so, there must be a small race condition that the stack trace might reveal.

Comment 3

17 years ago
Marking NEW.
Status: UNCONFIRMED → NEW
Ever confirmed: true

Comment 4

17 years ago
I cannot reproduce this now. The link is gone away from the site by the moment
and all present links work fine. Is there any other way to reproduce it? 
 If kill -9 isn't working then mozilla  made some kernel call but outputs
attached here aren't informative from that point of view. Looks like the first
thread is working but PL_strncasecmp() doesn't make any system calls.

Comment 5

17 years ago
If we can't reproduce it, I'll probably WFM after the next milestone.
(Assignee)

Comment 6

17 years ago
wfm based on comments above
Status: NEW → RESOLVED
Last Resolved: 17 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.