[xml] Bug Report : xmllint (libxml2-2.4.27) - Entity in Entity processing



Greetings All,

     I believe I have discovered a bug in xmllint (libxml2-2.4.27
compiled with GCC-3.2 on Solaris 8 Intel Edition). Unfortunately I
tried to reproduce it in a small file and the same effect does not
happen, so I'll describe the problem in detail as it has been very
easy to localise (the problem) to one feature of the document.

     The problem only occurs when the document being processed _uses_
an entity containing another entity, the following example is the
entity in question:

ENTITY EPOCHTC                  "EPOCH T&C"         
ENTITY EPOCHTCPossessive                "EPOCH T&C's"       

These entity definitions are present in document all the time, but if
you use the first one say, in the actual document itself, the errors
included at the end of this report are produced. Additionally, the
errors always occur at the closing '>' of the first element in the
newly included document, after the appearance of the problematic
entity in the document itself (seen on both refentry and para
elements).

If the document is modified to use another entity which does not
contain an entity then life is good. If you restore use of the
problematic entity the problem returns. If you modify the problematic
entity to not contain another entity, then life is also good.

Maybe the reason I can't reproduce it (in a small document) is related
to the fact that both the entity definitions and the bulk of the
document itself is included via entities. The entire document
structure is included at the end for completeness. BTW: The document
is a collection of DocBook 4.2 refentry elements.

The other DTD-based validating tools I have (dtdvalid and Xalan's
validate) do not have a problem with the document and xmllint is
reporting an internal error, so I believe it is an xmllint problem.

Hopefully this can assisting in narrowing down the issue.

Peter Bray
Sydney, Australia

PS: As mailer's have a habit of reformmatting log line line the
additional data is provided as an attachment

http://www.yahoo.promo.com.au/hint/ - Yahoo! Hint Dropper
- Avoid getting hideous gifts this Christmas with Yahoo! Hint Dropper!

Greetings All,

     I believe I have discovered a bug in xmllint (libxml2-2.4.27
compiled with GCC-3.2 on Solaris 8 Intel Edition). Unfortunately I
tried to reproduce it in a small file and the same effect does not
happen, so I'll describe the problem in detail as it has been very
easy to localise (the problem) to one feature of the document.

     The problem only occurs when the document being processed _uses_
an entity containing another entity, the following example is the
entity in question:

<!ENTITY EPOCHTC                        "EPOCH T&amp;C"         >
<!ENTITY EPOCHTCPossessive              "EPOCH T&amp;C's"       >

These entity definitions are present in document all the time, but if
you use the first one say, in the actual document itself, the errors
included at the end of this report are produced. Additionally, the
errors always occur at the closing '>' of the first element in the
newly included document, after the appearance of the problematic
entity in the document itself (seen on both refentry and para elements).

If the document is modified to use another entity which does not
contain an entity then life is good. If you restore use of the
problematic entity the problem returns. If you modify the problematic
entity to not contain another entity, then life is also good.

Maybe the reason I can't reproduce it (in a small document) is related
to the fact that both the entity definitions and the bulk of the
document itself is included via entities. The entire document
structure is included at the end for completeness. BTW: The document
is a collection of DocBook 4.2 refentry elements.

The other DTD-based validating tools I have (dtdvalid and Xalan's
validate) do not have a problem with the document and xmllint is
reporting an internal error, so I believe it is an xmllint problem.

Hopefully this can assisting in narrowing down the issue.

Peter Bray
Sydney, Australia

---------------------------------------------------------------------------


xmllint --debugent --catalogs --noout --valid AllManualPages.xml

[ Lots of DocBook related debug deleted ]

/pkgs/docbook-4.2/xml/docbookx.dtd(162): Leaving INCLUDE Conditional Section
new input from file: Entities/ManualSets-AutomatedInstallation.ent
new input from file: Entities/ManualSets-LocalConfiguration.ent
new input from file: ManualPages/LocalConfiguration/Admin.xml
new input from file: ManualPages/LocalConfiguration/ApplicationErrorReporting-Local.xml
new input from file: ManualPages/LocalConfiguration/ApplicationVersionManagementTools-Local.xml
new input from file: ManualPages/LocalConfiguration/Developer-CM-Local.xml
new input from file: ManualPages/LocalConfiguration/Distribute.xml
new input from file: ManualPages/LocalConfiguration/EpochTCGraft.xml
new input from file: ManualPages/LocalConfiguration/GenerateArchiveFiles.xml
new input from file: ManualPages/LocalConfiguration/InstallEpochTCGraftedApplication.xml
ManualPages/LocalConfiguration/InstallEpochTCGraftedApplication.xml:10: validity error: 
xmlValidateAttributeCallback(application): internal error
<refentry id="InstallEpochTCGraftedApplication-1m">
                                                  ^

