Bug 50575 - Binary release of fop-1.0 gives "Error reading event-model.xml" when run on RHEL5
Summary: Binary release of fop-1.0 gives "Error reading event-model.xml" when run on R...
Status: CLOSED WONTFIX
Alias: None
Product: Fop - Now in Jira
Classification: Unclassified
Component: general (show other bugs)
Version: 1.0
Hardware: PC Linux
: P2 normal
Target Milestone: ---
Assignee: fop-dev
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-11 20:52 UTC by alexanderfaucher
Modified: 2012-04-01 13:42 UTC (History)
2 users (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description alexanderfaucher 2011-01-11 20:52:39 UTC
I extracted fop-1.0 and ran it for xml2txt conversion and got an exception on event-model.xml not found.  Those files do not exist in the binary release.  I noticed that when I build from source I get those files under multiple paths like ./build/classes/org/apache/fop/... and ./build/gensrc/org/apache/fop/... but I get the same exception when I run ./fop from there.

This is fop-1.0 release on RHEL5.

The command:
./fop -xml ~/input.xml -xsl ~/stylesheet.xslt -c ~/fop.xml -txt ~/result.txt

11-Jan-11 5:46:11 PM org.apache.fop.render.txt.TXTRenderer startRenderer
INFO: Rendering areas to TEXT.
11-Jan-11 5:46:12 PM org.apache.fop.fo.FOTreeBuilder fatalError
SEVERE: javax.xml.transform.TransformerException: Error reading event-model.xml: http://xml.org/sax/handlers/LexicalHandler
11-Jan-11 5:46:12 PM org.apache.fop.cli.Main startFOP
SEVERE: Exception
javax.xml.transform.TransformerException: Error reading event-model.xml: http://xml.org/sax/handlers/LexicalHandler
   at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:302)
   at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
   at org.apache.fop.cli.Main.startFOP(Main.java:174)
   at org.apache.fop.cli.Main.main(Main.java:205)

---------

javax.xml.transform.TransformerException: Error reading event-model.xml: http://xml.org/sax/handlers/LexicalHandler
   at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2416)
   at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
   at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
   at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
   at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
   at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299)
   at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
   at org.apache.fop.cli.Main.startFOP(Main.java:174)
   at org.apache.fop.cli.Main.main(Main.java:205)
Caused by: java.util.MissingResourceException: Error reading event-model.xml: http://xml.org/sax/handlers/LexicalHandler
   at org.apache.fop.events.DefaultEventBroadcaster.loadModel(DefaultEventBroadcaster.java:90)
   at org.apache.fop.events.DefaultEventBroadcaster.getEventProducerModel(DefaultEventBroadcaster.java:114)
   at org.apache.fop.events.DefaultEventBroadcaster.createProxyFor(DefaultEventBroadcaster.java:142)
   at org.apache.fop.events.DefaultEventBroadcaster.getEventProducerFor(DefaultEventBroadcaster.java:129)
   at org.apache.fop.fonts.FontEventProducer$Provider.get(FontEventProducer.java:43)
   at org.apache.fop.fonts.FontEventAdapter.getEventProducer(FontEventAdapter.java:44)
   at org.apache.fop.fonts.FontEventAdapter.fontSubstituted(FontEventAdapter.java:51)
   at org.apache.fop.fonts.FontInfo.notifyFontReplacement(FontInfo.java:468)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:223)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:401)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:433)
   at org.apache.fop.fo.properties.CommonFont.getFontState(CommonFont.java:222)
   at org.apache.fop.layoutmgr.BlockLayoutManager.initialize(BlockLayoutManager.java:84)
   at org.apache.fop.layoutmgr.AbstractLayoutManager.getChildLM(AbstractLayoutManager.java:120)
   at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
   at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:216)
   at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:692)
   at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:149)
   at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:132)
   at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:337)
   at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85)
   at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
   at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
   at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
   at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
   at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
   at org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:261)
   at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399)
   at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
   ...11 more
