Receiving a segmentation error only for our idsite 7 which occurs while running the archive.sh script. I have tried everything that you have listed in the FAQ without anything that will work. Even point another server that was working for our pre-production to run the archive.sh script for the server receiving the segmentation error and received the error there as well. I think we can logically say that it is not PHP. Is it possible there is an issue with the database? maybe a corruption?
Piwik is written in an interpreted language with no pointers.
Segmentation faults are php bugs as these are caused by bad pointers, eg dereferencing null, garbage data, uninitialized memory, out of bounds, misalignment, poking to read-only segments, etc.
Try a newer php version and/or rebuilding php (eg with debug enabled, less aggressive optimization, etc).
We had exactly this same problem - but what makes it stranger is that it only lasted for about 8 hours. The archiver.sh script started throwing a segfault on site id #7 yesterday afternoon - seemingly out of nowhere - and only when trying to process data from 2011-08-26. Upgrading PHP and its associated libraries to 5.3.8 (using the RPMs from the Remi repo) made no difference whatsoever. Switching from MYSQLI to PDO and back again made no difference, either. We don’t use eAccelerator, APC, or any of those other modules that the segfault FAQ mentions.
And then, magically, when the archiver ran for the first time after midnight today (2011-08-27), everything just went back to normal.
Heisenbug? Cosmic rays? Who knows.
I checked our logs the other day and for a period of about 6 hours the archive.sh script runs and it is usually around or after midnight Central Time. Ours was occurring on idSite 1 the first day but ever since it is killed on idSite 7, finishes the daily then stops after that with a seg fault. Loaded the prior weeks DB before we had the issue and it is fine but if you want to keep using the latest DB it just magically starts working at midnight.
I shut down mysql but kept everything else running and ran the script and it worked with no errors. Obviously this is no solution but an interesting find.