owncloud-archive / search_lucene

The ownCloud search_lucene app
GNU Affero General Public License v3.0
18 stars 17 forks source link

Cron indexing errors #119

Open scolebrook opened 8 years ago

scolebrook commented 8 years ago

Steps to reproduce

Enable search_lucene app

Expected behavior

Cron.php should complete successfully without errors being emailed to root

Actual behaviour

We enabled the app (version 0.7.0) for the first time after our upgrade to 8.2.3 and we're getting errors back from cron. This is the cron output that gets sent by email, sometimes every 15 minutes (our sched for cron.php), sometimes many hours apart so it's clearly not having problems with every run. Must be dependent on the files it encounters during any particular run. There's two types of messages:

PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 21009223 bytes) in /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/tecnick.com/tcpdf/tcpdf_parser.php on line 632

PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 264237950 bytes) in /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/Filesystem.php on line 152

As you can see, I've increased the max memory for php to 512MB and it still gets exhausted.

The owncloud log is full of the following entries regardless of whether we get a message from cron or not.

Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:14 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} preg_match() expects parameter 2 to be string, array given at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Analysis/Analyzer/Common/Utf8Num.php#85 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341 Mar 21 08:19:18 rvavpapp05 ownCloud[31754]: {PHP} Array to string conversion at /var/www/html/owncloud-enterprise/apps/search_lucene/3rdparty/zendframework/zendsearch/library/ZendSearch/Lucene/Storage/File/AbstractFile.php#341

It looks like the app is passing something to these frameworks that it shouldn't.

This is with logs on info. Using the log.condition array in config.php, is it possible to get debug entries for cron jobs? If I put in the app name, will that work or do I need to do something else for cron jobs?

There have been hundreds of these emails since Friday night. It'd be good to get to the bottom of it so we can keep this app enabled.

Server configuration

Operating system: CentOS 6.7

Web server: Apache 2.2

Database: Percona XtraDB Cluster 5.6.latest

PHP version: 5.5.latest

ownCloud version: 8.2.3

NacreData commented 8 years ago

We were also having issues where cron indexing no longer works. The attached patch made cron indexing work for me, although the Zend-related errors noted above still occur. I imagine the next thing to do there might be to try updating the included Zend version?

Anyway, if this patch is at all helpful we could make it into a pull request, though movement on pull requests seems slow and I'm not sure how to help with that.

patch.txt