nextcloud / fulltextsearch

🔍 Core of the full-text search framework for Nextcloud
https://apps.nextcloud.com/apps/fulltextsearch
GNU Affero General Public License v3.0
215 stars 51 forks source link

NC29:Fulltextsearch live crash #849

Open prolibre opened 3 months ago

prolibre commented 3 months ago

Running Nextcloud 29.0.3.4

Several times I have had this error (which caused my fulltextsearch:live service to crash) :

Error: Typed property OC\FullTextSearch\Model\IndexDocument::$access must not be accessed before initialization in /nextcloud/lib/private/FullTextSearch/Model/IndexDocument.php:775

Several times I managed to fix the problem with a simple fulltextsearch:index but on the last crash it didn't work.

It looks a lot like https://github.com/nextcloud/fulltextsearch_elasticsearch/issues/375

To correct the problem I commented this (line 775 of the file /nextcloud/lib/private/FullTextSearch/Model/IndexDocument.php)

public function jsonSerialize(): array { return [ 'id' => $this->getId(), 'providerId' => $this->getProviderId(), #'access' => $this->access, 'modifiedTime' => $this->getModifiedTime(), 'title' => $this->getTitle(), 'link' => $this->getLink(), 'index' => $this->index, 'source' => $this->getSource(), 'info' => $this->getInfoAll(), 'hash' => $this->getHash(), 'contentSize' => $this->getContentSize(), 'tags' => $this->getTags(), 'metatags' => $this->getMetaTags(), 'subtags' => $this->getSubTags(), 'more' => $this->getMore(), 'excerpts' => $this->getExcerpts(), 'score' => $this->getScore() ]; }

After correction, everything seems OK.

XueSheng-GIT commented 3 months ago

I had the same issue on a testing instance running NC 29.0.4. Issue occured after I deleted a user. It seems that :live process crashed because fulltextsearch tries to update files of that user which does not exist anymore. I had to :reset and :index again to solve the issue.