Skip Menu |

This queue is for tickets about the RPC-XML CPAN distribution.

Report information
The Basics
Id: 72780
Status: resolved
Priority: 0/
Queue: RPC-XML

People
Owner: rjray [...] blackperl.com
Requestors: w.phillip.moore [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.76
Fixed in: 0.77



Subject: t/20_xml_parser.t fails for 32bit RHEL, with perl5.14.2, but nothing else
I have just built RPC-XML-0.76 for the following platforms and perls: Platforms: 32 and 64 bit RHEL 5, Solaris 10, and AIX 6 Perls: 5.10.1, 5.12.4, and 5.14.2 I have a previously installed XML-Parser-2.41, built against expat-2.0.1, and it passed ALL of it's test on all 18 platform/perl combinations listed above. However, RPC-XML-0.76 works fine for 17 out of 18, but fails ONE and only one test on 32 bit RHEL5 using perl5.14.2. The failing test is: ok 43 - RPC::XML::Parser handles core entities Can't locate object method "args" via package "Parse error: error in processing external entity reference at line 9, column 34, byte 223: <param> <value><string>Entity test: &foo;</string></value> =================================^ </param> at /efs/dist/perl5/XML-Parser/2.41/.exec/x86-32.rhel.5/5.14/lib/perl5/XML/Parser.pm line 187 " (perhaps you forgot to load "Parse error: error in processing external entity reference at line 9, column 34, byte 223: <param> <value><string>Entity test: &foo;</string></value> =================================^ </param> at /efs/dist/perl5/XML-Parser/2.41/.exec/x86-32.rhel.5/5.14/lib/perl5/XML/Parser.pm line 187 "?) at t/20_xml_parser.t line 161. # Looks like you planned 137 tests but ran 43. # Looks like your test exited with 255 just after 43. If you patch the test to check the value of $ret, before deferencing it, then you will find that all the remaining tests in this file actually pass, and it's JUST that one test that fails. Oddly, if the same test is run under the perl debugger, it passes. I have dug into XML::Parser just a bit, and can find no reason for the discrepancy in behavior with and without the debugger. The inability to reproduce it in the debugger makes it far more difficult to track down the root cause. I have scoured my build environment for differences among these platforms, and can find none. In all cases, the same XML-Parser installation, and the same libexpat are being used. I am not much an XML user, personally (I'm installing this on behalf of my users), so I am not sure where to look to figure out why this one test is failing. Since I can reproduce this easily, I'm happy to follow up on any suggestions for where to look next. Is it possible that my expat build on this platform is at fault? Again, any pointers on where to look next would be appreciated.
There must be something odd with the XML::Parser or expat on the system in question. The document in that test should parse, with an external entity ignored due to the parser's configuration. This is the only report I have of this problem. I've put a test of the $ret value in place, with a "skip" of the test if $ret is not a reference. I don't want to fail the test for now, but I also don't want it to fail for you in your installations. This will be in 0.77. Randy -- Randy J. Ray rjray@blackperl.com randy.j.ray@gmail.com