Date ranges besides Day don't return any data

This has been happening for a while now and I just finally realized it’s not supposed to.

If I go to the dashboard (or look at the iframe widgets I have set up on another site) and set the period to Day all of the widgets will fill with data and give accurate info. But if I set the period to anything else all of the widgets say “There is no data for this report”, except for the Visits Overview widget which has the correct sparklines but says 0 for visits, actions, etc.

I read the FAQ and went through the checklist so I know everything is set up and working properly.
Running version 1.1.1 with a LOT of sites set up in it. These issues may or may not be related:
-I’ve never been able to update automatically, always had to do manual.
-I’ve never been able to access the All Websites section, it always crashes Apache when I click on it.

re: other date periods. Check your php.ini memory_limit setting. You may need to increase this to allow archiving to complete.

re: automatic updates. This requires a combination of having writeable directory+file permissions (i.e., to create or overwrite), and the ability to establish outbound connections from your web server (which may be blocked/disabled by some hosts). An ftp account user that differs from the web server user is the most common source for permission problems.

re: All websites. Try setting the following in config/config.ini.php:


[General]
show_multisites_sparklines = 0

Thanks a lot for the tips. My responses below:

-The memory limit is 256M, that should be more than enough right? Total data size of my archives is ~140Mb. Also I’m pretty sure the archiving is working because I have it set up with the cron method and I tested it in the shell (takes a good 30-45min but it works).

-That’s ok, updating manually never bothered me, I just didn’t know if it meant I had something really wrong with my installation.

-The show_multisites_sparklines tip at least made it so that Apache doesn’t crash but now I just get a blank page after waiting a bit :-/

Make sure the execute (x) bit is set on the shell script. That seems to be a common problem with using archive.sh.

Your web server’s error.log may shed some light on the blank page. (If you’re waiting more than 30 seconds, it might help to increase PHP’s max execution time.)

Thanks for pointing that out…you’re right, the archive.sh file didn’t have execute permissions set. After running the script last night the issue seems to be gone (fingers crossed). I think the issue may have been that there are so many sites and I still had browser archive triggering set. Then when I set up the cron job the other day it wasn’t running because of the permissions.

As for the All Websites thing, I checked the server’s error_log in /usr/local/apache/logs and also the error_log in my Piwik install folder but neither have any recent errors. It isn’t timing out either, only takes about 10secs to load before it pulls up the blank page.

Alright, I spoke too soon…

The other day when I set up the cron job and tested the script through the shell it worked fine; it went through outputting everything it was doing. Now when I try the same command I get "Error: You can’t access this resource as it requires a ‘superuser’ access."
Also only some of the sites started displaying the correct info, not all of them.

This is in Apache’s error log a lot of times now:
[Thu Jan 27 03:21:45 2011] [warn-phpd] mmap cache can’t open
/home/xxx/public_html/xxx/analytics/tmp/cache/tracker/general.php - Permission denied (pid 21077)

Also ones like:
[Wed Jan 26 16:48:11 2011] [warn-phpd] mmap cache can’t open
/home/xxx/public_html/xxx/analytics/tmp/cache/tracker/1350.php - Permission denied (pid 17345)

Thanks a lot for your help!

Sorry, the “permission denied” errors don’t mean anything more than something didn’t have permission to read (or write to) the file. Piwik isn’t using mmap directly, so that particular warning is new to me. Are you using php-fpm or eaccelerator?

I’m not familiar with php-fpm or eaccelerator and I didn’t set up the server so I’m not sure about that or how I’d check if it’s installed. I changed the owner/permissions for all of the files in tmp/cache/tracker and I don’t get the permission error for the individual siteIDs anymore…but I still get it for general.php (which actually doesn’t even exist in that directory, is that a problem?)

As for the shell script I edited it and manually put in the superuser, password and token auth variables and now it runs fine. So strange because I just checked the config file to make sure everything is right in it and the file permissions are right. Not sure why it wasn’t pulling those vars from it.

Awesome, the script finally finished running after an hour+ and everything is displaying correctly now!

This may seem like a noob question…What happens if the script is still running when the cron job gets executed again? Does it get aborted and start over, or do they run concurrently? I set the cron tab to execute every other hour just in case.