Closed Bug 20910 Opened 25 years ago Closed 25 years ago

[DOGFOOD][BLOCKER]Start Seamonkey with problems for running multiple profiles.

Categories

(SeaMonkey :: General, defect, P3)

x86
Linux
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: huang, Assigned: jband_mozilla)

References

Details

(Whiteboard: [PDT+] Verified on 12-10-08-M12 Linux commercial build already)

Used today's Linux 12-06-08-M12 build with today's migration on IMAP/POP:

First time start seamonkey for IMAP account successfully,
but after exit and tried to start again, it hang on the console, not even start
and never get application start again...

POP account, first time start and then crashed.
I had the talkback#, but don't even get into the talkback in order to get the
report, I will report that once I got the report.
Summary: Start Seamonkey still not stable → Start Seamonkey still not stable
Is this problem specific to using mail, or do you have the same problem running
the browser? I ask because today's Win32 commercial build doesn't even start up
for me -- it just exits immediately.
Yes. Don't even start mail for pop.
But start one time for mail IMAP, and then never start again even from browser.
Assignee: phil → bienvenu
David, can you try your linux build?
I means don't even start browser for POP profile.
Used Windows commercial build 12-06-09-M12:

Even I saw many 'BLOCK: marking all child frames dirty...'messages displayed on
the console, I still can use today's build for testing....but after exit thee
application... the seamonkey crashed!
Since I can access the IMAP account on the Windows, I also saw another bug for
the addressing panel (see bug#20927)
My debug mozilla linux build had no problems. The app hung after trying to do
something with the security icon. I'll try building a commercial build and see
if I can reproduce the problem, but I haven't seen any problems with the mozilla
build.
When I was referring to the hang, I meant the commercial build hang on Karen's
system.
Summary: Start Seamonkey still not stable → Start Seamonkey with problems for running multiple profiles.
David, I found that if I always use only one profile (ex: IMAP), the application
will work "so so".
If I have profile over than two, then problem happened.

I changed the summary to reflect multiple profiles.
Assignee: bienvenu → brendan
this has nothing to do with mail. If you have multiple profiles, mozilla on
linux hangs sometime after you start one of them. For Seth, it was hanging
displaying the home page, for me, it hangs before the browser window opens. I
think this must be something in the core code (js, rdf, nspr?). I see the
following js crash, which may be a red herring, but it's all I've got to go on.
Reassigning to Brendan for triage.

Setting content window
browser.startup.page = 1
startpage = http://www.mozilla.org/
BLOCK: marking all child frames dirty...
BLOCK: marking all child frames dirty...
[New Thread 13626]
in SetSecurityButton

Program received signal SIGSEGV, Segmentation fault.
0x4006203d in js_atom_marker (he=0x4, i=1087, arg=0xbfffed40) at jsatom.c:296
Current language:  auto; currently c
(gdb) bt
#0  0x4006203d in js_atom_marker (he=0x4, i=1087, arg=0xbfffed40) at
jsatom.c:296
#1  0x40086e51 in JS_HashTableEnumerateEntries (ht=0x82acfe0, f=0x40062020
<js_atom_marker>, arg=0xbfffed40) at jshash.c:363
#2  0x400620e2 in js_MarkAtomState (state=0x8231428, mark=0x40085428 <gc_mark>)
at jsatom.c:314
#3  0x40085a8d in js_GC (cx=0x82b43c0) at jsgc.c:781
#4  0x40085875 in js_ForceGC (cx=0x82b43c0) at jsgc.c:678
#5  0x40059bd7 in JS_GC (cx=0x82b43c0) at jsapi.c:1159
#6  0x4041459d in nsJSContext::GC (this=0x839fdb0) at nsJSEnvironment.cpp:726
#7  0x4041460d in nsJSContext::ScriptEvaluated (this=0x839fdb0) at
nsJSEnvironment.cpp:743
#8  0x40413cdd in nsJSContext::CallFunctionObject (this=0x839fdb0,
aObj=0x82fc260, aFunObj=0x846fe30, argc=1, argv=0xbfffeed8,
aBoolResult=0xbfffeecc) at nsJSEnvironment.cpp:546
#9  0x4044f0ba in nsJSDOMEventListener::HandleEvent (this=0x85613f0,
aEvent=0x85d9b5c) at nsJSDOMEventListener.cpp:86
#10 0x40dba8f9 in nsEventListenerManager::HandleEventSubType (this=0x8414628,
aListenerStruct=0x85609b0, aDOMEvent=0x85d9b5c, aSubType=1) at
nsEventListenerManager.cpp:632
#11 0x40dbbdaa in nsEventListenerManager::HandleEvent (this=0x8414628,
aPresContext=0x829ecf8, aEvent=0xbffff500, aDOMEvent=0xbffff280, aFlags=7,
aEventStatus=0xbffff540) at nsEventListenerManager.cpp:1168
#12 0x4042bab1 in GlobalWindowImpl::HandleDOMEvent (this=0x829ee50,
aPresContext=0x829ecf8, aEvent=0xbffff500, aDOMEvent=0xbffff280, aFlags=1,
aEventStatus=0xbffff540) at nsGlobalWindow.cpp:2969
#13 0x40a8e289 in nsWebShell::OnEndDocumentLoad (this=0x81261d0,
loader=0x83895a8, channel=0x83876f0, aStatus=0, aWebShell=0x81261e0) at
nsWebShell.cpp:2992
#14 0x40a83d1a in nsDocLoaderImpl::FireOnEndDocumentLoad (this=0x83895a8,
aLoadInitiator=0x83895a8, aDocChannel=0x83876f0, aStatus=0) at
nsDocLoader.cpp:1087
#15 0x40a839c3 in nsDocLoaderImpl::DocLoaderIsEmpty (this=0x83895a8, aStatus=0)
at nsDocLoader.cpp:977
#16 0x40a83810 in nsDocLoaderImpl::OnStopRequest (this=0x83895a8,
aChannel=0x85df138, aCtxt=0x0, aStatus=0, aMsg=0x0) at nsDocLoader.cpp:917
#17 0x405bb2d2 in nsLoadGroup::RemoveChannel (this=0x810ef40, channel=0x85df138,
ctxt=0x0, status=0, errorMsg=0x0) at nsLoadGroup.cpp:531
#18 0x405e92e3 in nsFileChannel::OnStopRequest (this=0x85df138,
transportChannel=0x85df5d8, context=0x0, aStatus=0, aMsg=0x0) at
nsFileChannel.cpp:495
#19 0x405a810d in nsOnStopRequestEvent::HandleEvent (this=0x85df328) at
nsAsyncStreamListener.cpp:278
#20 0x405a77f7 in nsStreamListenerEvent::HandlePLEvent (aEvent=0x85df348) at
nsAsyncStreamListener.cpp:93
#21 0x401b536b in PL_HandleEvent (self=0x85df348) at plevent.c:522
#22 0x401b527c in PL_ProcessPendingEvents (self=0x80a79a8) at plevent.c:483
#23 0x4016ca89 in nsEventQueueImpl::ProcessPendingEvents (this=0x80a7980) at
nsEventQueue.cpp:193
#24 0x40653a5c in event_processor_callback (data=0x80a7980, source=8,
condition=GDK_INPUT_READ) at nsAppShell.cpp:233
#25 0x4065336f in our_gdk_io_invoke (source=0x8303c70, condition=G_IO_IN,
data=0x83aabe0) at nsAppShell.cpp:54
#26 0x407fd3ca in g_io_unix_dispatch ()
#27 0x407fea86 in g_main_dispatch ()
#28 0x407ff041 in g_main_iterate ()
#29 0x407ff1e1 in g_main_run ()
#30 0x407287a9 in gtk_main ()
#31 0x40654035 in nsAppShell::Run (this=0x80b61e8) at nsAppShell.cpp:404
#32 0x4052e851 in nsAppShellService::Run (this=0x80a7648) at
nsAppShellService.cpp:488
#33 0x804bfed in main1 (argc=1, argv=0xbffffa64) at nsAppRunner.cpp:611
#34 0x804c339 in main (argc=1, argv=0xbffffa64) at nsAppRunner.cpp:679
#35 0x402b2cb3 in __libc_start_main (main=0x804c128 <main>, argc=1,
argv=0xbffffa64, init=0x804a248 <_init>, fini=0x8050ba8 <_fini>,
rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffa5c) at
../sysdeps/generic/libc-start.c:78
(gdb)
Here's another stack trace from doing the same thing:


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 13632]

