From 04b6f9111aa98cd0f4851797d160e02666417e80 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 2 Oct 2014 20:09:08 +0200 Subject: Fixed ==25829== Thread #1: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread ==25829== at 0x4C2A1D5: pthread_cond_broadcast_WRK (hg_intercepts.c:891) ==25829== by 0x654A758: std::condition_variable::notify_all() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17) ==25829== by 0x132305A: ProducerConsumerQueue::Cancel() (ProducerConsumerQueue.h:100) ==25829== by 0x13229A7: DatabaseWorkerPool::~DatabaseWorkerPool() (DatabaseWorkerPool.h:70) ==25829== by 0x6C6CB21: __run_exit_handlers (exit.c:78) ==25829== by 0x6C6CB74: exit (exit.c:100) ==25829== by 0x6C54EF3: (below main) (libc-start.c:276) --- src/server/shared/Threading/ProducerConsumerQueue.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src') diff --git a/src/server/shared/Threading/ProducerConsumerQueue.h b/src/server/shared/Threading/ProducerConsumerQueue.h index a76b8b0b5c0..d0b3631a9dd 100644 --- a/src/server/shared/Threading/ProducerConsumerQueue.h +++ b/src/server/shared/Threading/ProducerConsumerQueue.h @@ -82,7 +82,7 @@ public: void Cancel() { - _queueLock.lock(); + std::unique_lock lock(_queueLock); while (!_queue.empty()) { @@ -95,8 +95,6 @@ public: _shutdown = true; - _queueLock.unlock(); - _condition.notify_all(); } -- cgit v1.2.3 From 4060fb1b592ef50ab0c5bd450ddc94a1461e900e Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Thu, 2 Oct 2014 21:11:20 +0200 Subject: Core/Sai: Added ugly code for new sai error log :( --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index c5d138b1f82..d19b48dec79 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -235,6 +235,29 @@ void SmartAIMgr::LoadSmartAIFromDB() } while (result->NextRow()); + // TO-DO: Find better way + for (uint8 i = 0; i < SMART_SCRIPT_TYPE_MAX; i++) + { + for (auto itr = mEventMap[i].begin(); itr != mEventMap[i].end(); ++itr) + { + for (auto e : mEventMap[i][itr->first]) + { + if (e.link && e.link != e.event_id) + { + for (auto linked : mEventMap[i][itr->first]) + { + if (linked.event_id == e.link) + { + if (linked.GetActionType() && linked.GetEventType() != SMART_EVENT_LINK) + TC_LOG_ERROR("sql.sql", "SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Link Event %u not found or invalid, skipped.", + e.entryOrGuid, e.GetScriptType(), e.event_id, e.link); + } + } + } + } + } + } + TC_LOG_INFO("server.loading", ">> Loaded %u SmartAI scripts in %u ms", count, GetMSTimeDiffToNow(oldMSTime)); UnLoadHelperStores(); -- cgit v1.2.3 From 921457ae7b0b7744ac3c0eabadefb67aac928ce1 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Thu, 2 Oct 2014 21:13:16 +0200 Subject: Core/Sai: Added missing changes in 4060fb1b592ef50ab0c5bd450ddc94a1461e900e --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index d19b48dec79..d20736523b3 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -249,7 +249,7 @@ void SmartAIMgr::LoadSmartAIFromDB() if (linked.event_id == e.link) { if (linked.GetActionType() && linked.GetEventType() != SMART_EVENT_LINK) - TC_LOG_ERROR("sql.sql", "SmartScript::ProcessAction: Entry %d SourceType %u, Event %u, Link Event %u not found or invalid, skipped.", + TC_LOG_ERROR("sql.sql", "SmartAIMgr::LoadSmartAIFromDB: Entry %d SourceType %u, Event %u, Link Event %u not found or invalid, skipped.", e.entryOrGuid, e.GetScriptType(), e.event_id, e.link); } } -- cgit v1.2.3 From d10dc5ac3581be20bb852c1eec7c947cfcc40d3d Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Thu, 2 Oct 2014 22:24:59 +0200 Subject: Core/Sai: Added better version for 4060fb1b592ef50ab0c5bd450ddc94a1461e900e --- src/server/game/AI/SmartScripts/SmartScriptMgr.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp index d20736523b3..6144a102e6c 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.cpp @@ -242,17 +242,19 @@ void SmartAIMgr::LoadSmartAIFromDB() { for (auto e : mEventMap[i][itr->first]) { + bool found = false; if (e.link && e.link != e.event_id) { for (auto linked : mEventMap[i][itr->first]) { if (linked.event_id == e.link) - { - if (linked.GetActionType() && linked.GetEventType() != SMART_EVENT_LINK) - TC_LOG_ERROR("sql.sql", "SmartAIMgr::LoadSmartAIFromDB: Entry %d SourceType %u, Event %u, Link Event %u not found or invalid, skipped.", - e.entryOrGuid, e.GetScriptType(), e.event_id, e.link); - } + if (linked.GetActionType() && linked.GetEventType() == SMART_EVENT_LINK) + found = true; } + + if (!found) + TC_LOG_ERROR("sql.sql", "SmartAIMgr::LoadSmartAIFromDB: Entry %d SourceType %u, Event %u, Link Event %u not found or invalid", + e.entryOrGuid, e.GetScriptType(), e.event_id, e.link); } } } -- cgit v1.2.3 From d828d16e9e0a7416823c07d27a19f4362c3f0826 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Thu, 2 Oct 2014 22:29:45 +0200 Subject: Core/AHBot: Fix reference_loot_template being excluded from ahbot items Fixes #13265 --- src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp index 13aa1f22fa3..00e1a35973d 100644 --- a/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp +++ b/src/server/game/AuctionHouseBot/AuctionHouseBotSeller.cpp @@ -84,6 +84,7 @@ bool AuctionBotSeller::Initialize() "SELECT `item` FROM `milling_loot_template` UNION " "SELECT `item` FROM `pickpocketing_loot_template` UNION " "SELECT `item` FROM `prospecting_loot_template` UNION " + "SELECT `item` FROM `reference_loot_template` UNION " "SELECT `item` FROM `skinning_loot_template` UNION " "SELECT `item` FROM `spell_loot_template`"); -- cgit v1.2.3