Support

Home Forums Event Espresso Premium Registration error after switching web hosts

Registration error after switching web hosts

Posted: April 14, 2020 at 6:44 am


PropertyNL PropertyNL

April 14, 2020 at 6:44 am

So basically we have the very same issue as stated here:
https://eventespresso.com/topic/an-error-has-occurred-your-form-data-could-not-be-applied-to-any-valid-reg/

“An error has occurred: Your form data could not be applied to any valid registrations. This can sometimes happen if too much time has been taken to complete the registration process. Please return to the Event List and reselect your tickets. If the problem continues, please contact the site administrator.”

Our provider Savvii.nl features server sided caching however they have of course set up the known pages for cache exclusion.

When an email gets sent, around 80 people visit the website continuously and it seems that at that point people get stuck with these registration errors.
We upgraded the amount of PHP workers to 10 but that doesn’t seem to do the trick.

Concerning plugin updates: We just updated all of our Event Espresso elements and are running 4.10.5.p (although there seems to be .6 just released).
But this issue has been there for a while. We used to work with WP Engine which never had this issue but the new provider we work with for quite some years now and the only thing they could think of were the PHP workers and caching, which are already set up appropriately.

There’s a lot of people emailing us they cannot register and it’s hard to simulate or reproduce this yourself. What can you guys think of?


PropertyNL PropertyNL

April 14, 2020 at 6:46 am

This reply has been marked as private.


Tony

  • Support Staff

April 14, 2020 at 7:32 am

Hi there,

Event Espresso uses transients so you could check with your host and see if they have object caching enabled.

What we’ve found is even if the critical pages are excluded from caching, the object caching changes the WordPress transients so they do not persist in the options table. This actually breaks Event Espresso because Event Espresso uses transients during the checkout.


PropertyNL PropertyNL

April 14, 2020 at 8:33 am

All right so what specific thing could I ask my host?


Tony

  • Support Staff

April 14, 2020 at 9:59 am

Apologies but I’m not really sure how to answer that other than above:

Event Espresso uses transients so you could check with your host and see if they have object caching enabled.

If they have object caching enabled, ask them to disable it on your site and see if it makes a difference.


PropertyNL PropertyNL

April 15, 2020 at 3:37 am

No problem, I now see your answer already inclued what to ask. 🙂
Now, my host tells me by default object caching is not used, unless there are caching plugins that use memcached. What else can cause the errors for all these people?


Tony

  • Support Staff

April 15, 2020 at 5:34 am

Ok, so the first question is, do you have any plugins that may be enabling Memcached? (Note, EE obviously does not)

The code that throws that error is this:

$registrations = $this->checkout->transaction->registrations($this->checkout->reg_cache_where_params);

if (empty($registrations)) {
    // Throw error
}

There is a check before the above to confirm $this->checkout->transaction is valid before doing the above so the query to pull in registrations is not returning any valid registrations.

Are you logging PHP errors on the site?

If so, have you checked for any errors around the same time users are reporting the issue?

If you aren’t logging errors, have your host set the site to log them so you can investigate further as if there’s an error being thrown you’ll need it.

If you are comfortable with FTP and PHP you could add some debug code to the above function to log the query and any errors returned from it, I can give you some details on doing that if you are comfortable doing so?


PropertyNL PropertyNL

April 15, 2020 at 9:43 am

This reply has been marked as private.


PropertyNL PropertyNL

April 15, 2020 at 9:46 am

Plugins
https://pasteboard.co/J3W1F7jG.jpg

Cron jobs
https://pasteboard.co/J3WfPg8.jpg


Tony

  • Support Staff

April 15, 2020 at 2:28 pm

The one plugin that stands out is NextGen gallery.

They had/have code in the plugin that wipes out all ‘expired’ transients from the DB every 15mins and that function would also wipe out EE’s transients (along with any others).

@josh posted on their forums a while back about this and apparently they fixed it:

https://wordpress.org/support/topic/deletes-other-plugins-transients-from-the-_options-table/

However, looking over the code for the plugin it looks like it will still clear all transients.

Try adding define('NGG_CRON_ENABLED', FALSE); to your site’s wp-config.php file and see if you get any more reports of the above after that.


PropertyNL PropertyNL

April 16, 2020 at 1:29 am

All right will try that!


PropertyNL PropertyNL

April 17, 2020 at 7:33 am

No luck yet, however I now tried myself, got the error and saw a notice appearing:

EE_SPCO_Reg_Step_Attendee_Information - process_reg_step - 913

Does that help?


Josh

  • Support Staff

April 17, 2020 at 9:15 am

I get this error screen on your site after loading up the registration page, then refreshing the page after some minutes:

https://slack-files.com/T02SY781D-F0121LUD82W-6e5cbc18d6

It seems sporadic. Can you check with your host to see if their caching mechanism has a garbage collection that also happens to wipe transients from the WordPress options table?


PropertyNL PropertyNL

April 20, 2020 at 6:15 am

They can confirm the server itself doesn’t do any garbage collecting on transients. If this happens then it should be coming from the site itself, they say.


Josh

  • Support Staff

April 20, 2020 at 11:08 am

This was mentioned earlier, you could look at the PHP error log from around the time the 80 people visited the website continuously and got registration errors.

The logs you had posted here were actually the access logs.


PropertyNL PropertyNL

April 21, 2020 at 5:29 am

So when I look at the PHP errors, a lot of them are warnings mentioning:
PHP Warning: session_start(): Cannot start session when headers already sent in /var/www/cominvestme-mone/wordpress/current/wp-content/plugins/espresso-multiple/espresso-multi-registration.php on line 77

I can send 2 full error logs with times of the email invite. What’s the best way I can upload these?


PropertyNL PropertyNL

April 21, 2020 at 8:27 am

Does this say anything to you or do you need more?


Tony

  • Support Staff

April 21, 2020 at 8:39 am

The above error would be from the EE3 Multi Event Registration add-on but our site uses EE4, so that plugin isn’t compatible with it.

If you go to Dashboard -> Plugins on the site, does it list:

Event Espresso – Multi Event Registration
(EE3’s add-on)

Or:

Event Espresso – MER – Multi Event Registration (EE 4.7.0+)
(EE4’s add-on)

Within that list?

Note, none of the EE3 add-ons work with EE4 and should be de-activated/removed from the site if using EE4.


Josh

  • Support Staff

April 21, 2020 at 8:44 am

The PHP Warning is from the EE3 Multi Event Registration plugin. That’s not actually a plugin that’s compatible with EE4 so you should deactivate and delete that plugin. You should also deactivate the Event Espresso – Permissions and Event Espresso – Social Media plugins, those are not compatible with EE4.

Are there any other warnings or errors logged at around 17:00 UTC yesterday?


PropertyNL PropertyNL

April 22, 2020 at 6:51 am

Not sure what happens as I don’t see my reply appearing. But thanks for the update.

These are the errors:
https://pastebin.com/fKnXcZC1


PropertyNL PropertyNL

April 22, 2020 at 6:52 am

We are running WP 5.4


PropertyNL PropertyNL

April 22, 2020 at 6:56 am

And FYI just removed the plugins and installed the correct MER one (just to be sure).


PropertyNL PropertyNL

April 22, 2020 at 7:01 am

I’m sorry for quadruple-posting but my client just noticed all failed registrations have in the email field: ‘No attached record’. Does this ring any other bell? Somehow there is a missing connection when people try to register…
See this:
https://ibb.co/XJsJ51z


Josh

  • Support Staff

April 22, 2020 at 8:00 am

The “No attached record” may also be abandoned registrations where someone started the registration but didn’t complete the registration form. Either that or they couldn’t complete the form because the session transient was for the current session couldn’t be found.

The way forward will be to find what’s removing the session transient and/or restarting the session prematurely, then making it stop doing that.


PropertyNL PropertyNL

April 24, 2020 at 12:26 am

It seems to happen a lot on Edge. While I’m figuring out how to test on Edge on my Mac (VM I guess), is this a possible cause we can look at?


Josh

  • Support Staff

April 24, 2020 at 8:51 am

Hi,

They make Edge for MacOS, you can download it here:

https://www.microsoft.com/edge

That said, I’m seeing the same issue on your site while using Firefox. I do not think this is a browser related issue. Nearly every time this issue has been reported it came down to an issue related to hosting or another plugin where the session transients were being wiped out at intervals. Like the way the NextGEN gallery plugin was clearing transients every 15 minutes. Or also the way some host’s caching mechanisms clear the transients out during garbage collection.


PropertyNL PropertyNL

April 24, 2020 at 10:19 am

It’s costing the client a lot of business now. They’re getting a lot of messages from prospects trying to register…
We’re now on 729 Incomplete registrations. Do we need the premium support so you guys can look into this better?

Looked around in several forums and I’ve installed the countdown timer and set the countdown to one hour:

add_filter( 
'FHEE__EE_Session__construct___lifespan', 
'ee_change_reg_time_limit' 
);
function ee_change_reg_time_limit() {
    return 2 * HOUR_IN_SECONDS;
}
add_filter( 
   'FHEE__registration_page_wrapper_template__display_time_limit', 
   '__return_true'
);

However before the timer runs out (in around 10 minutes), suddenly it says ‘Nothing in your event queue’.
I have the feeling we have to check completely turning off all cache on the website as a last resort. But please advise on the best route considering the above information. The only other option I see is for you guys to check into our site. As said, it’s costing them business so it has become an urgent issue.


PropertyNL PropertyNL

April 24, 2020 at 10:21 am

However before the timer runs out (in around 10 minutes), suddenly it says ‘Nothing in your event queue’.

I have to note: the message ‘Nothing in your event queue’ appeared after refreshing, which I did to check the session’s status (around the 10th minute).


Josh

  • Support Staff

April 24, 2020 at 10:55 am

In our experience, what we’ve seen time and again, is this is caused by something at the web server level. You’ve noted that this issue didn’t start until after switching to a new web host.