Program received signal SIGSEGV, Segmentation fault.
0x40086c23 in JS_HashTableRawRemove (ht=0x82bb3f8, hep=0x829ac6c, he=0x4) at
jshash.c:302
Current language:  auto; currently c
(gdb) bt 9
#0  0x40086c23 in JS_HashTableRawRemove (ht=0x82bb3f8, hep=0x829ac6c, he=0x4) at
jshash.c:302
#1  0x40086d42 in JS_HashTableRemove (ht=0x82bb3f8, key=0x83fa908) at
jshash.c:328
#2  0x412232b0 in Native2WrappedNativeMap::Remove (this=0x83a5870,
Wrapper=0x847ca00) at xpcmaps.h:139
#3  0x412187ee in nsXPCWrappedNative::~nsXPCWrappedNative (this=0x847ca00,
__in_chrg=3) at xpcwrappednative.cpp:351
#4  0x41217d85 in nsXPCWrappedNative::Release (this=0x847ca00) at
xpcwrappednative.cpp:67
#5  0x41217e61 in nsXPCWrappedNative::JSObjectFinalized (this=0x847ca00,
cx=0x83a0038, obj=0x846ef90) at xpcwrappednative.cpp:91
#6  0x4121f1f2 in WrappedNative_Finalize (cx=0x83a0038, obj=0x846ef90) at
xpcwrappednativejsops.cpp:653
#7  0x400a5b17 in js_FinalizeObject (cx=0x83a0038, obj=0x846ef90) at
jsobj.c:1372
#8  0x40086037 in js_GC (cx=0x83a0038) at jsgc.c:891
(More stack frames follow...)

#0  0x40086c23 in JS_HashTableRawRemove (ht=0x82bb3f8, hep=0x829ac6c, he=0x4) at
jshash.c:302
#1  0x40086d42 in JS_HashTableRemove (ht=0x82bb3f8, key=0x83fa908) at
jshash.c:328
#2  0x412232b0 in Native2WrappedNativeMap::Remove (this=0x83a5870,
Wrapper=0x847ca00) at xpcmaps.h:139
#3  0x412187ee in nsXPCWrappedNative::~nsXPCWrappedNative (this=0x847ca00,
__in_chrg=3) at xpcwrappednative.cpp:351
#4  0x41217d85 in nsXPCWrappedNative::Release (this=0x847ca00) at
xpcwrappednative.cpp:67
#5  0x41217e61 in nsXPCWrappedNative::JSObjectFinalized (this=0x847ca00,
cx=0x83a0038, obj=0x846ef90) at xpcwrappednative.cpp:91
#6  0x4121f1f2 in WrappedNative_Finalize (cx=0x83a0038, obj=0x846ef90) at
xpcwrappednativejsops.cpp:653
#7  0x400a5b17 in js_FinalizeObject (cx=0x83a0038, obj=0x846ef90) at
jsobj.c:1372
#8  0x40086037 in js_GC (cx=0x83a0038) at jsgc.c:891
#9  0x40085875 in js_ForceGC (cx=0x83a0038) at jsgc.c:678
#10 0x40059bd7 in JS_GC (cx=0x83a0038) at jsapi.c:1159
#11 0x4041459d in nsJSContext::GC (this=0x82a1450) at nsJSEnvironment.cpp:726
#12 0x4041460d in nsJSContext::ScriptEvaluated (this=0x82a1450) at
nsJSEnvironment.cpp:743
#13 0x40413cdd in nsJSContext::CallFunctionObject (this=0x82a1450,
aObj=0x82fc310, aFunObj=0x846fe58, argc=1, argv=0xbfffeec8,
aBoolResult=0xbfffeebc) at nsJSEnvironment.cpp:546
#14 0x4044f0ba in nsJSDOMEventListener::HandleEvent (this=0x855adc8,
aEvent=0x85d4a34) at nsJSDOMEventListener.cpp:86
#15 0x40dba8f9 in nsEventListenerManager::HandleEventSubType (this=0x84148d8,
aListenerStruct=0x855a388, aDOMEvent=0x85d4a34, aSubType=1) at
nsEventListenerManager.cpp:632
#16 0x40dbbdaa in nsEventListenerManager::HandleEvent (this=0x84148d8,
aPresContext=0x823f490, aEvent=0xbffff4f0, aDOMEvent=0xbffff270, aFlags=7,
aEventStatus=0xbffff530) at nsEventListenerManager.cpp:1168
#17 0x4042bab1 in GlobalWindowImpl::HandleDOMEvent (this=0x8383d60,
aPresContext=0x823f490, aEvent=0xbffff4f0, aDOMEvent=0xbffff270, aFlags=1,
aEventStatus=0xbffff530) at nsGlobalWindow.cpp:2969
#18 0x40a8e289 in nsWebShell::OnEndDocumentLoad (this=0x8122580,
loader=0x810ed58, channel=0x83a3260, aStatus=0, aWebShell=0x8122590) at
nsWebShell.cpp:2992
#19 0x40a83d1a in nsDocLoaderImpl::FireOnEndDocumentLoad (this=0x810ed58,
aLoadInitiator=0x810ed58, aDocChannel=0x83a3260, aStatus=0) at
nsDocLoader.cpp:1087
#20 0x40a839c3 in nsDocLoaderImpl::DocLoaderIsEmpty (this=0x810ed58, aStatus=0)
at nsDocLoader.cpp:977
#21 0x40a83810 in nsDocLoaderImpl::OnStopRequest (this=0x810ed58,
aChannel=0x85d53e8, aCtxt=0x0, aStatus=0, aMsg=0x0) at nsDocLoader.cpp:917
#22 0x405bb2d2 in nsLoadGroup::RemoveChannel (this=0x838e0f8, channel=0x85d53e8,
ctxt=0x0, status=0, errorMsg=0x0) at nsLoadGroup.cpp:531
#23 0x405e92e3 in nsFileChannel::OnStopRequest (this=0x85d53e8,
transportChannel=0x85d5888, context=0x0, aStatus=0, aMsg=0x0) at
nsFileChannel.cpp:495
#24 0x405a810d in nsOnStopRequestEvent::HandleEvent (this=0x41409778) at
nsAsyncStreamListener.cpp:278
#25 0x405a77f7 in nsStreamListenerEvent::HandlePLEvent (aEvent=0x41409798) at
nsAsyncStreamListener.cpp:93
#26 0x401b536b in PL_HandleEvent (self=0x41409798) at plevent.c:522
#27 0x401b527c in PL_ProcessPendingEvents (self=0x80a79c0) at plevent.c:483
#28 0x4016ca89 in nsEventQueueImpl::ProcessPendingEvents (this=0x80a7998) at
nsEventQueue.cpp:193
#29 0x40653a5c in event_processor_callback (data=0x80a7998, source=8,
condition=GDK_INPUT_READ) at nsAppShell.cpp:233
#30 0x4065336f in our_gdk_io_invoke (source=0x8390a38, condition=G_IO_IN,
data=0x82c74b8) at nsAppShell.cpp:54
#31 0x407fd3ca in g_io_unix_dispatch ()
#32 0x407fea86 in g_main_dispatch ()
#33 0x407ff041 in g_main_iterate ()
#34 0x407ff1e1 in g_main_run ()
#35 0x407287a9 in gtk_main ()
#36 0x40654035 in nsAppShell::Run (this=0x80b6200) at nsAppShell.cpp:404
#37 0x4052e851 in nsAppShellService::Run (this=0x80a7648) at
nsAppShellService.cpp:488
#38 0x804bfed in main1 (argc=2, argv=0xbffffa54) at nsAppRunner.cpp:611
#39 0x804c339 in main (argc=2, argv=0xbffffa54) at nsAppRunner.cpp:679
#40 0x402b2cb3 in __libc_start_main (main=0x804c128 <main>, argc=2,
argv=0xbffffa54, init=0x804a248 <_init>, fini=0x8050ba8 <_fini>,
rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffa4c) at
../sysdeps/generic/libc-start.c:78
(gdb)
Assignee: brendan → mccabe
This looks like a Linux stack I saw go by clayton and then mccabe -- then I lost
track.  Mike, clayton, jband: is this a dup?

