Jump to content

Error: Class name must be a valid object or a string


Bluto

Recommended Posts

Anyone get this error?  My forum is littered with this error.  Error is generally triggered by guests, but I have seen a few times which a member has triggered the error.

I'm using elastic search, but the error also appears when using MySql.  Rebuilding the search index seems to solve the problem for awhile.

Error: Class name must be a valid object or a string (0)
#0 /home/nginx/domains/xxx/public/system/Content/Search/Results.php(284): IPS\Content\Search\_Results->current()
#1 [internal function]: IPS\Content\Search\_Results->current()
#2 /home/nginx/domains/xxx/public/system/Content/Search/Results.php(391): iterator_to_array(Object(IPS\Content\Search\Results))
#3 /home/nginx/domains/xxx/public/applications/core/modules/front/discover/streams.php(366): IPS\Content\Search\_Results->addExtraItems(Array, NULL, NULL, NULL)
#4 /home/nginx/domains/xxx/public/system/Dispatcher/Controller.php(96): IPS\core\modules\front\discover\_streams->manage()
#5 /home/nginx/domains/xxx/public/applications/core/modules/front/discover/streams.php(51): IPS\Dispatcher\_Controller->execute()
#6 /home/nginx/domains/xxx/public/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\front\discover\_streams->execute()
#7 /home/nginx/domains/xxx/public/index.php(13): IPS\_Dispatcher->run()
#8 {main}
#0 /home/nginx/domains/xxx/public/init.php(537): IPS\_Log::log('Error: Class na...', 'uncaught_except...')
#1 [internal function]: IPS\IPS::exceptionHandler(Object(Error))
#2 {main}

Any help would be much appreciated.  :smile:

Link to comment
Share on other sites

@bfarber I do appreciate you responding, but I've already re-built the search index multiple times (actually multiple times a day). 

I did put in a support ticket, but since you guys don't do keys, and I adhere to standard security practices...

I'd be happy with just some basic support - some ideas what it might be.  I guess no one else is experiencing this issue.

Link to comment
Share on other sites

Here is one a user got.  The template hasn't been touched.

Error: Class name must be a valid object or a string in /home/nginx/domains/xxx.com/public/system/Content/Search/Results.php:264
Stack trace:
#0 /home/nginx/domains/xxx.com/public/system/Content/Search/Results.php(284): IPS\Content\Search\_Results->current()
#1 /home/nginx/domains/xxx.com/public/system/Theme/Theme.php(824) : eval()'d code(2373): IPS\Content\Search\_Results->current()
#2 /home/nginx/domains/xxx.com/public/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_core_front_streams->streamItems(Object(IPS\Content\Search\Results), true, 'last_comment', 'expanded')
#3 /home/nginx/domains/xxx.com/public/system/Theme/Theme.php(824) : eval()'d code(2323): IPS\Theme\_SandboxedTemplate->__call('streamItems', Array)
#4 /home/nginx/domains/xxx.com/public/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_core_front_streams->stream(Object(IPS\core\Stream), Object(IPS\Content\Search\Results), false, true, 'last_comment', 'expanded')
#5 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(442): IPS\Theme\_SandboxedTemplate->__call('stream', Array)
#6 /home/nginx/domains/xxx.com/public/system/Dispatcher/Controller.php(96): IPS\core\modules\front\discover\_streams->manage()
#7 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(51): IPS\Dispatcher\_Controller->execute()
#8 /home/nginx/domains/xxx.com/public/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\front\discover\_streams->execute()
#9 /home/nginx/domains/xxx.com/public/index.php(13): IPS\_Dispatcher->run()
#10 {main}
#0 /home/nginx/domains/xxx.com/public/system/Theme/SandboxedTemplate.php(68): IPS\_Log::log(Object(Error), 'template_error')
#1 /home/nginx/domains/xxx.com/public/system/Theme/Theme.php(824) : eval()'d code(2323): IPS\Theme\_SandboxedTemplate->__call('streamItems', Array)
#2 /home/nginx/domains/xxx.com/public/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_core_front_streams->stream(Object(IPS\core\Stream), Object(IPS\Content\Search\Results), false, true, 'last_comment', 'expanded')
#3 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(442): IPS\Theme\_SandboxedTemplate->__call('stream', Array)
#4 /home/nginx/domains/xxx.com/public/system/Dispatcher/Controller.php(96): IPS\core\modules\front\discover\_streams->manage()
#5 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(51): IPS\Dispatcher\_Controller->execute()
#6 /home/nginx/domains/xxx.com/public/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\front\discover\_streams->execute()
#7 /home/nginx/domains/xxx.com/public/index.php(13): IPS\_Dispatcher->run()
#8 {main}

 

