Validation issue for updates

I have just had the following message from SG support, which is asking a question of theme.co support;

First I would like to mentioned that your experiment with the staging site worked properly as the staging websites are not cached.

I checked the Memcache service on the account to confirm that it works properly and no issues with it were found

Code:
jonat551@c21064 [~]# telnet localhost 20000
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
stats
STAT pid 45237
STAT uptime 32348
STAT time 1532598209
STAT version 1.4.15
STAT libevent 1.4.13-stable
STAT pointer_size 64
STAT rusage_user 1.072370
STAT rusage_system 3.565008
STAT curr_connections 5
STAT total_connections 895
STAT connection_structures 19
STAT reserved_fds 20
STAT cmd_get 69189
STAT cmd_set 36519
STAT cmd_flush 6
STAT cmd_touch 0
STAT get_hits 56518
STAT get_misses 12671
STAT delete_misses 32
STAT delete_hits 104
STAT incr_misses 0
STAT incr_hits 1
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0


I tried to stop the memcache, delete the object-cache.php file and the transient and the issue is still present, which makes me believe that the issue is not related to the Object Cache. Also if it was a server issue and the connections to the remote server are blocked, this would have not work on the staging site as well.

I also tested if from your hosting account there is connection to your Theme’s server and the connection is successfully. I was not able to recreate any 404 Error as mentioned by the developer

Code:
jonat551@c21064 [~]# curl -IL community.theme.co
HTTP/1.1 301 Moved Permanently
Date: Thu, 26 Jul 2018 09:57:31 GMT
Server: Apache/2.4.34 (cPanel) OpenSSL/1.0.2o mod_bwlimited/1.4
Location: https://theme.co/apex/
Content-Type: text/html; charset=iso-8859-1

HTTP/1.1 200 OK
Server: nginx/1.10.3 (Ubuntu)
Date: Thu, 26 Jul 2018 09:57:32 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Cache-Control: private, must-revalidate
pragma: no-cache
expires: -1
Set-Cookie: XSRF-TOKEN=eyJpdiI6InVjOUswOG02VCt1WDRSRFUrdlNzSmc9PSIsInZhbHVlIjoiNXJwdDlhZitmUVJpWEJtcVdOSlwvcFwveFhjRFh4ZG1QMWdScWdYa1ZxM0xPM1JKVmVTMTB5SkpCRW5SZHZKZEtkSmVPSitpXC8wMVRoczJaa24rcDJxelE9PSIsIm1hYyI6IjMxZDNhNGI5OWMxZjQwZGFjMjViODJmYzM1YTMzNjE3Njc5MWY5ZDM2OTg4YmI1MmFlM2JmNTU1ZWEwNTY0ODkifQ%3D%3D; expires=Thu, 26-Jul-2018 15:57:32 GMT; Max-Age=21600; path=/
Set-Cookie: laravel_session=eyJpdiI6IktkbEJQMnRibVZcLzgrNGJwdEdiS25nPT0iLCJ2YWx1ZSI6IkZMSmErY1NUTGxmNEU1alJRRVBvZDA3aDc1UVhTK2dxUE1iVXNaZkdHNG5UQm9HZzZkTWh0WHBkRENIcGw5KzZrS1FlRnpSamplZ1duVW9aZk42QTZBPT0iLCJtYWMiOiI0YjMxNjA2NmJlYjE0NzQ3ZDc5NDNlZmM4ZGNiZjI4ZmRmMzcxZjIwMThmM2FhYjRiNjI0MTc1YzBhOTAyYmY1In0%3D; expires=Thu, 26-Jul-2018 15:57:32 GMT; Max-Age=21600; path=/; HttpOnly

Please provide us with the exact command that he uses and the output where more information is available.

Looking forward to your update.

Great! Thanks for reaching out to them. I’m sorry you have to be the middleman but here’s some info that should help them. If you right click the little timestamp in the upper right corner of this reply you can copy the link address directly to this post.

