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 "Gabrovsky, Ivaylo" <IG...@skandia.com> on 2002/02/28 17:46:36 UTC

Exception

Hi everyone,

I create PDFs in 10 parallel threads and every now and then I have this
Exception.
Can someone clarify for me what is the problem and how to fix it?
I suspect it is related with parallel usage of same gif image.

java.lang.NullPointerException
	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:965)
	at org.apache.fop.apps.Driver.render(Driver.java:424)
	at org.apache.fop.apps.Driver.run(Driver.java:508)
	at
com.skandia.edoc.docgen.common.xml.Transform.getPDF(Transform.java:83)
	at
com.skandia.edoc.docgen.common.doc.Document.transform(Document.java:153)
	at
com.skandia.edoc.docgen.dailyconf.doc.DailyConfirmation.create(DailyConfirma
tion.java:41)
	at
com.skandia.edoc.docgen.common.create.ParallelDocument.run(ParallelDocument.
java:44)
java.lang.NullPointerException
	at
org.apache.fop.image.GifJpegImage.loadImage(GifJpegImage.java:131)
	at
org.apache.fop.image.AbstractFopImage.getBitmaps(AbstractFopImage.java:212)
	at org.apache.fop.pdf.PDFXObject.output(PDFXObject.java:67)
	at org.apache.fop.pdf.PDFDocument.output(PDFDocument.java:1137)
	at
org.apache.fop.render.pdf.PDFRenderer.render(PDFRenderer.java:694)
	at
org.apache.fop.apps.StreamRenderer.processQueue(StreamRenderer.java:213)
	at
org.apache.fop.apps.StreamRenderer.addToRenderQueue(StreamRenderer.java:198)
	at
org.apache.fop.apps.StreamRenderer.queuePage(StreamRenderer.java:183)
	at org.apache.fop.layout.AreaTree.addPage(AreaTree.java:81)
	at
org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:306)
	at
org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:166)
	at
org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:155)
	at
org.apache.xerces.parsers.SAXParser.endElement(SAXParser.java:1398)
	at
org.apache.xerces.validators.common.XMLValidator.callEndElement(XMLValidator
.java:1019)
	at
org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XM
LDocumentScanner.java:1256)
	at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.
java:381)
	at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:948)
	at org.apache.fop.apps.Driver.render(Driver.java:424)
	at org.apache.fop.apps.Driver.run(Driver.java:508)
	at
com.skandia.edoc.docgen.common.xml.Transform.getPDF(Transform.java:83)
	at
com.skandia.edoc.docgen.common.doc.Document.transform(Document.java:153)
	at
com.skandia.edoc.docgen.dailyconf.doc.DailyConfirmation.create(DailyConfirma
tion.java:41)
	at
com.skandia.edoc.docgen.common.create.ParallelDocument.run(ParallelDocument.
java:44)


Thank you.

Ivaylo


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


Re: Exception

Posted by Jeremias Maerki <je...@outline.ch>.
Seems like we have two people almost at the same time having problems
with NPEs in loadImage() methods.

Ivaylo, it looks like you're not using the latest version of FOP, so I
haven't been able to find out what exactly caused the NPE. It's not that
it will necessarily work if you update!

I've looked at the code and I think it's this.m_bitmaps is null for some
reason that I haven't figured out, yet. It's the same in
GifJpegImage.java as in BmpImage.java (David's problem).

I believe it's a threading problem. There's a method close() in AbstractFopImage.java
Factory that sets m_images to null. FopImageFactory caches bitmaps, so
my guess is that an image can get closed while the same object is
accessed from a different thread (method loadImage()).

I must confess that I don't have time to look at it at the moment. Any
takers?

As a work-around, you could try to block your servlet so only one thread
at a time can use FOP to process your jobs. Not nice, but you could be
forced to do that for the time being.

> I create PDFs in 10 parallel threads and every now and then I have this
> Exception.
> Can someone clarify for me what is the problem and how to fix it?
> I suspect it is related with parallel usage of same gif image.

<snip/>

> java.lang.NullPointerException
> 	at
> org.apache.fop.image.GifJpegImage.loadImage(GifJpegImage.java:131)

Cheers,
Jeremias Märki

mailto:jeremias.maerki@outline.ch

OUTLINE AG
Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Tel. +41 41 317 2020 - Fax +41 41 317 2029
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