Link to comment
Share on other sites

1 hour ago, Bluto said:

I did put in a support ticket, but since you guys don't do keys, and I adhere to standard security practices...

As has been suggested in the past, allow the IPS owned IP's, they'll provide them to you in a ticket, bypass key auth.

Link to comment
Share on other sites

8 minutes ago, Aiwa said:

As has been suggested in the past, allow the IPS owned IP's, they'll provide them to you in a ticket, bypass key auth.

I appreciate the suggestion, but I'd think as a customer with 5 licenses they'd extend a key to me so that they can resolve this issue and be done with it.

It takes 10 seconds to make a key which I'll delete after things are finished.  

I don't think that's a lot of ask from a business which I've spent $$$$ with.

 

Link to comment
Share on other sites

I've really done all I can.

1.  I opened up a support ticket (which I ended up closing when it the resolution was to lessen my security and it was obvious I wasn't going to get support).

2.  I posted a thread about keys in the feedback section (see above).

3.  I made another thread seeking help from the community. (this thread)

I highly doubt @Lindy or @Charles or @Matt will be able to help me... I've already read all the stock responses.

I even said I'd pay a fee to have the key as an option!!!!

Don't get me wrong, I like the software and all the people who work for IPS.  But after 3 threads and a support ticket, you'd think I get a dam key.  I'm not lessening my security for anyone, not even for GOD.

Oh, well.

 

Link to comment
Share on other sites

3 minutes ago, Bluto said:

I've really done all I can.

1.  I opened up a support ticket (which I ended up closing when it the resolution was to lessen my security and it was obvious I wasn't going to get support).

2.  I posted a thread about keys in the feedback section (see above).

3.  I made another thread seeking help from the community. (this thread)

I highly doubt @Lindy or @Charles or @Matt will be able to help me... I've already read all the stock responses.

 

Why can't change the security side ?? for what maybe few hours ?

Link to comment
Share on other sites

5 minutes ago, Pete T said:

Why can't change the security side ?? for what maybe few hours ?

I appreciate your response, but I've already went over why, multiple times.  If you want to talk about the keys, the other thread is where to do that.

I'm reaching out to the community, in this thread, trying to seek help from the community for the issue I'm having.

Link to comment
Share on other sites

12 minutes ago, Adlago said:

Maybe if you share a link to your community, some test can find your issue.

Thanks for the offer to help, I do appreciate it! 

I'm not comfortable sharing the community.

Hopefully, I can hire someone to fix this.  :sad:

Link to comment
Share on other sites

2 minutes ago, Adlago said:

Try searching for different characters, for example

$,%, ^,*,@, '  etc.
It is possible, if there is a symbol, to ask you a issue.
Now I have found that in my community if there is a symbol "#" in search, the search does not start

All those (the one's I tried) are coming up as "Found 0 Results".

Link to comment
Share on other sites

I've been watching my activity feed all day waiting for the error to happen.  Finally caught it.

Not sure if this is because of @onlyME Videobox, so I'll include him on this because there error came up on a Videobox entry in the Activity feed.

Tested as a Guest looking at the link /discover.  I'm using Elasticsearch, but I have gotten the error with MySQL in the past.

Here are the steps:

1.  Visit activity feed, top entry is a video from Videobox which has a title containing "06.11.2018" (video is coming in video YT import plugin).

2.  Activity feed shows up fine.  When clicking the "Load More Activity" an error modal pops up and the spinner keeps spinning.  You have to refresh the page, once you do the page appears again, rinse and repeat (load more activity, spinner, reload).

3.  I proceeded to hide the video from #1.

4.  Rebuilt the search index.  Once complete Activity Stream worked as expected.

5.  I then proceeded to un-hide the video from #1.

6.  When un-hiden, the video shows up with date changed in the title: from "06.11.2018" to "06/11/2018" (periods removed same video url).

Not sure what is going on, but it appears that the something doesn't like periods or the conversion isn't happening when it should or something???

 

Edit:

Not sure the above is the issue.  Seems there were 2 videos imported with the same but different names.  It appears that the video with periods still exists.

Link to comment
Share on other sites

Try adding this to constants.php:

define( 'DEBUG_LOG', true );

Then trigger the error again or wait for it to happen, and see if there's a debug log (in your regular system logs) explaining the issue.

There's a specific instance in the search results iterator that can try to skip to the next option if a search result data is broken, which may be triggering your issue.

Or, alternatively, a third party application that is not set up 100% correctly (but is integrated with search) could also do this.

Link to comment
Share on other sites

Getting a ton of stuff on the system log.  

Issue hasn't happened yet, but this is what I'm getting right now from guests.

 


------------------------------------
cURL REQUEST: http://localhost:9200/contentstuff/_search
------------------------------------

NULL

------------------------------------
RESPONSE
------------------------------------

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 134

{"took":0,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}
#0 /home/nginx/domains/xxx.com/public/system/Log/Log.php(176): IPS\_Log::log('\n\n-------------...', 'request')
#1 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(377): IPS\_Log::debug('\n\n-------------...', 'request')
#2 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(407): IPS\Http\Request\_Curl->_execute()
#3 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(283): IPS\Http\Request\_Curl->_executeAndFollowRedirects('GET', NULL)
#4 /home/nginx/domains/xxx.com/public/system/Content/Search/Elastic/Query.php(1062): IPS\Http\Request\_Curl->get('{"query":{"bool...')
#5 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(346): IPS\Content\Search\Elastic\_Query->search(NULL, NULL, 17)
#6 /home/nginx/domains/xxx.com/public/system/Dispatcher/Controller.php(96): IPS\core\modules\front\discover\_streams->manage()
#7 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(51): IPS\Dispatcher\_Controller->execute()
#8 /home/nginx/domains/xxx.com/public/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\front\discover\_streams->execute()
#9 /home/nginx/domains/xxx.com/public/index.php(13): IPS\_Dispatcher->run()
#10 {main}

 

Link to comment
Share on other sites

@onlyME got this one for videobox. error on /discover.  The error below isn't triggering the issue with the streams (where I have to re-build the search) but nevertheless wanted to post the info.

index_item_id ID 160849 for IPS\videobox\Video has no itemData
#0 /home/nginx/domains/xxx.com/public/system/Log/Log.php(176): IPS\_Log::log('index_item_id I...', 'searchResults')
#1 /home/nginx/domains/xxx.com/public/system/Content/Search/Results.php(282): IPS\_Log::debug('index_item_id I...', 'searchResults')
#2 [internal function]: IPS\Content\Search\_Results->current()
#3 /home/nginx/domains/xxx.com/public/system/Content/Search/Results.php(391): iterator_to_array(Object(IPS\Content\Search\Results))
#4 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(366): IPS\Content\Search\_Results->addExtraItems(Array, NULL, NULL, NULL)
#5 /home/nginx/domains/xxx.com/public/system/Dispatcher/Controller.php(96): IPS\core\modules\front\discover\_streams->manage()
#6 /home/nginx/domains/xxx.com/public/applications/core/modules/front/discover/streams.php(51): IPS\Dispatcher\_Controller->execute()
#7 /home/nginx/domains/xxx.com/public/system/Dispatcher/Dispatcher.php(146): IPS\core\modules\front\discover\_streams->execute()
#8 /home/nginx/domains/xx.com/public/index.php(13): IPS\_Dispatcher->run()
#9 {main}

 

Link to comment
Share on other sites

@bfarber this error is triggered by a guest on discover/


------------------------------------
cURL REQUEST: https://invisionpowerdiagnostics.com
------------------------------------

array (
  'version' => 103039,
  'class' => 'Error',
  'message' => 'Class name must be a valid object or a string',
  'code' => 0,
  'file' => '/system/Content/Search/Results.php',
  'line' => 264,
  'backtrace' => '#0 /system/Content/Search/Results.php(284): IPS\\Content\\Search\\_Results->current()
#1 /system/Content/Search/Results.php(284): IPS\\Content\\Search\\_Results->current()
#2 /system/Content/Search/Results.php(284): IPS\\Content\\Search\\_Results->current()
#3 /system/Content/Search/Results.php(284): IPS\\Content\\Search\\_Results->current()
#4 [internal function]: IPS\\Content\\Search\\_Results->current()
#5 /system/Content/Search/Results.php(391): iterator_to_array(Object(IPS\\Content\\Search\\Results))
#6 /applications/core/modules/front/discover/streams.php(366): IPS\\Content\\Search\\_Results->addExtraItems(Array, NULL, Object(IPS\\DateTime), NULL)
#7 /system/Dispatcher/Controller.php(96): IPS\\core\\modules\\front\\discover\\_streams->manage()
#8 /applications/core/modules/front/discover/streams.php(51): IPS\\Dispatcher\\_Controller->execute()
#9 /system/Dispatcher/Dispatcher.php(146): IPS\\core\\modules\\front\\discover\\_streams->execute()
#10 /index.php(13): IPS\\_Dispatcher->run()
#11 {main}',
)

------------------------------------
RESPONSE
------------------------------------

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 16
Connection: keep-alive
Date: Tue, 06 Nov 2018 16:03:08 GMT
Server: Apache/2.4.34 (Amazon) OpenSSL/1.0.2k-fips PHP/7.0.32
X-Powered-By: PHP/7.0.32
X-Cache: Miss from cloudfront
Via: 1.1 87a01244684ed0c627925ef48431f67f.cloudfront.net (CloudFront)
X-Amz-Cf-Id: GWLgc3AN5kc1iechn5IZ4YSqtYAPgEQouPU_6Ue_Rhl5N_69cFNWpA==

Report Accepted.
#0 /home/nginx/domains/xxx.com/public/system/Log/Log.php(176): IPS\_Log::log('\n\n-------------...', 'request')
#1 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(377): IPS\_Log::debug('\n\n-------------...', 'request')
#2 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(407): IPS\Http\Request\_Curl->_execute()
#3 /home/nginx/domains/xxx.com/public/system/Http/Request/Curl.php(302): IPS\Http\Request\_Curl->_executeAndFollowRedirects('POST', Array)
#4 /home/nginx/domains/xxx.com/public/init.php(608): IPS\Http\Request\_Curl->post(Array)
#5 /home/nginx/domains/xxx.com/public/init.php(554): IPS\IPS::reportExceptionToIPS(Object(Error))
#6 [internal function]: IPS\IPS::exceptionHandler(Object(Error))
#7 {main}

 

Activity is now returning EX0 for everyone.

Rebuilt the search, now working again.

Never got the full on EX0 error before.  It always showed the first page and then errored out when clicking the more button at the bottom.

Link to comment
Share on other sites

It appears to me (I could be totally wrong) that when the invisionpowerdiagnostics.com curl request error comes up (uncaught_exception below), it crashes the whole Activity page. 

That didn't happen before.

536200432_Screenshotfrom2018-11-0611-25-43.thumb.png.01a1a8d6baba611a9bb188e0c312fbe7.png

 

Turning off Videobox and YT import and rebuilding search index.  We'll see what happens.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...