]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - doc/bugs/attachment:_failed_to_get_filehandle.mdwn
web commit by http://ptecza.myopenid.com/: * Debugging again
[git.ikiwiki.info.git] / doc / bugs / attachment:_failed_to_get_filehandle.mdwn
1 I can't add any attachment to my wiki. When I select file using "Browse"
2 button and click "Upload Attachment", then `ikiwiki.cgi` file displays
3 the error message like below:
5     Błąd: failed to get filehandle
7 > Can you do some debugging? If you edit attachment.pm line 136, to print
8 > out what it did get, and show me what that yields, maybe I can figure
9 > this out.
11         error("failed to get filehandle ($fh)");
13 >> Sure. I've done the change and it seems that $fh variable is undefined:
15 >>     Use of uninitialized value in concatenation (.) or string at /usr/share/perl5/IkiWiki/Plugin/attachment.pm line 135.
16 >>     failed to get filehandle ()
18 > Also, what web server and version of perl is this? --[[Joey]]
20 >> It's Apache2 2.2.8-1ubuntu0.3 and Perl 5.8.8-12 from Ubuntu Hardy. --[[Paweł|ptecza]]
22 >>> Hmm, is your CGI.pm perhaps creating the attachment temp file, but
23 >>> not providing an open filehandle to it via the `upload` method?
24 >>> Change the debugging line to this: --[[Joey]]
26         error("failed to get filehandle:$fh ; file:$filename ; is ref:".ref($q->param('attachment')));
28 >>>> Now my Ikiwiki returns:
30 >>>>     failed to get filehandle: ; file:sandbox/test.txt ; is ref:
32 >>>> Is it helpful for you? --[[Paweł|ptecza]]
34 >>>>> Yes, this suggests that CGI.pm's `upload` function is not working,
35 >>>>> but that it *is* returning a filehandle pointing at the attachment
36 >>>>> using the old method. Hmm, so I'll bet you have a CGI.pm version
37 >>>>> older than 2.47. Can you find your system's CGI.pm and grep for
38 >>>>> "VERSION" in it to determine the version? I checked debian stable.
39 >>>>> and its perl 5.8.8 has version 3.15, so is not affected, I think.
41 >>>>>> I have CGI.pm 3.15 too: 
43 >>>>>>     $ grep VERSION= /usr/share/perl/5.8.8/CGI.pm
44 >>>>>>     $CGI::VERSION='3.15';
46 >>>>> I've just checked in a fix that should work, can you test it?
47 >>>>> [diff](http://git.ikiwiki.info/?p=ikiwiki;a=commitdiff;h=71f10579c00a8ddc20ada1a1efd33aac25a3da7e) --[[Joey]]
49 >>>>>> I've patched `attachment.pm` module, but the bug still occurs.
50 >>>>>> However I can see a little progress. I changed invoking `error()`
51 >>>>>> subroutine like you showed me before and now Ikiwiki prints
53 >>>>>>     failed to get filehandle:test.txt ; file:sandbox/test.txt ; is ref:
55 >>>>>> --[[Paweł|ptecza]]
57 The same message I can see in the Apache log file. There is also
58 following warning:
60     Use of uninitialized value in length at /usr/share/perl5/IkiWiki/Plugin/attachment.pm line 36.
62 > This is unrelated, I've fixed the warning message. --[[Joey]]
64 Is it Ikiwiki bug or my attachment plugin is misconfigured? --[[Paweł|ptecza]]
66 > Joey, please fix the colon in page name of my report. [...]
68 >> Moved to [[colon:problem]] --[[Joey]]