Go Back   vb.org Archive > Community Discussions > Forum and Server Management
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 05-12-2017, 04:49 AM
boxingscene boxingscene is offline
 
Join Date: Sep 2004
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Registration Bug, Unsure of The Fix

I've experienced this issue, on and off, for years.

I would estimate it happens to a handful of users out of every 30 registrations.

When users attempt to register they get the following error during the final step.

Fatal error: Existing data passed is not an array
Called set_existing in [path]/register.php on line 421
in [path]/includes/class_dm.php on line 235

From what I can tell, the user gets added to the database, but he never receives the email to confirm his email and we never get the email to advise of their registration.

I'm on Vbulletin 3.8x.

From what I found, this issue was even happening on VB 4.X. It appears to affect sites that use a slave/master combo.

VB staff solved this bug, in the following thread, but for 4.X.

http://tracker.vbulletin.com/browse/VBIV-10812

It's an issue when the functions.php does a call to the slave and that error comes (if I understand it right) because the info for the new user is not there yet on the slave.

Unsure of how to apply the fix to 3.X.
Reply With Quote
  #2  
Old 05-12-2017, 10:18 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The fix (as applied to vB4) requires two files to be edited.

Its a shame you didnt raise this a week ago, I could have fitted it into 3.8.11, too late now.

A simpler fix is the one listed in the Jira you linked to.
That fix does, however, mean you would always read userinfo from the master, somewhat defeating the purpose of a slave.
Reply With Quote
  #3  
Old 05-12-2017, 02:42 PM
boxingscene boxingscene is offline
 
Join Date: Sep 2004
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
The fix (as applied to vB4) requires two files to be edited.

Its a shame you didnt raise this a week ago, I could have fitted it into 3.8.11, too late now.

A simpler fix is the one listed in the Jira you linked to.
That fix does, however, mean you would always read userinfo from the master, somewhat defeating the purpose of a slave.
We also use a caching server as well.

How damaging would that fix be in terms of server load on the master? does threads/posts still get read from the slave?

--------------- Added [DATE]1494610398[/DATE] at [TIME]1494610398[/TIME] ---------------

Is there way to code it to where it would only query the master when the current script is the registration page, but uses the slave query for everything else. That way it should have no significant impact on the server.

--------------- Added [DATE]1494622018[/DATE] at [TIME]1494622018[/TIME] ---------------

Quote:
Originally Posted by Paul M View Post
The fix (as applied to vB4) requires two files to be edited.

Its a shame you didnt raise this a week ago, I could have fitted it into 3.8.11, too late now.

A simpler fix is the one listed in the Jira you linked to.
That fix does, however, mean you would always read userinfo from the master, somewhat defeating the purpose of a slave.
What this be sufficient?

if(THIS_SCRIPT == 'register'){
$user = $vbulletin->db->query_first($query);
}else{
$user = $vbulletin->db->query_first_slave($query);
}
Reply With Quote
  #4  
Old 05-12-2017, 07:23 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by boxingscene View Post
Is there way to code it to where it would only query the master when the current script is the registration page, but uses the slave query for everything else. That way it should have no significant impact on the server.
Thats precisely what the actual fix does.


I dont know if your code would work, I suggest you just test it on your test site.

(you have a test site, right ?)
Reply With Quote
  #5  
Old 05-12-2017, 07:31 PM
boxingscene boxingscene is offline
 
Join Date: Sep 2004
Posts: 123
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Paul M View Post
Thats precisely what the actual fix does.


I dont know if your code would work, I suggest you just test it on your test site.

(you have a test site, right ?)
No test site, I usually set up a test site when it comes to the manipulating the database - since it's close to 30 gigs and I always do backups.

But I had a VB coder with experience do the coding to patch the functions.php file with a workaround (which is where I got that piece of code from).

I uploaded the patched functions.php file and in the last hour there appears to be no errors (at least additional errors to what I'm experiencing).

Several registrations and none of them have received that error, but too early to tell if the problem is solved as it doesn't always happen.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:22 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03655 seconds
  • Memory Usage 2,208KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete