I am having a problem with ikiwiki on an armel processor based machine running 32 bit debian squeeze. I first installed the ikiwiki deb from the repos and realized there was a problem uploading images. I downloaded the latest version of ikiwiki from the git repo and made sure I had all of the necessary dependencies and libraries. Make doesn't seem to complain about anything being missing and make test passes fine. I can create a new wiki and edit pages but anytime I try to upload an image it fails. I have the attachment plugin activated.And I added mimetype(image/*) and maxsize(5000kb) to the PageSpec field but that made no difference. I am able to successully add images to the appropriate folders manually via the command line and the commit them to git but I'd liekt o make it work through the web interface. Is there anything that I may have missed?
Edit: I just noticed that if I save the page anyway after the the javascript ui reports that the upload has failed, the file has in fact uploaded.
Saying "it fails" is not going to get the best help. If you can look in your web server's error.log file, or get a error message from somewhere else, you might get somewhere.
You might also check if the machine is running out of memory. It's quite likely that a POSTed attachment is all buffered in the web server's memory before ikiwiki gets ahold of it.
Sorry, "failed" is just the message ikwiki's web interface returns. Nginx's error logs don't seem to register anything when the "failure" occurs. I am not sure how to properly monitor what is happening with the web server's memory at the time of uploading but just watching htop I can see that the ikiwiki begins to use 100% if the cpu until the process stops but there doesn't seem to be much impact on the overall memory usage, seems to remain about half of available memory. I'm sorry if that is not helpful. If you can give me some pointers on where to look for more detailed information I can follow instructions.
What version are you running on squeeze? The version shipped with Debian stable does not have the javascript uploader.
There was a recent problem involving filenames with unicode characters that broke the javascript uploader as you describe, which was fixed in a recent release.
Your version already contains the unicode fix, which was commit 1572c3c376df36ea09e27a1ea437e3a75cdf0f84.
I think it's possible that the javascript file upload widget is timing out waiting for a response from ikiwiki when uploading the file. Since this is a slow CPU, it might exceed some limit in that code. At this point all I know is that the javascript file upload widget is setting an error flag, which is displayed as "failed!" in red. The next step is probably to get a http protocol analizer like firebug and see what if anything is being returned by the ikiwiki.cgi when the attachment is uploaded to it -- it should return some JSON with a
stored_msg
field.Ok... figured out how to use firebug, started the profile, and tried uploading an image. POST http://myserver/ikiwiki.cgi immediately turns red with a little X as I get the javascript "failed" message in the ui. In the post tab of firebug, halfway through the binary content of the png I can see the message "... Firebug request size limit has been reached by Firebug. ... "
So next I try uploading a tiny 3k image. This time the post completes and I can see "Error: Can't locate JSON.pm in @INC" in the output. A bit of googling tells me I need to install the libjson-perl package. Done.
I try and upload the tiny 3k image again. This time it works. I try and upload a 9k image and the POST just dies just like before with the "... Firebug request size limit has been reached by Firebug. ... " in the post tab.
So I tried changing the extensions.firebug.netDisplayedPostBodyLimit variable in firefox to see if that would me to get more info. Now the I don't get the request size limit message but the post still doesn't get anything back.
I decided to try some other http protocal analyzers. Firefox 10 internal webdeveloper tools don't give me any more info. Next I tried HttpFox and the only thing I get back is this... Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED)