Skip Menu |

This queue is for tickets about the AxKit CPAN distribution.

Report information
The Basics
Id: 16776
Status: new
Priority: 0/
Queue: AxKit

People
Owner: Nobody in particular
Requestors: ajh [...] csse.monash.edu.au
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.6.2
Fixed in: (no value)



Subject: current directory caching problems
I'm using AxKit 1.6.2 on Mac OS X 10.4.3 (Darwin ballarat 8.3.0 Darwin Kernel Version 8.3.0: Mon Oct 3 20:04:04 PDT 2005; root:xnu-792.6.22.obj~2/RELEASE_PPC Power Macintosh powerpc), with perl 5.8.6. I am rendering pages of XML which define a photo album. There are three types of pages: directory listings, thumbnails of images within a directory, and image pages themselves. Thumbnail pages visit the image XML files (via a "document" call) to retrieve description text. This reference is via a relative path within the current directory. The bug happens when I visit different thumbnail pages of the album from a directory listing. Each image reference should retrieve within the current directory: however, the previous image directory/ies are used instead, which means that the retrieval fails because the file is not in that directory. The bug appears to be due to some sort of caching of the previous path. I have tried running it with AxNoCache both On and Off, however, the bug appears in both cases. The bug does not appear when I run the system through the 'file' protocol, only under 'http'. (This I don't understand!) So this works: file:///home/ajh/www/personal/albums/2005/12/01/index.xml But this doesn't: http://localhost/~ajh/personal/albums/2005/12/01/index.xml Here's the index file (some entries removed to save space): <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="file:///home/ajh/Computers/python/photo/album.xsl"?><album> <title> 01 Dec 2005 </title> <description>ICCE2005, including conference dinner</description> <image name="IMG_20917"/> <image name="IMG_20918"/> ... <image name="IMG_20965"/> <image name="IMG_20966"/> </album> And here's the related image file: <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="file:///home/ajh/Computers/python/photo/album.xsl"?> <album> <view name="IMG_20917" prev="IMG_20917" next="IMG_20918"> <description> Nanyang: Interesting flower, cf IMG_0202 </description> <datetime>2005:12:01 10:42:30</datetime> <shutter>1/1000</shutter> <aperture>6.3</aperture> </view> </album> And here's the debug output from AxKit, with the two key directory references commented: [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] fast handler called for /~ajh/personal/albums/2005/12/01/index.xml [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] Content Provider Override: Apache::AxKit::Provider::File [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] decoding from UTF-8 [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [req] File Provider given $r: /home/ajh/www/personal/albums/2005/12/01/index.xml ****** this is the correct directory ****** 'index.xml' refers to 'IMG_20917.xml', which does exist in .../2005/12/01 [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] checking if we process this resource [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] media: screen, preferred style: #default [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] Cache: key = c396b21e13fb121f11878ec606e3dd6c [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] getting styles and external entities from the XML [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] styles cached [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] cache doesn't exist [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] some condition failed. recreating output [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] styles: Apache::AxKit::Language::LibXSLT(file:///home/ajh/Computers/python/photo/album.xsl) [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] Style Provider Override: Apache::AxKit::Provider::File [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [file] File Provider given file: /home/ajh/Computers/python/photo/album.xsl [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] encoding to UTF-8 [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] about to execute: Apache::AxKit::Language::LibXSLT::handler [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [LibXSLT] getting the XML parser match_cb: at /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Language/LibXSLT.pm line 55. [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [LibXSLT] parsing stylesheet [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [LibXSLT] checking if stylesheet is cached [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [LibXSLT] stylesheet cached [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [LibXSLT] performing transformation $xmlname=IMG_20917.xml [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] LibXSLT match_uri: /~ajh/personal/albums/2005/12/23/IMG_20917.xml ******** this is a previously visited directory, and denotes a non-existent file [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] LibXSLT open_content_uri: /~ajh/personal/albums/2005/12/23/IMG_20917.xml [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] Content Provider Override: Apache::AxKit::Provider::File [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] decoding from UTF-8 [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] [req] File Provider given $r: /home/ajh/www/personal/albums/2005/12/23/IMG_20917.xml [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] encoding to UTF-8 [Thu Dec 29 08:48:03 2005] [warn] [client 127.0.0.1] [AxKit] Caught an exception [Thu Dec 29 08:48:03 2005] [error] [client 127.0.0.1] [AxKit] [Error] input callback died: File '/home/ajh/www/personal/albums/2005/12/23/IMG_20917.xml' does not exist or is not readable at /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Language/LibXSLT.pm line 124.\n [Thu Dec 29 08:48:03 2005] [error] [client 127.0.0.1] [AxKit] From: /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Exception.pm : 9 [Thu Dec 29 08:48:03 2005] [error] [client 127.0.0.1] [AxKit] [Backtrace] input callback died: File '/home/ajh/www/personal/albums/2005/12/23/IMG_20917.xml' does not exist or is not readable at /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Language/LibXSLT.pm line 124.\n at /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Exception.pm line 9\n\tApache::AxKit::Exception::new('Apache::AxKit::Exception::Error', '-text', 'input callback died: File \\'/home/ajh/www/personal/albums/200...') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 1015\n\tAxKit::prep_exception('input callback died: File \\'/home/ajh/www/personal/albums/200...') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 173\n\tAxKit::__ANON__('input callback died: File \\'/home/ajh/www/personal/albums/200...') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/Apache/AxKit/Language/LibXSLT.pm line 124\n\tApache::AxKit::Language::LibXSLT::handler('Apache::AxKit::Language::LibXSLT', 'AxKit::Apache=SCALAR(0xf0fec)', 'Apache::AxKit::Provider::File=HASH(0xf158c)', 'Apache::AxKit::Provider::File=HASH(0xf1460)', 1) called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 759\n\tAxKit::process_request('AxKit::Apache=SCALAR(0xf0fec)', 'Apache::AxKit::Provider::File=HASH(0xf158c)', 'ARRAY(0xf13e8)', 'undef') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 474\n\tAxKit::run_axkit_engine('AxKit::Apache=SCALAR(0xf0fec)', 'Apache::AxKit::Provider::File=HASH(0xf158c)') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 300\n\teval {...} called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 291\n\tAxKit::main_handler('AxKit::Apache=SCALAR(0xf0fec)', 'Apache::AxKit::Provider::File=HASH(0xf158c)') called at /Library/Perl/5.8.6/darwin-thread-multi-2level/AxKit.pm line 204\n\tAxKit::fast_handler('AxKit::Apache=SCALAR(0xf0fec)') called at /dev/null line 0\n\teval {...} called at /dev/null line 0\n