Status
Not open for further replies.

furnival

Customer
My users are reporting getting an error message when trying to use the advanced reply feature in my forum.
Fatal error: Allowed memory size of **** bytes exhausted (tried to allocate 71 bytes) in forum/dbtech/thanks/includes/class_core.php on line 1442

As background I downloaded and hotfixed the latest version of class_core.php and thanks.js yesterday. I guess I should go back to the earlier version of class_core.php but I hope this will not cause problems with the new version of thanks.js.

Anyway I wanted to make you all aware of this error. Thanks.
 
I can't advise you on whether this is a legitimate bug or a misconfiguration of your server because you blotted out the number of bytes your server allows.

Reverting class_cache.php will most likely cause the issue you reported to reappear.
 
My dedicated server has a very high memory allowance. Did you mean to say reverting class_core.php? I have not changed class_cache.php from the oiriginal v3.0.3 release.

I can't advise you on whether this is a legitimate bug or a misconfiguration of your server because you blotted out the number of bytes your server allows.

Reverting class_cache.php will most likely cause the issue you reported to reappear.
 
Yeah, I meant class_core.php, sorry.

On our server, the memory allowance is 128MB and we're not experiencing this issue. The line in question is an attempt to generate an array from what I can only imagine is a massive set of data from the server - the changes made recently to class_core.php are 100% irrelevant to this error message.

There's a couple of possibilities, if your memory allocation is 128M or higher:
1. Some other modification on your forum may be storing a large amount of data in memory, so that when it came time for APTL's needs, it fails.
2. There's a mis-configured query somewhere in APTL that's causing it to retrieve too much data.

Can you be more specific what you mean when you say "use the advanced reply"?
Do you mean when they click "Go Advanced", or do you mean when they actually submit the post via the "Go Advanced" page?
 
Can you be more specific what you mean when you say "use the advanced reply"?
Do you mean when they click "Go Advanced", or do you mean when they actually submit the post via the "Go Advanced" page?
It happens when they click "go advanced".

[On edit: actually my allocated memory was 128Mb, but have raised it 30Mb to be on the safe side.] I haven't had any more reports of this error today yet so it might have been a one-off.
 
Last edited:
I've identified and fixed a performance issue with that page, but I'm not sure if that will fix this issue. It sort of falls under #2 from my previous post.

The two affected files are:
- /dbtech/thanks/hooks/newreply_form_reviewbit.php <-- relevant one to the "Go Advanced" page, it's the handler code for the list of previous posts in the thread below the post form.
- /dbtech/thanks/hooks/printthread_post.php


Does the thread(s) your users reported this happening on have a lot of button clicks? Like, tens of thousands?
 
Does the thread(s) your users reported this happening on have a lot of button clicks? Like, tens of thousands?
Yes! It only happens in one thread and it is huge, it has thousands of button clicks certainly and it might even be in the realm of tens of thousands. It sounds like I should upload the new files but also close that thread and start a new one. Many thanks for investigating this :)
 
I made further optimisations to those 2 files that should help alleviate this issue. It will now only fetch the posts it actually needs to know about for the Go Advanced page.

Can you try replacing them again and see if your Uberthread works now? :)
 
My users are reporting database errors all over the forum now when clicking the "go advanced" button. I'm not sure if this is related.
Sample:
Database error in vBulletin 4.2.0:

Invalid SQL:

SELECT postid
FROM pr_post
WHERE visible = 1 AND post.userid NOT IN (22860)
AND threadid = '32105'
ORDER BY dateline DESC
LIMIT 41;

MySQL Error : Unknown column 'post.userid' in 'where clause'
Error Number : 1054
Request Date : Friday, December 7th 2012 @ 01:21:22 PM
Error Date : Friday, December 7th 2012 @ 01:21:22 PM
Script : http://www.mysite.com/forum/newreply.php?do=postreply&t=32105
Classname : vB_Database
MySQL Version : 5.0.96-community-log
 
I highly suspect that this is related to your code because you have this same error on your site right now! Try clicking the "go advanced" button below and you will get this error:
Warning: mysqli_query() [function.mysqli-query]: (42S22/1054): Unknown column 'post.userid' in 'where clause' in [path]/includes/class_core.php on line 1391
I hope you can fix this asap! Thanks.
 
Yeah sorry about that, on my dev board I don't have Global Ignore enabled so I didn't catch this :(

It's just /dbtech/thanks/hooks/newreply_form_reviewbit.php to change, I just fixed it.
 
Status
Not open for further replies.

Legacy Advanced Post Thanks / Like

vBulletin 3.8.x vBulletin 4.x.x
Seller
DragonByte Technologies
Release date
Last update
Total downloads
4,055
Customer rating
5.00 star(s) 1 ratings
Back
Top