/be
With the 1999120608 builds I have had all the problems people have mentioned
(crashing/hanging at 'in SetSecurityButton') only after creating a second profile whereas
before i only had one. I have crashed regardless of which profile I select. Deleting the 2nd profile
and launching again causes Seamonkey to go back to launching properly. Launching with -ProfileManager
and selecting your one profile (when there is only one) works fine so it's not anything inherent to the profile
dialog.
I don't recall anything quite like this. jband, mike?  = C =
I'm seeing stuff like this on NT in my build from sources I pulled yesterday
(sunday, Dec 5). I see crashes at various places. Sometimes it runs for a while.
I was suspecting a wild pointer write since it seems pretty random. I'm doing a
repull and a full clobber build. I'm doing a purify build too. I would be
surprised if it were a JS or xpconnect problem.
Component: Front End → Browser-General
Product: MailNews → Browser
QA Contact: lchiang → paulmac
Summary: Start Seamonkey with problems for running multiple profiles. → [DOGFOOD][BLOCKER]Start Seamonkey with problems for running multiple profiles.
Whiteboard: [PDT+]
Putting on PDT+ radar for crash problem.
Adding shaver to cc list.  Mike, does this trace look like something you saw a
few days ago?
Adding shaver to cc list.  Mike, does this trace look like something you saw a
few days ago?
I haven't seen it, but I'll keep an eye out.  I'll try adding another profile,
because it was just running too smoothly of late.
My Purify build didn't shed much light. There is no *obvious* point where memory
corruption is happenning.

