Bug 475250
Summary: | perl-XML-SAX does not properly decode UTF-8 characters | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Trevin Beattie <tbeattie> | ||||||
Component: | perl-XML-SAX | Assignee: | Marcela Mašláňová <mmaslano> | ||||||
Status: | CLOSED ERRATA | QA Contact: | BaseOS QE <qe-baseos-auto> | ||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | low | ||||||||
Version: | 5.3 | CC: | ovasik, psplicha, robin.norwood | ||||||
Target Milestone: | rc | Keywords: | Regression | ||||||
Target Release: | --- | ||||||||
Hardware: | All | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2010-01-06 08:57:09 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Trevin Beattie
2008-12-08 17:23:40 UTC
Created attachment 326150 [details]
Perl script which demonstrates the bug
Created attachment 326151 [details]
Input file for the test script
I upgraded perl-XML-SAX on my Fedora Core 6 system to version 0.14-5 from the Red Hat EL 5.3b distribution, and the test script still runs correctly. I then upgraded perl itself to version 5.8.8-18.el5, and it still runs correctly. Given that, I can't say whether the perl-XML-SAX package is the source of the bug. As both systems now have the exact same perl, perl-XML-Simple, and perl-XML-SAX packages, and the latter packages are pure Perl code, what could possibly be different between FC6 and EL5 that would cause the script output to differ? Well, there were problems with scriptlets, which are installing ParserDetails.ini. Those scriptlets aren't in RHEL-5, but it is in FC-6. That's only difference between XML::SAX modules. The scriptlets are quite problematic, because they are probably reason of problematic updates from RHEL-4 to RHEL-5. I'll be working on fix. That must be a ghost file, because even though rpm says it belongs to perl-XML-SAX, it isn't part of the package's file listing. I see this morning that the contents of the file are different between my two systems, but only in the order in which the sections are defined. Here's the file from FC6: [XML::SAX::PurePerl] http://xml.org/sax/features/namespaces = 1 [XML::LibXML::SAX::Parser] http://xml.org/sax/features/namespaces = 1 [XML::LibXML::SAX] http://xml.org/sax/features/namespaces = 1 And here is the file from EL5: [XML::LibXML::SAX::Parser] http://xml.org/sax/features/namespaces = 1 [XML::LibXML::SAX] http://xml.org/sax/features/namespaces = 1 [XML::SAX::PurePerl] http://xml.org/sax/features/namespaces = 1 I did notice that after I downgraded perl-XML-SAX to version 0.12 and then upgraded back to 0.14 again, ParserDetails.ini had disappeared. I noticed because my program would not run at all -- I got the error "could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.8/XML/SAX". I had to completely remove and then re-install the package to fix that little problem. I'm able to confirm that the order of entries in ParserDetails.ini *does* make a difference! When I swapped this file between the two systems, the test script broke on FC6 and worked properly on EL5. So the missing file ParserDetails.ini is one bug filed in rhbz as #289061. The utf8 problem was fixed in the latest version of XML::SAX as upstream bug http://rt.cpan.org/Public/Bug/Display.html?id=26588 It's regression to 0.12. An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2010-0008.html After upgrading perl-XML-LibXML-1.58-6.i386.rpm and perl-XML-SAX-0.14-8.noarch.rpm: [tbeattie@admin tmp]$ ./test-XML-SAX-0.13.pl test-XML-SAX-0.13.xml test-XML-SAX-0.13.out could not find ParserDetails.ini in /usr/lib/perl5/vendor_perl/5.8.8/XML/SAX but the output file was correctly encoded. After removing and cleanly re-installing the packages, the test script ran without any errors. |