Description of problem: Version-Release number of selected component (if applicable): perl-XML-LibXML-1.58-2.2.2.1 How reproducible: Easily. Steps to Reproduce: 1. run following program under mod_perl or SpeedyCGI or any similar persistent perl interpreter (not /usr/bin/perl, as it is not persistent): use XML::Simple; XMLin('/path/to/any/valid/xml/file.xml') && print "OK" Actual results: first run prints "OK", second run dies with message: Couldn't create file parser context for file "/path/to/any/valid/xml/file.xml": No such file or directory at /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/XML/LibXML.pm line 427. Expected results: "OK" Additional info: This bug is already documented in Debian's bug-tracking system, please look there: http://bugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=240334 Basicaly, there is missing one initialization block in LibXML library for perl, which causes it to work correctly when running under non-persistent Perl interpreter, but fails under persistent Perl (eg. mod_perl, etc.). I assigned it a "high" level priority, because this bug effectively disables all functionality of mod_perl modules which are using LibXML, and it is impossible to get around this bug :(((.
I forgot EXACT steps to repdocute this bug: $ cat - >a.pl use XML::Simple; XMLin('file.xml') && print "OK"; ^D $ cat - >file.xml <?xml version="1.0" encoding="UTF-8"?> <test></test> ^D $ perl a.pl OK $ perl a.pl OK $ /usr/bin/speedy a.pl OK $ /usr/bin/speedy a.pl Couldn't create file parser context for file "file.xml": No such file or directory at /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread- multi/XML/LibXML.pm line 427. at /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/XML/LibXML/SAX.pm line 63
On Fedora 8 with # rpm -q perl-XML-LibXML perl-XML-LibXML-1.62001-2.fc8.3.x86_64 the problem does no longer be present, under mod_perl. I've created the file /var/www/perl/index.html with content #!/usr/bin/perl print "Content-Type: text/plain\n\n"; use XML::Simple; XMLin("/tmp/file.xml"); print "OK ($$).\n"; __END__ I've created the above mentioned file.xml in /tmp, uncommented Alias /perl /var/www/perl <Directory /var/www/perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders Options +ExecCGI </Directory> in /etc/httpd/conf.d/perl.conf, restarted httpd, and then run # GET http://localhost/perl/index.pl until I hit the same pid again. It went alright the second time as well. I suggest to mark this bugzilla as resolved with CURRENTRELEASE.