[repeated 7 more times]

new input from file: ManualPages/LocalConfiguration/InstallLocalConfiguration.xml
ManualPages/LocalConfiguration/InstallLocalConfiguration.xml:10: validity error: 
xmlValidateAttributeCallback(application): internal error
<refentry id="InstallLocalConfiguration-1m">
                                           ^

[repeated error messages - then similar behaviour on each new file included in the document]

---------------------------------------------------------------------------

xmllint --debugent --debug --catalogs --noout --valid AllManualPages.xml 2>&1 | grep 'new input from file'

new input from file: AllManualPages.xml
new input from file: Entities/SystemAdministration.ent
new input from file: Entities/Local.ent
new input from file: Entities/Vendors.ent
new input from file: Entities/ManualPages.ent
new input from file: Entities/ExternalFiles.ent
new input from file: Entities/Manuals-LocalConfiguration.ent
new input from file: Entities/Manuals-AutomatedInstallation.ent
new input from file: Entities/Manuals-ApplicationManagement.ent
new input from file: /pkgs/docbook-4.2/xml/docbookx.dtd
new input from file: /pkgs/docbook-4.2/xml/dbnotnx.mod
new input from file: /pkgs/docbook-4.2/xml/dbcentx.mod
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amsa.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amsb.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amsc.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amsn.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amso.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-amsr.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-box.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-cyr1.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-cyr2.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-dia.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-grk1.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-grk2.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-grk3.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-grk4.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-lat1.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-lat2.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-num.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-pub.ent
new input from file: /pkgs/docbook-4.2/xml/ent/iso-tech.ent
new input from file: /pkgs/docbook-4.2/xml/dbpoolx.mod
new input from file: /pkgs/docbook-4.2/xml/calstblx.dtd
new input from file: /pkgs/docbook-4.2/xml/dbhierx.mod
new input from file: /pkgs/docbook-4.2/xml/dbgenent.mod
new input from file: Entities/ManualSets-AutomatedInstallation.ent
new input from file: Entities/ManualSets-LocalConfiguration.ent
new input from file: ManualPages/LocalConfiguration/Admin.xml
new input from file: ManualPages/LocalConfiguration/ApplicationErrorReporting-Local.xml
new input from file: ManualPages/LocalConfiguration/ApplicationVersionManagementTools-Local.xml
new input from file: ManualPages/LocalConfiguration/Developer-CM-Local.xml
new input from file: ManualPages/LocalConfiguration/Distribute.xml
new input from file: ManualPages/LocalConfiguration/EpochTCGraft.xml
new input from file: ManualPages/LocalConfiguration/GenerateArchiveFiles.xml
new input from file: ManualPages/LocalConfiguration/InstallEpochTCGraftedApplication.xml
new input from file: ManualPages/LocalConfiguration/InstallLocalConfiguration.xml
new input from file: ManualPages/LocalConfiguration/MultiMonitors.xml
new input from file: ManualPages/LocalConfiguration/PopulateUsersHome.xml
new input from file: ManualPages/LocalConfiguration/RemoteConsole.xml
new input from file: ManualPages/LocalConfiguration/ReplicatingAutomatedInstall-Local.xml
new input from file: ManualPages/LocalConfiguration/RunOn.xml
new input from file: ManualPages/LocalConfiguration/SSH-Local.xml
new input from file: ManualPages/LocalConfiguration/SystemPersonality-Local.xml
new input from file: ManualPages/LocalConfiguration/UpdatingSystemConfiguration-Local.xml
new input from file: ManualPages/LocalConfiguration/XConsole.xml
new input from file: ManualPages/LocalConfiguration/Xssh.xml
new input from file: Entities/ManualSets-ApplicationManagement.ent


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]