While the support token is an option, we have already looked at most of what we can look into. We’ve looked at plugins, and we’ve made recommendations there. We’ve looked at cron schedules and saw nothing other than the potential issue with NextGEN gallery, which shouldn’t be an issue if you’ve added the code to stop their transient cleanup script.

We could look at the database while a registration is in session and confirm whether the transients are being deleted. If we can confirm that they’re being deleted while a transaction is in session, it’s going to be up to the web host to make the necessary adjustments to the server to allow transients to persist. If they cannot make that adjustment, then the other option is move back to the other host (WPEngine) where this wasn’t a problem. Or another option would be to move on to another host that can allow session transients to maintain state.


PropertyNL PropertyNL

May 4, 2020 at 5:14 am

All right what host do you recommend?


Tony

  • Support Staff

May 4, 2020 at 8:04 am

May I ask why you moved away from WPEngine?

The reason I ask is they would be one of our recommended hosting platforms, so if you’ve moved away from them then recommendations from us may be of no use to you.


PropertyNL PropertyNL

May 5, 2020 at 8:57 am

I didn’t think it had a technical reason. We were managing two sites on WP Engine and were convinced by Dutch host Savvii to go there and hadn’t had any trouble with them (now running a VPS with 15 sites), except for this site with Event Espresso.
So it might be an option to return just for this site.


PropertyNL PropertyNL

May 5, 2020 at 8:59 am

This reply has been marked as private.


Tony

  • Support Staff

May 5, 2020 at 9:05 am

Yes, the second you submit the ticket selector (shown in a modal window on your site) a ‘incomplete’ registration will be created for each individual ticket submission.

Meaning if you select 2 tickets and click submit, 2 incomplete registrations will be created. As you step through the registration process, those registrations are updated.

You could also use functionality within the WP User add-on to achieve something similar within the checkout process.


PropertyNL PropertyNL

May 13, 2020 at 9:35 am

Hi Tony & Josh (and premium support), Not sure if this is the correct place to put this, but anyway.

So now we’re on a priority support token. There is a timeframe though. The client wants to do another send out no later than upcoming Monday 18th of May.
If we can’t find the cause by Friday end of day, we will be leaving Event Espresso (at least for now) and hop over to an Eventbrite page. This is because the client has received a lot of emails and complaints in the past so there’s no way they want to keep getting that.

While we’ve checked and tested A LOT meanwhile, no fix was found so I hope you guys can find the cause!


Tony

  • Support Staff

May 15, 2020 at 1:43 pm

Just note that here that I’ve been looking into this and replied directly via email to the support token.

If the cause can be found I’ll add some details here if possible for future searches.


PropertyNL PropertyNL

May 18, 2020 at 3:17 am

In the meantime we now get a 500 error when trying to enter the registration page. Have you changed anything by any chance?

See this: https://ibb.co/NnjZF8K


Tony

  • Support Staff

May 18, 2020 at 3:53 am

Hi there,

That looks like it’s from the code I added to log additional details if the error was thrown, however, I’m not sure why it was throwing the above error as it worked fine during my testing.

Has it now been removed from the site?


PropertyNL PropertyNL

May 22, 2020 at 7:59 am

Yeah we removed it. But this is it? No more ideas about it?
The only thing we can still do: We have someone who seemingly gets this error everytime so we’re going to get him on the phone and see what he does and what his setup is.


Tony

  • Support Staff

May 22, 2020 at 10:49 am

But this is it? No more ideas about it?

As mentioned in the email, if I can’t reproduce it, it’s really difficult to test/debug.

I’ve spent significantly longer than the 30mins a support token provides working through adding debugging to various sections of your site and it all checks out.

I’ve added registration in various browsers, added registrations and waited varying degrees of time before trying to process the registration to see if I can trigger the error and again, nothing.

The fact that it happens more often when the server is under load again points to something server-side otherwise, we’d be able to reproduce this at least sometimes but I can’t. But again, what that is, I have no idea because I can’t reproduce.

I don’t dispute that some users are getting the error, but unfortunately, the only thing we have to go on so far is a video of the error but that doesn’t really help when I can do exactly the same steps and get no error.

The only thing we can still do: We have someone who seemingly gets this error everytime so we’re going to get him on the phone and see what he does and what his setup is.

The video you sent me shows a user doing exactly the same as what I’ve been doing so I’m not sure how much that will help. I can add some additional logging back onto the site to log various details as he tries to register to see if sheds any light on the problem but again it may not and I’m sure your user will soon become frustrated as we try various angles (again this is why we need to be able to reproduce).

You must be logged in to reply to this support post. Sign In or Register for an Account

Support forum for Event Espresso 3 and Event Espresso 4.
Documentation for EE3 and EE4
Documentation for Event Espresso 3 Documentation for Event Espresso 4

Status: publish

Updated by  Tony 4 days, 18 hours ago ago

Topic Tags

Notifications

This topic is: not resolved
Do NOT follow this link or you will be banned from the site!