Invision Community 4: SEO, prepare for v5 and dormant account notifications By Matt Monday at 02:04 PM
Bluto Posted November 2, 2018 Posted November 2, 2018 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.
bfarber Posted November 5, 2018 Posted November 5, 2018 Rebuilding your search index will likely resolve the error, or you can submit a ticket so we can take a look.
Bluto Posted November 5, 2018 Author Posted November 5, 2018 @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.
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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}
Bluto Posted November 5, 2018 Author Posted November 5, 2018 Maybe I can pay 3rd party to actually get some secure support. LOL!
Aiwa Posted November 5, 2018 Posted November 5, 2018 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.
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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.
Aiwa Posted November 5, 2018 Posted November 5, 2018 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.
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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.
Pete T Posted November 5, 2018 Posted November 5, 2018 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 ?
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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.
Adlago Posted November 5, 2018 Posted November 5, 2018 Maybe if you share a link to your community, some test can find your issue.
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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.
Adlago Posted November 5, 2018 Posted November 5, 2018 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
Bluto Posted November 5, 2018 Author Posted November 5, 2018 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".
Bluto Posted November 6, 2018 Author Posted November 6, 2018 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.
onlyME Posted November 6, 2018 Posted November 6, 2018 @Bluto I can not reproduce this problem. Did you try to disable my app, then rebuild search index and test?
bfarber Posted November 6, 2018 Posted November 6, 2018 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.
Bluto Posted November 6, 2018 Author Posted November 6, 2018 @onlyME and @bfarber thanks for the suggestions. I'll get back to you with what I find.
Bluto Posted November 6, 2018 Author Posted November 6, 2018 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}
Bluto Posted November 6, 2018 Author Posted November 6, 2018 @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}
onlyME Posted November 6, 2018 Posted November 6, 2018 @Bluto Thank you for your report, I will fix it asap.
Bluto Posted November 6, 2018 Author Posted November 6, 2018 @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.
Bluto Posted November 6, 2018 Author Posted November 6, 2018 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. Turning off Videobox and YT import and rebuilding search index. We'll see what happens.
onlyME Posted November 6, 2018 Posted November 6, 2018 How about it now? I'm trying to fix but can not reproduce it.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.