Closed Bug 27342 Opened 25 years ago Closed 25 years ago

Linux build doesn't exit

Categories

(SeaMonkey :: UI Design, defect, P1)

x86
Linux
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: slogan, Assigned: slogan)

Details

(Whiteboard: [PDT+])

First, need to remove .mozilla dir in home dir to allow mozilla to start.
Start moz, create a profile. Open up Composer, then go to mozilla, select exit. 
We never return to shell. if you omit opening composer, no problem, you get to 
shell. Perhaps composer webshell never exits. Same problem occurs bringing up 
tasks/IM.
Whiteboard: beta1
Here is the stack at the time I freeze:

#0  0x4094a1cd in g_get_current_time (result=0x1) at gmain.c:614
#1  0x4094a949 in g_main_run (loop=0x83f7258) at gmain.c:912
#2  0x4083b879 in gtk_main () at gtkmain.c:475
#3  0x40724ce7 in nsAppShell::Run (this=0x8074dd0) at nsAppShell.cpp:304
#4  0x405c6a1d in nsAppShellService::Run (this=0x80b03a8)
    at nsAppShellService.cpp:403
#5  0x804d760 in main1 (argc=1, argv=0xbffffa74, splashScreen=0x0)
    at nsAppRunner.cpp:564
#6  0x804dcc1 in main (argc=1, argv=0xbffffa74) at nsAppRunner.cpp:677
#7  0x402f6cb3 in ?? () from /lib/libc.so.6
putting beta1 in keyword field, where it belongs :-)

This happens with mail/news also, about 20 processes (wow) are left running at 
shutdown.
Keywords: beta1
Whiteboard: beta1
This is bad ...
Priority: P3 → P1
Target Milestone: M14
Putting on PDT+ radar
Whiteboard: [PDT+]
i don't know how relevant this is, but i was experimenting with tossing out my
localstore.rdf (or, rather, moving it to another name). i restarted seamonkey
(using 2000021609 comm bits), then went to File > Quit. i was returned back to
the shell, and all mozilla processes terminated. let me know if i could provide
further info!
This is what I think is happening
The quit code that I think the composer calls (Composer*.js, forgot the name) 
cleans up each window and then calls appShellService::Quit() This also seems to 
clean the windows.
Why does this happen twice?
Also it looks from the traceback as if the eventloop is blocking any new
events and then continues. My guess (haven't seen the code) is that it ignores
all events, and then sends X a quit message and then waits for a "Quit" type 
event, which it is ignoring. I'll run through the code (At the moment am in 
appShellService::ExitCallback()
I don't think this bug is mine.  There was another like it that was moved off 
from me.
Talked to syd and he agreed this shouldn't be mine.   Flipping over to him for 
now.
Assignee: travis → syd
Can someone tell me if there any messages from the JavaScript indicating an 
exit? The code looks fine from EditorExit() in EditorCommands.js. There should 
be an "Exiting\n" dump message. If that is seen then I can't work it out.
I'm going to talk to danm on this on, in the mean time, i'm reading PL_Event 
code in xpcom to try and get some grounding on this issue. 
Status: NEW → ASSIGNED
Summary: Commercial build doesn't exit → Commercial build doesn't exit 2/21/00
Summary: Commercial build doesn't exit 2/21/00 → Commercial build doesn't exit
Whiteboard: [PDT+] → [PDT+] investigating
When i do exit, I get:

nsWidget::~nsWidget() of toplevel: 11 widgets still exist.
WEBSHELL- = 3
WEBSHELL- = 2
WEBSHELL- = 1
nsWidget::~nsWidget() of toplevel: 5 widgets still exist.
Shut down app shell component {18c2f989-b09f-11d2-bcde-00805f0e1353},
rv=0x00000000
Shut down app shell component {4a85a5d0-cddd-11d2-b7f6-00805f05ffa5},
rv=0x00000000

when I don't (and hang), the Shut down app shell lines are missing...
Summary: Commercial build doesn't exit → Linux build doesn't exit
My patch for 27855 seems to also help this bug also, so, I'm assigning to pavlov
to investigate and make final fix (possibly based on the patch I made to 27855)
Assignee: syd → pavlov
Status: ASSIGNED → NEW
Whiteboard: [PDT+] investigating → [PDT+] reassigned to pavlov, I need to get back to IM bugs
This patch to Gtk+ timer (nsTimerGtk.cpp) seems to get me past this bug and
27855 (see 27855 for the twisty trail that lead me here):

Index: src/unix/gtk/nsTimerGtk.cpp
===================================================================
RCS file: /cvsroot/mozilla/widget/timer/src/unix/gtk/nsTimerGtk.cpp,v
retrieving revision 1.9
diff -r1.9 nsTimerGtk.cpp
35a36,37
>   return G_PRIORITY_HIGH;
> 
assigning back to me
Assignee: pavlov → syd
Fixed
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Whiteboard: [PDT+] reassigned to pavlov, I need to get back to IM bugs → [PDT+]
Verified with linux commercial build 2000022308m14. Marking as such.
Status: RESOLVED → VERIFIED
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.