Link Checker by AddonsLab

Link Checker by AddonsLab [Paid] 1.17.0

No permission to buy ($54.99)
XenForo_Exception: The existing data required by the data writer could not be found. - library/XenForo/DataWriter.php:1359
Generated By: Unknown Account, Today at 3:19 AM
Stack Trace

#0 //library/XenForo/DataWriter.php(1401): XenForo_DataWriter->_haveErrorsPreventSave()
#1 //library/MetaMirror/DataWriter/DiscussionMessage/Post.php(24): XenForo_DataWriter->save()
#2 //library/SV/DeadlockAvoidance/XenForo/DataWriter/DiscussionMessage/Post.php(11): MetaMirror_DataWriter_DiscussionMessage_Post->save()
#3 //library/AddonsLab/ContentHandler/Traits/PostTrait.php(271): SV_DeadlockAvoidance_XenForo_DataWriter_DiscussionMessage_Post->save()
#4 //library/AddonsLab/LinkChecker/Library/Content.php(97): AddonsLab_LinkChecker_ContentHandler_PostHandler->updateContentMessage(Array)
#5 //library/AddonsLab/LinkChecker/Library/Service/TagReplacementProcessor.php(265): AddonsLab\LinkChecker\Library\Content->persist()
#6 //library/AddonsLab/LinkChecker/Library/Service/TagReplacementProcessor.php(320): AddonsLab\LinkChecker\Library\Service\TagReplacementProcessor->persistTagReplacementsForContent(Object(AddonsLab\LinkChecker\Library\Content), Array)
#7 //library/AddonsLab/LinkChecker/Library/Service/JobRunner.php(312): AddonsLab\LinkChecker\Library\Service\TagReplacementProcessor->persistTagReplacementList(Object(AddonsLab\LinkChecker\Library\TagReplacementList))
#8 //library/AddonsLab/LinkChecker/Deferred/BatchUpdate.php(42): AddonsLab\LinkChecker\Library\Service\JobRunner->runBatchUpdateJob(Array)
#9 //library/AddonsLab/LinkChecker/Deferred/AbstractTask.php(42): AddonsLab_LinkChecker_Deferred_BatchUpdate->_execute(Array, Array, 8, '')
#10 //library/XenForo/Model/Deferred.php(295): AddonsLab_LinkChecker_Deferred_AbstractTask->execute(Array, Array, 8, '')
#11 //library/XenForo/Model/Deferred.php(429): XenForo_Model_Deferred->runDeferred(Array, 8, '', false)
#12 //library/XenForo/Model/Deferred.php(374): XenForo_Model_Deferred->_runInternal(Array, 8, '', false)
#13 //deferred.php(23): XenForo_Model_Deferred->run(false)
#14 {main}

Request State