caused by java.util.MissingResourceException: Error reading event-model.xml: http://xml.org/sax/handlers/LexicalHandler
   at org.apache.fop.events.DefaultEventBroadcaster.loadModel(DefaultEventBroadcaster.java:90)
   at org.apache.fop.events.DefaultEventBroadcaster.getEventProducerModel(DefaultEventBroadcaster.java:114)
   at org.apache.fop.events.DefaultEventBroadcaster.createProxyFor(DefaultEventBroadcaster.java:142)
   at org.apache.fop.events.DefaultEventBroadcaster.getEventProducerFor(DefaultEventBroadcaster.java:129)
   at org.apache.fop.fonts.FontEventProducer$Provider.get(FontEventProducer.java:43)
   at org.apache.fop.fonts.FontEventAdapter.getEventProducer(FontEventAdapter.java:44)
   at org.apache.fop.fonts.FontEventAdapter.fontSubstituted(FontEventAdapter.java:51)
   at org.apache.fop.fonts.FontInfo.notifyFontReplacement(FontInfo.java:468)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:223)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:401)
   at org.apache.fop.fonts.FontInfo.fontLookup(FontInfo.java:433)
   at org.apache.fop.fo.properties.CommonFont.getFontState(CommonFont.java:222)
   at org.apache.fop.layoutmgr.BlockLayoutManager.initialize(BlockLayoutManager.java:84)
   at org.apache.fop.layoutmgr.AbstractLayoutManager.getChildLM(AbstractLayoutManager.java:120)
   at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
   at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:216)
   at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:692)
   at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:149)
   at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:132)
   at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:337)
   at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85)
   at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107)
   at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238)
   at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120)
   at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
   at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
   at org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:261)
   at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399)
   at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
   at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
   at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
   at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281)
   at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284)
   at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262)
   at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299)
   at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130)
   at org.apache.fop.cli.Main.startFOP(Main.java:174)
   at org.apache.fop.cli.Main.main(Main.java:205)
Comment 1 Simon Pepping 2011-01-12 03:58:01 UTC
If you used the binary release from the ASF, all existing event models are included. It seems that an event model is missing for notification of font substitution.

Can you provide a small sample file that displays the problem?
Comment 2 Mathieu Malaterre 2011-08-25 13:54:53 UTC
I can confirm this bug is also present on debian, where fop is being build from source.

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=639162
Comment 3 brian m. carlson 2011-08-28 00:44:10 UTC
I'm using Debian's version of fop and I can confirm this bug.  Moreover, it happens on every file I've tried.  I can provide a sample file if you'd like, but any file is a sample file.
I've inspected the build process for the Debian package and the eventResourceGenerator task in the resourcegen target produces no output with ant -v.  Whether that indicates whether it's being run or not, I don't know, but it is definitely not generating the files in question.
Comment 4 r.landmann 2011-08-28 23:42:27 UTC
FWIW, This same issue has prevented us shipping FOP at all in Fedora 15, and with Fedora 16 around the corner, we won't be shipping FOP there either unless we can figure this out :(

Our downstream bug:
https://bugzilla.redhat.com/show_bug.cgi?id=689930

It's only that the various event-model.xml files don't get generated at build time. The "FOP 1.0-16" referred to in that bug was a version I built that just included those XML files copied directly from the upstream binary. With the files in place, FOP worked fine. But without being able to figure out how to generate them during the build, we can't ship it, so this is a show-stopper for us. :(
Comment 5 Simon Pepping 2011-08-29 11:37:23 UTC
FOP's own build process generates the event-model files correctly. Therefore this is not a FOP bug.

For alternative build processes I have the following recommendation:

We noticed that qdox.jar cannot be inserted in the CLASSPATH variable for the ant build process. Doing so invariably generates an NPE. Even this command:

CLASSPATH=lib/build/qdox-1.6.3.jar ant clean resourcegen

i.e., using FOP's own qdox jar file, fails with a NPE.

Debian now solved the problem by copying their qdox jar into FOP's lib/build directory before the build. The resulting fop.jar contains the required event models, and seems to work well.

It would be good if alternative builds of fop would run a number of our junit tests. The fop team should look into this to formulate a recommendation.
Comment 6 Simon Pepping 2011-08-31 18:39:49 UTC
I made some notes about possible alternative build procedures on the FOP wiki, http://wiki.apache.org/xmlgraphics-fop/HowTo/BuildFOPAlternatively
Comment 7 Glenn Adams 2012-04-01 13:42:47 UTC
batch transition to closed for remaining resolved bugs