Jump to content

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


Bluto

Recommended Posts

Posted

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:

Posted

@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.

Posted

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}

 

Posted
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.

Posted
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.

 

Posted

If that's your stance, might I suggest you ask your support ticket be escalated to Management? You're not likely to get any better response on these forums when it comes to how IPS offers support in your situation. 

Posted

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.

 

Posted
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 ?

Posted
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.

Posted
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:

Posted

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

Posted
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".

Posted

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.

Posted

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.

Posted

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}

 

Posted

@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}

 

Posted

@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.

Posted

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.

Archived

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

  • Recently Browsing   0 members

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