array(3) {
["url"] => string(36) "/deferred.php"
["_GET"] => array(0) {
}
["_POST"] => array(3) {
["_xfRequestUri"] => string(58) "/threads/151917/"
["_xfNoRedirect"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
}
}

I have been encountering a lot of deadlocks when batch updating links through the immediately option.
I get this on the cron option:
View attachment 246824

Fixed.

The link checker only sees the exact domain set in xenforo as internal. My domain is https://mydomain.com
Links to www.mydomain.com http://mydomain.com and http://www.mydomain.com are erroneously listed as external domains.
This makes it a daunting task to manage dead links when there are 100k+ external links that have a certain status. Internal dead links is something we manually try to fix. So we cannot batch process external links if there are internal links mixed in. Please address this.

Actually it does consider the sub-domains as internal, but it also lists them as external (as they don't match the domain exactly). Now these sub-domains will not be listed as external.

The link checker chokes on this. I have 210k errors:

ErrorException: Undefined index: type - library/AddonsLab/LinkChecker/ContentHandler/PostHandler.php:109
Generated By: Unknown Account, Sunday at 5:10 PM
Stack Trace

#0 /library/AddonsLab/LinkChecker/ContentHandler/PostHandler.php(109): XenForo_Application::handlePhpError(8, 'Undefined index...', '/home/nginx/dom...', 109, Array)
#1 /library/AddonsLab/LinkChecker/Library/Service/TagReplacementProcessor.php(309): AddonsLab_LinkChecker_ContentHandler_PostHandler->applyReplaceCriteria(Object(AddonsLab\LinkChecker\Library\Replace\ReplaceCriteria))
#2 /library/AddonsLab/LinkChecker/Library/Service/JobRunner.php(312): AddonsLab\LinkChecker\Library\Service\TagReplacementProcessor->persistTagReplacementList(Object(AddonsLab\LinkChecker\Library\TagReplacementList))
#3 /library/AddonsLab/LinkChecker/Deferred/BatchUpdate.php(42): AddonsLab\LinkChecker\Library\Service\JobRunner->runBatchUpdateJob(Array)
#4 /library/AddonsLab/LinkChecker/Deferred/AbstractTask.php(42): AddonsLab_LinkChecker_Deferred_BatchUpdate->_execute(Array, Array, 8, '')
#5 /library/XenForo/Model/Deferred.php(295): AddonsLab_LinkChecker_Deferred_AbstractTask->execute(Array, Array, 8, '')
#6 /library/XenForo/Model/Deferred.php(429): XenForo_Model_Deferred->runDeferred(Array, 8, '', false)
#7 /library/XenForo/Model/Deferred.php(374): XenForo_Model_Deferred->_runInternal(Array, 8, '', false)
#8 /deferred.php(23): XenForo_Model_Deferred->run(false)
#9 {main}

Request State

array(3) {
["url"] => string(36) "/deferred.php"
["_GET"] => array(0) {
}
["_POST"] => array(3) {
["_xfRequestUri"] => string(111) "/forums/377/?prefix_ids[0]=184&prefix_ids[1]=168&prefix_ids[2]=201&prefix_ids[3]=185&prefix_id=208"
["_xfNoRedirect"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
}
}

And:
Error Info
ErrorException: Undefined index: type - library/AddonsLab/LinkChecker/ContentHandler/PostHandler.php:109
Generated By: Unknown Account, Sunday at 4:19 PM
Stack Trace

#0 /library/AddonsLab/LinkChecker/ContentHandler/PostHandler.php(109): XenForo_Application::handlePhpError(8, 'Undefined index...', '/home/nginx/dom...', 109, Array)
#1 /library/AddonsLab/LinkChecker/Library/Service/TagReplacementProcessor.php(309): AddonsLab_LinkChecker_ContentHandler_PostHandler->applyReplaceCriteria(Object(AddonsLab\LinkChecker\Library\Replace\ReplaceCriteria))
#2 /library/AddonsLab/LinkChecker/Library/Service/JobRunner.php(312): AddonsLab\LinkChecker\Library\Service\TagReplacementProcessor->persistTagReplacementList(Object(AddonsLab\LinkChecker\Library\TagReplacementList))
#3 /library/AddonsLab/LinkChecker/Deferred/BatchUpdate.php(42): AddonsLab\LinkChecker\Library\Service\JobRunner->runBatchUpdateJob(Array)
#4 /library/AddonsLab/LinkChecker/Deferred/AbstractTask.php(42): AddonsLab_LinkChecker_Deferred_BatchUpdate->_execute(Array, Array, 7.9999990463257, '')
#5 /library/XenForo/Model/Deferred.php(295): AddonsLab_LinkChecker_Deferred_AbstractTask->execute(Array, Array, 7.9999990463257, '')
#6 /library/XenForo/Model/Deferred.php(429): XenForo_Model_Deferred->runDeferred(Array, 7.9999990463257, '', false)
#7 /library/XenForo/Model/Deferred.php(374): XenForo_Model_Deferred->_runInternal(Array, 8, '', false)
#8 /deferred.php(23): XenForo_Model_Deferred->run(false)
#9 {main}

Request State

array(3) {
["url"] => string(36) "/deferred.php"
["_GET"] => array(0) {
}
["_POST"] => array(4) {
["_xfRequestUri"] => string(29) "/admin.php?links/batch-update"
["_xfNoRedirect"] => string(1) "1"
["_xfToken"] => string(8) "********"
["_xfResponseType"] => string(4) "json"
}
}

I can't reproduce this specific case, but I have added guarding code to prevent the error and any modification of the link if this happens.

The release is available in your customer's area.

Thank you!
 
Top Bottom