My suspicion that the object cache was failing was based on taking these steps

  1. Install Transient Manager
  2. Clicking delete on update_themes
  3. Observing it didn’t actually delete. This means the theme doesn’t have a chance to repopulate it.

Take a look at this: https://www.jonathan-sainsbury.com/themeco-test.php

It simulates the network request from the site to our validation API. If you look at the code you can see that it takes the stored license key and makes a simple GET request using the WordPress wp_remote_get function. Notice that the output is correct and it is in fact able to retrieve updated theme information.

Here’s the code for reference:

<?php

require( dirname( __FILE__ ) . '/wp-load.php' );

echo '<pre>';

$license_key = get_option( 'x_product_validation_key', '' );
var_dump("License Found");

if ( $license_key ) {

  $uri = add_query_arg( array(
  	'siteurl'  => urlencode( home_url() ),
  ), 'https://theme.co/apex/api-v2/packages/' . trailingslashit( $license_key ) );

  $request = wp_remote_get( $uri, array( 'timeout' => 15 ) );
  var_dump($request['body'] ? $request['body'] : $request);

}

echo '</pre>';

Because we have this connectivity, it still looks like something isn’t quite right with transients. I’ve tested these steps on another site:

  1. Start with site not validated
  2. View update_themes transient. X does not supply a package.
  3. Validate site
  4. Delete update_themes transient.
  5. View update_themes transient. It will repopulate and now includes the X update package.

On this site we’re already validated (the license key is stored in the site) but it never allows the site to clear the update transient.

Thanks Alexander. You sound like your on the right problem, sorry don’t really understand what you’re talking about but can recognise that you are honing in on the issue. I have passed over the link to SG and will report any reply.

:sob:

Thank you for the update.

I read the ticket multiple times but I am still not sure how to recreate the issue on our end.

Can you please provide detailed, step-by-step instructions? Please use click-here, click-there style instructions.

Please excuse me if I am making you repeat yourself. It is clear that we are dealing with a complex issue that we never encountered before.

So we need to be absolutely sure that we understand the symptoms of the issue before working out a fix.

Looking forward to your reply.

Hi Mark,

First of all I want to mention that I understand that you are stuck in between to support systems and trying to make a sense out of this. But please consider that this is indeed nothing related to our theme and there is an issue with the installation regarding the transient cache which our lead developer already mentioned.

There is no step by step thing, @alexander mentioned the case in details. They can test that, whenever you try to clear the transient cache it does not clean it and that is why the theme cannot be validated.

I am afraid there is nothing we can do here and you either need to follow up the case with the hosting service and if they refuse to help you we strongly suggest that you think of changing the hosting service as this is a basic thing that they need to know and follow up.

Thank you for your understanding.

This is the reply from SG support, I do not understand what either of you are talking about to tell the truth or how to fix this. :anguished:

I have read the messages from theme.co team and to be honest, I am not seeing anything in the communication there that suggests particular server settings to be causing the issue. They state that transients are not being deleted, however - this is not something impacted by the server, it is content within the website’s database. Furthermore, as you have stated, the updates have been and currently are running properly on another SiteGround server, which would not be the case if our setup was preventing the functionality.

What I can suggest you is that we can manually clear the database transients, so you could check if that resolves the issue. Further, we can also completely disable all server level caching for your application, including the Memcached process. I am not really sure if that would provide a long-term solution in case the problem was caused by plugin interference in the first place, but it would be a step in spotting the actual issue.

I would also ask you to contact the theme developers and request them to provide you with exact details as to what particular server-level settings need adjusting - such as a particular caching mechanism or something PHP variables, so we could provide you with adequate assistance on the matter.

Hey Mark,

Based on the responses of SiteGround and our lead developer, @alexander, the issue is in your database. This is why SiteGround support could not make sense of the issue because it’s not server related. Alex has also provided details as to where the issue is.