I do note that even when it does not crash I see a *lot* of out of bounds reads
in JS gc after the profile chooser is closed and the main window comes up.

The nature of the crashes tend to be a bad pointer in places where there should
not be a bad pointer; e.g. in a HashEntry in JS gc. The pointer values are
sometimes '3' or '4' rather than valid pointers to invalid data.
Linux Redhat 6.0 (1999-12-07-08 M12)
Using today's build, when I start Messenger on POP and IMAP, I got this error
message in the console.  As soon as Messenger pops up, application got hung up.

In sortColumn
Sort failed: [Exception... "Component returned failure code: 0x80004005
(NS_ERROR_FAILURE) [nsIXULSortService.Sort]"  nsresult: "0x80004005
(NS_ERROR_FAILURE)"  location: "JS frame ::
chrome://messenger/content/commandglue.js :: SortColumn :: line 314"  data:
no]
Still see problems for today's Linux 12-07-08-M12 multiple profiles.
I didn't see error as fenella, but still got the same problem as yesterday.
Cinsole hung on "in SetSecurityButton" after I have profiles over than two.
typo!! I means console!!
*** Bug 21050 has been marked as a duplicate of this bug. ***
I'm seeing HashEntry pointers with value '4' in JS's atom marker and root
marker. Sometimes it does not crash early on. I just is crash on close with a
PLHashEntry* of '4' in The ServiceManager's mServices nspr hashtable!
Possibly related to bug 20714?

/be
More data points...

- This happens in various places.
- The memory where the '4' is does not seem to have a string of 4s or any
obvious pattern.
- I have seen it manage to get the instruction pointer(!) wrong so that in
calling from one "C" function in JS to another function in JS is tries to
execute a priviledged instruction because the IP is pointing at a misaligned
place in the instruction array.

I wonder if xptcall is involved somehow?
And why the heck do the buttons in the profile chooser resize on mouse in and
mouse out? I wonder if something bad (like another resize) is happening after I
click?
ben goodger fixed that "jumpy button" problem last night.

the bug was #20906

it will go away if you update mozilla/profile/resources
Thanks Seth. Button jumpies are gone. The crashing remains.
I'm just running and rerunning in the debugger like a crazed monkey looking for
patterns in the crashes. That damn '4' is usually there. And it crashes in
*lots* of places.
It seems that today's commercial build 12-08-08-M12 is better than yesterday.
So far, I can use two profiles now...not try the third profile yet....
I used IMAP & POP now...
I tried the third profile for IMAP on Linux...
so far...no problem yet!
Assignee: mccabe → jband
Reassigning to John.  It's his carwash :)
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
waterson's checkin to fix bug 20714 fixed this problem.
Not seeing problem for today's Linux build 12-09-10-M12 when I launching to
multiple profiles with IMAP & POP. I will run through more tests tomorrow to see
the build is stable enough for marking verified for this build.
Status: RESOLVED → VERIFIED
It seems that it's also working fine for the third profile.
Mark as verified now.
Whiteboard: [PDT+] → [PDT+] Verified on 12-10-08-M12 Linux commercial build already
For safe, I verified for this bug again for today's 12-10-08-M12 build.
It's working fine with multiple profiles now.
Thanks for the peoples who have been invloved in this bug's verfication &
resolutions. It's working very "COOL" now!! Updated the Status Whiteboard as
Verified!!
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.