ASF Bugzilla – Attachment 4131 Details for
Bug 14962
Bug in ID Generation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
My experiences with the bug
fopbug.txt (text/plain), 2.42 KB, created by
Michael Mutschler
on 2002-12-11 17:11:43 UTC
(
hide
)
Description:
My experiences with the bug
Filename:
MIME Type:
Creator:
Michael Mutschler
Created:
2002-12-11 17:11:43 UTC
Size:
2.42 KB
patch
obsolete
>Comments on Bug #14962 > >I have the same error, and I traced the bug down a bit more, and hope >it helps for fixing the bug. I'm using fop0.20.5rc. > >I have the exception when there is a "rollback" during the layout. >Then the IDref is stored twice. It seems that the rollback-feature >of a block doesn't take care of the generated IDs. I used fop in my >personal application so I have the actual stacktrace of the error: > >org.apache.fop.apps.FOPException: The id "chap_EPILOG" already exists in this document > at org.apache.fop.datatypes.IDReferences.createID(IDReferences.java:77) > at org.apache.fop.fo.flow.Block.layout(Block.java:148) > at org.apache.fop.fo.flow.Block.layout(Block.java:206) > at org.apache.fop.fo.flow.AbstractFlow.layout(AbstractFlow.java:113) > at org.apache.fop.fo.flow.AbstractFlow.layout(AbstractFlow.java:68) > at org.apache.fop.fo.pagination.PageSequence.makePage(PageSequence.java:352) > at org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:290) > at org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:210) > at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177) > at org.apache.fop.tools.DocumentReader.parse(DocumentReader.java:461) > at org.apache.fop.apps.Driver.render(Driver.java:457) > at org.apache.fop.apps.Driver.render(Driver.java:477) > >I added some println()s into the code, and in AbstractFlow.java in the >layout()-Method (Line72) there is a loop with the following part: > > if (bac.isBalancingRequired(fo)) { > // reset the the just-done span area in preparation > // for a backtrack for balancing > bac.resetSpanArea(); > > this.rollback(markerSnapshot); > // one less because of the "continue" > i = this.marker - 1; > continue; > } > >In my case, when there happens this rollback() with the block containing the >IDRef, this exception occurs. It seems, that the status of the IDs is not >stored in the snapshot used for rollback, and therefore the ID is stored twice >during the layout. > >In the previously attached example this doesn't happen; but IMHO this relates >to the same error. > >I hope this helps. If there are more questions feel free to send me a mail to >michael@mutschler.de > >To get it actually running, I removed the thrown exception in >org.apache.fop.datatypes.IDReferences line 77. >This is no fix, only a patch so it renders my files!!
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 14962
:
3993
| 4131 |
12061