The bottom line here is, the issue is most likely between the server and theme which is your (user) WordPress setup. Neither parties could help in this case because it’s something in your WordPress install. Specifically, the setup related to cached settings stored in the database.

Regretfully, digging into the database and your setup is not something that we can do. This does not happen in a standard WordPress setup so your issue is quite unique. Personally, this is the first time I encountered this case.

I’d recommend you hire a third party WordPress developer to help you with this. You can look into sites like UpWork or Fiverr.

Thank you for understanding.

This is another response I have just had from SG support;

I flushed all levels of caching and temporally disabled Memcached which stores information in wp-content/object-cache.php and deleted all transients via SSH and WP-CLI

Code:
jonat551@c21064 [~/public_html]# wp db export ~/jonat551_live_dots_20180729.sql
Success: Exported to ‘/home/jonat551/jonat551_live_dots_20180729.sql’.
jonat551@c21064 [~/public_html]# wp transient delete --all
Success: 21 transients deleted from the database.
Warning: Transients are stored in an external object cache, and this command only deletes those stored in the database. You must flush the cache to delete all transients.
jonat551@c21064 [~/public_html]# mv wp-content/object-cache.php wp-content/object-cache.php_TID2786510
jonat551@c21064 [~/public_html]# wp transient delete --all
Success: 7 transients deleted from the database.
jonat551@c21064 [~/public_html/wp-content]# wp cache flush
Success: The cache was flushed.

Unfortunately, still this message persist:

Code:
There is a new version of Cornerstone available. View version 3.2.5 details. Automatic update is unavailable for this plugin.

In this case definitely the theme’s developer has to review your website.

Hi Mark,

Thank you for sharing that with us. This proves that my colleague was right in the latest reply and this seems to be a database related issue.

There are two choices that you have:

  1. Continue the update process manually for the theme and Cornerstone.
  2. Hire a developer to check the database and find out the issue.

Thank you for your understanding.

Amazing, both SG and Theme.co have both ended up blaming each other for the problem and now it is a left that it is a database problem!

I fail to see how this could be a database problem, a database stores information and that is not corrupted. This seems like a cop out to me and very disappointing. :confounded:

Hi @Pixel8r,

If it’s due to the theme or our server then it will happen everywhere where it’s active. But it only happens to your specific setup, I see similar issues due to internal caching of the host and we couldn’t really solve it since we don’t have control over the host environment. Some fixes itself which maybe something changed in the environment where it runs to.

I would recommend trying it on another host and compare your setup. I’m not saying you move to another host, but just to confirm that it’s only happening on them.

Thanks for understanding.

The thing is I have a GoGeek account with SG, which has several X sites running on without any issue. I then also have a dedicated server for this one account, the one with the issue.

I guess a first step would be to try shift this site to the GoGeek account, as the X sites on there have zero issues.

Hey @Pixel8r,

We are not blaming SiteGround for this issue and based on their responses, they are not blaming us too. The troubleshooting efforts of both sides here lead to the conclusion that there might be something wrong with your database setup.

As I’ve said previously, that is not something both parties could investigate this is why we’re stuck in what seems to be like an endless misunderstanding.

We understand that this is disappointing but please understand that there are areas that we have no control over. This is why we kindly ask that you try our suggestions.

I hope you understand.

Update on this issue. I have moved this site from the cloud service at SG to my GoGeek shared service. The site is now loading nice and fast but the ongoing problem of Cornerstone saying that X needs validating is still there.

Could someone explain how I update Cornerstone manually as I can’t do automatic updates on this site.

Hello @Pixel8r,

Thanks for updating the thread.

You can manually update Cornerstone using FTP softwares like Filezilla. I suggest you to please take a look our update guide and scroll down to Manual Plugin Update Via FTP section. Please follow the steps mentioned in the same.

To get started with Filezilla, please take a look at following tutorial:

https://www.tipsandtricks-hq.com/how-to-use-filezilla-with-wordpress-8956

Thanks.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.