X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/fac6743cad2eaae33fc5bab79ee092ee6f7b9ffd..8cac2ac23eac0026faf4054c1ffda459be4a2bd3:/doc/bugs/attachment:_failed_to_get_filehandle.mdwn diff --git a/doc/bugs/attachment:_failed_to_get_filehandle.mdwn b/doc/bugs/attachment:_failed_to_get_filehandle.mdwn index 8fd5ab82a..676918831 100644 --- a/doc/bugs/attachment:_failed_to_get_filehandle.mdwn +++ b/doc/bugs/attachment:_failed_to_get_filehandle.mdwn @@ -25,6 +25,60 @@ the error message like below: error("failed to get filehandle:$fh ; file:$filename ; is ref:".ref($q->param('attachment'))); +>>>> Now my Ikiwiki returns: + +>>>> failed to get filehandle: ; file:sandbox/test.txt ; is ref: + +>>>> Is it helpful for you? --[[Paweł|ptecza]] + +>>>>> Yes, this suggests that CGI.pm's `upload` function is not working, +>>>>> but that it *is* returning a filehandle pointing at the attachment +>>>>> using the old method. Hmm, so I'll bet you have a CGI.pm version +>>>>> older than 2.47. Can you find your system's CGI.pm and grep for +>>>>> "VERSION" in it to determine the version? I checked debian stable. +>>>>> and its perl 5.8.8 has version 3.15, so is not affected, I think. + +>>>>>> I have CGI.pm 3.15 too: + +>>>>>> $ grep VERSION= /usr/share/perl/5.8.8/CGI.pm +>>>>>> $CGI::VERSION='3.15'; + +>>>>> I've just checked in a fix that should work, can you test it? +>>>>> [diff](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=71f10579c00a8ddc20ada1a1efd33aac25a3da7e) --[[Joey]] + +>>>>>> I've patched `attachment.pm` module, but the bug still occurs. +>>>>>> However I can see a little progress. I changed invoking `error()` +>>>>>> subroutine like you showed me before and now Ikiwiki prints + +>>>>>> failed to get filehandle:test.txt ; file:sandbox/test.txt ; is ref: + +>>>>>> --[[Paweł|ptecza]] + +>>>>>>> Well then, your CGI.pm is somehow not behaving as its documentation +>>>>>>> describes, in two ways: +>>>>>>> 1. `upload()` is not returning a reference to the filehandle +>>>>>>> 2. The filename returned by `param("attachment")` is not also +>>>>>>> a file handle. +>>>>>>> That seems very broken. I can try to work around it some more +>>>>>>> though. I've checked in a second try at dealing with things, can +>>>>>>> you try it? --[[Joey]] + +>>>>>>>> Do you mean that [diff](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=66f35e30dcea03c631a293e2341771277543b4ae)? +>>>>>>>> If so, then it causes "Internal Server Error" for me: + +>>>>>>>> Can't use string ("test.txt") as a symbol ref while "strict refs" in use at /usr/share/perl5/IkiWiki/Plugin/attachment.pm line 144. + +>>>>>>>> I can rebuild Debian stable source package with CGI for Perl. Maybe it will help me? What do you think? --[[Paweł|ptecza]] + +>>>>>>>>> Silly thinko on my part, fixed that in git.. --[[Joey]] + +>>>>>>>>>> Thanks for the fix, Joey! Now CGI doesn't fails, but still no success with attaching file: + +>>>>>>>>>> failed to open : No such file or directory + +>>>>>>>>>> Do you have any another idea how to resolve that problem? I can try with rebuilding +>>>>>>>>>> package `perl-modules` if it's necessary in that situation. --[[Paweł|ptecza]] + The same message I can see in the Apache log file. There is also following warning: