Reputation System

Reputation System [Paid] 2.3.3

No permission to buy ($20.00)
Could you please elaborate on what you mean?
Looking at the stack trace, this happens during approval queue processing when a reputation entry is being soft-deleted. The error itself is in the XF method ModeratorLog\AbstractHandler::setupLogEntityActor() which calls Ip::stringToBinary('') - it tries to log the moderator's IP address but receives an empty string.
The call chain is:
1. ApprovalQueueProcess job runs and soft-deletes the reputation
2. Reputation::_postSave() calls logModeratorChanges()
3. SV\UserEssentials\XF\Logger::shimLogAction() intercepts the call
4. XF tries to get the request IP for the moderator log -> empty string -> error
A few questions:
1. Did the approval queue request timeout or get interrupted when you processed it?
2. What version of User Essentials are you running?
3. Is the svAlwaysLogModAction option enabled?
But this problem can appear in any other content type (posts, profile posts, etc.) And the question is where and why there's no IP address. XenForo itself doesn't check for an empty IP, which is why it throws an error. Where and why is another question entirely. I can't reproduce the error on the test server or production. I can assume that there is some kind of add-on that removes IP addresses incorrectly.
 
Thanks for the thorough explanation!
  1. The appoval process could be be interrupted. I selected to delete the rating The page reloaded. The rating was still in the approval queue. This error was in the log.
  2. I run the latest version of @Xon User Essentials. 4.6.6 There has been a recent update so the error was caused by the previous version.
  3. Always log moderator actions is on. But there is no log entry.
 
But this problem can appear in any other content type (posts, profile posts, etc.) And the question is where and why there's no IP address. XenForo itself doesn't check for an empty IP, which is why it throws an error. Where and why is another question entirely. I can't reproduce the error on the test server or production. I can assume that there is some kind of add-on that removes IP addresses incorrectly.
This should actually be replicatable with stock XF behavior.

XF has the option "Delete IP usage data after", which defaults to a year. This will leave a dangling xf_ip.ip_id reference on the xf_post/xf_thread tables. So if a moderator edits a thread title of an old enough thread this error should happen.
 
Back
Top Bottom