Re: Panel lockups



Just a thought (or two),

Is it posible that the panel is hanging because it is waiting for a reply
to a CORBA message (ie sm-save-yourself) sent to the applet. If the applet
is stuck in the select loop, then it won't be rsponding to the incoming
request and the panel would hang.

Or if mailcheck applet is a shared library applet, rather than a
standalone executable, would this cause it to share the main loop with the
panel?

Ian.


On Wed, 23 Aug 2000, Matthew Pratt wrote:

> 
> Havoc Pennington wrote:
> 
> > To be sure, try running strace on the panel and the applet, and see
> > what they are stuck doing. Another possibility is that they are stuck
> > talking to esound.
> 
> A good idea. This is what I noticed on a lockup (strace of the panel
> process):
> 
> connect(23, {sin_family=AF_INET, sin_port=htons(110),
> sin_addr=inet_addr("128.11.68.63")}}, 16) = 0
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {3, 0})
> read(23, "+", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "O", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "K", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, " ", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "h", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "e", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "l", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "l", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, "o", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> read(23, " ", 1)                        = 1
> select(1024, [23], NULL, NULL, {5, 0})  = 1 (in [23], left {5, 0})
> 
> Clearly it is the pop connect and responses a byte at a time.
> 
> The mail check applet does a nasty little select() read() [a byte at a
> time] loop in its pop check. Seems a rewrite could help.
> 
> My question is why does the mail check applet run from the event loop of
> the panel while most other applets have their own processes?
> 
> Cheers,
> Matty
> 
> _______________________________________________
> gnome-devel-list mailing list
> gnome-devel-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gnome-devel-list
> 






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]