Re: Application runs slowly, crashes when wiggling the mouse quickly



On Thu, 2006-06-15 at 16:28 -0400, blythe2 tcnj edu wrote:
No, it's not in a seperate thread, it's a function that gets called
asynchronously by the kernel.  But that function *does* then make GTK
calls.  Would it be safer to tie my serial port routines to one of those
GDK IO callbacks, that way I know it's safe to muck around when I get
called?

In the function, shove the serial data into a pipe that the main thread
can read from in a function invoked by a GDK Input call:

  http://developer.gnome.org/doc/API/2.0/gdk/gdk-Input.html

at least, that's what I do.


  // Wally


- Nate

It sounds like lightening the load merely reduces the chance of hitting
some race condition.  You say your app makes heavy use of the serial
port.  Are you doing this in a separate thread?  If so, is that thread
also making gtk calls (in addition to the main thread)?


  // Wally

On Thu, 2006-06-15 at 14:41 -0400, blythe2 tcnj edu wrote:
I'm writing an application that makes fairly heavy use of the serial
port.
 While testing this app, things seem to be running fine, until I wiggle
the mouse quickly over a treeview (a list) or over a few checkboxes in
the
window.  Sometimes I have to wiggle for a minute, sometimes just 5
seconds
will do, but the app crashes, with either a segfault, or GLib reporting
a
corrupted doubly linked list.

Some thoughts:
1.  Wiggling the mouse anywhere besides over the treeview or the
checkboxes causes no problems.

2.  Processor usage goes up significantly when wiggling the mouse over
the
treeview or the checkboxes.

3.  The problem can be completely avoided by making the offending
widgets
non-sensitive (dimmed out).

4.  I'm running on an old computer, a Celeron, at around 400Mhz or so :(

Could number 4 be the culprit?  Perhaps wiggling the mouse over some
widgets (and thus causing GTK to redraw them, presumably) slows down the
system so much (70% processor usage at the time of death sometimes) that
some routines or signals interrupt themselves and do something naughty?

When I modify the program (skipping key routines) to drastically lower
the
processor usage, the problem goes away.

I would like to chalk this up to a weak computer... but it seems
unlikely
to me that GTK simply blows up on old computers (with very busy apps).

For reference:
  400 Mhz Celeron
  128 Megs ram
  Debian Linux
  GTK 2.6

Any advice is appreciated!

_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
--
Your eyes are weary from staring at the CRT.  You feel sleepy.  Notice
how restful it is to watch the cursor blink.  Close your eyes.  The
opinions stated above are yours.  You cannot imagine why you ever felt
otherwise.


-- 
Your eyes are weary from staring at the CRT.  You feel sleepy.  Notice
how restful it is to watch the cursor blink.  Close your eyes.  The   
opinions stated above are yours.  You cannot imagine why you ever felt
otherwise.



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