Buildable only?

Thomas Fitzsimmons fitzsim@redhat.com
Fri May 6 20:57:00 GMT 2005


On Fri, 2005-05-06 at 22:18 +0200, Norman Hendrich wrote:
> Hello Andrew, hello Bryce,
> 
> >> GCJ now compiles all of my classes, but running them leads to segfaults.
> >> The apps simply crash somewhere in GTK or libpthread; no stacktraces,
> >> no fun.
> >
> > What are you running on?
> 
> For details see my bug reports around 09.Feb.2005 (AWT/19838..19862).
> Back then I tried several gcc-4.0.0 snapshots, the latest I really
> tortured now is gcc-4.1-20050424.
> 
> All of this on my SuSE 8.2 and 9.1 systems. I guess that the actual 
> crashes are due to GTK/libpthread problems, not due to gcc/gcj itself.
> 
> Here is what Tom (Fitzsimmons) wrote me back then:
> 
> >>    Is there *ANY* way to debug complex, multithreaded GTK+ applications
> >>    on Linux?                    
> >
> > Well, it's pretty difficult, which is part of the reason these things
> > take so long to fix :(  There are some tricks you should know about
> > though:
> > 
> > In GtkToolkit.gtkInit, call:
> >  XSynchronize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 1);
> > There's also DEBUG_LOCKING in gtkpeer.h.  Enable it to see where the gdk
> > critical section is entered and exited.  This one's good for debugging
> > deadlocks in the peers.
> > 
> > Another useful debugging tool is xwininfo, coupled with calls to
> > GDK_WINDOW_XID in your GTK code.  xwininfo will tell you information
> > about a window that you click on.  See also the -tree option which dumps
> > a window's hierarchy.  It's very handy.
> 
> Seems that I am not the only one who has problems with GTK...
> 
> ---
> 
> However, my point today is that even *without* the annyoing-and-hard-
> to-debug-actual-crashes, *none* of my (rather simple) AWT/Swing-based
> apps would be usable with gcc/gcj.
> 
> From my point of view, it is very hard to understand that you keep
> adding fancy compiler options (like gcj-dbtool or gcjx), while even
> pretty simple applications don't work at all - as soon as they use
> AWT or Swing. I admit that most of the java.lang, java.math, java.io,
> java.net, and java.util stuff is pretty good already, and from what
> I've heard some of the javax.* things are good, too.
> 

Admittedly, our AWT/Swing implementation has been lower priority over
the past year.  Instead, we've been focusing on satisfying the Java
requirements of major applications like Eclipse, OpenOffice.org and
Jonas.  The development effort you've seen has been focused on getting
these applications to work out-of-the-box on GCJ.  Components like
gcj-dbtool and gcjx were not written in the name of fanciness, they were
written to address real problems exposed by these large applications.

We're now at a point where these large applications are fully supported
by GCJ.  Over the next year, I want to see our focus shift to filling
one of the big remaining holes in the free software desktop: a free Java
plugin.  This will mean completing our AWT/Swing implementation.

Tom




More information about the Java mailing list