You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Jeremias Maerki <je...@outline.ch> on 2002/02/13 08:42:41 UTC

FOP hanging in multi-threaded environment (Win32)

Hi Foppers

I'd like to share something I've just found out and which almost cost me
my nerves so shortly before the first installation of our solution.

What happened? I have here a multi-threaded server app. The thread that
FOP was running on froze after the debug message "building formatting object tree".
When I paused the application while debugging I could see that it was
locked in sun.awt.Win32GraphicsDevice.getDefaultPixID() which is called
by java.awt.Toolkit.getDefaultToolkit() (which is in turned called by
Batik). After examining getDefaultToolkit() I realised I should try to
call getDefaultToolkit() myself in the main thread at the start of the
application. And that did it. It works because the blocking code isn't
called in that thread anymore. getDefaultToolkit() caches the Toolkit. So
if anyone has similar problems... 

During my search for a solution it was interesting to see that the
method getDefaultPixID() is a cause for various problems (mainly
exceptions). There are even some entries in the Java bug database.

Anyway, it works now. I think that's the second time Batik's use of AWT
causes problems for FOP (remember FOP on Linux without X11). I'm going
to contact the Batik team and ask them to look into this.

Cheers,
Jeremias Märki

mailto:jeremias.maerki@outline.ch

OUTLINE AG
Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Fon +41 41 317 20 20 - Fax +41 41 317 20 29
Internet http://www.outline.ch


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org