Commit Graph

15654 Commits

Author SHA1 Message Date
jackpoz
1b3575ba77 Core/Logs: Fix race condition in Log
Fix race condition in Log by using atomic operators.

Helgrind log:
 Possible data race during read of size 8 at 0x7379D98 by thread #1
 Locks held: none
  at 0x15AE9C7: AppenderFile::_write(LogMessage const&) (AppenderFile.cpp:59)
  by 0x15ADFF8: Appender::write(LogMessage&) (Appender.cpp:106)
  by 0x159F14E: Logger::write(LogMessage&) (Logger.cpp:83)
  by 0x15A215B: Log::write(LogMessage*) (Log.cpp:290)
  by 0x15A200F: Log::vlog(LogFilterType, LogLevel, char const*, __va_list_tag*) (Log.cpp:272)
  by 0x15A2682: Log::outInfo(LogFilterType, char const*, ...) (Log.cpp:364)
  by 0xF7DA28: Master::Run() (Master.cpp:296)
  by 0xF835E8: main (Main.cpp:142)

 This conflicts with a previous write of size 8 by thread #10
 Locks held: none
  at 0x15AE9D7: AppenderFile::_write(LogMessage const&) (AppenderFile.cpp:59)
  by 0x15ADFF8: Appender::write(LogMessage&) (Appender.cpp:106)
  by 0x159F14E: Logger::write(LogMessage&) (Logger.cpp:83)
  by 0x15A215B: Log::write(LogMessage*) (Log.cpp:290)
  by 0x15A200F: Log::vlog(LogFilterType, LogLevel, char const*, __va_list_tag*) (Log.cpp:272)
  by 0x15A2682: Log::outInfo(LogFilterType, char const*, ...) (Log.cpp:364)
  by 0xF7EC1F: FreezeDetectorRunnable::run() (Master.cpp:98)
  by 0x15A5B3E: ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186)

 Address 0x7379D98 is 88 bytes inside a block of size 96 alloc'd
  at 0x4C2C857: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
  by 0x15A0FE3: Log::CreateAppenderFromConfig(char const*) (Log.cpp:150)
  by 0x15A1AED: Log::ReadAppendersFromConfig() (Log.cpp:244)
  by 0x15A31B4: Log::LoadFromConfig() (Log.cpp:469)
  by 0x15A053B: Log::Log() (Log.cpp:35)
  by 0xF75CD1: ACE_Singleton<Log, ACE_Thread_Mutex>::ACE_Singleton() (Singleton.inl:13)
  by 0xF754A4: ACE_Singleton<Log, ACE_Thread_Mutex>::instance() (Singleton.cpp:91)
  by 0xF8351A: main (Main.cpp:135)
2013-09-13 19:59:50 +02:00
Nay
e4ed64a6b7 Merge pull request #10782 from Ascathor/master
Core/Commands: Fixing some problems with .account email
2013-09-11 11:55:31 -07:00
Ascathor
3861ba5a25 Core/Commands: Fixing some problems with .account email 2013-09-11 20:54:04 +02:00
Nay
72d15086b2 Merge pull request #10776 from xjose93/ArenaTeamLogs
Core/ArenaTeam: Add teamnames to logs.
2013-09-11 11:52:51 -07:00
Nay
deb2fb7939 Merge pull request #10781 from jackpoz/create_pet_creaturetemplate
Scripts/Commands: Retrieve Creature template in HandlePetCreateCommand f...
2013-09-11 11:52:03 -07:00
Nay
9ca34c2e02 Merge pull request #10779 from jackpoz/murmur_unused_field
Scripts/Murmur: Remove unused field
2013-09-11 11:51:29 -07:00
Nay
38391cd774 Merge pull request #10737 from jackpoz/clock_fix
Core/Timer: Better handle system clock changes
2013-09-11 11:50:50 -07:00
Nay
baa159dbd4 Merge pull request #10736 from jackpoz/localtime_race_condition
Core/Thread: Fix race condition converting time values to local time
2013-09-11 11:50:18 -07:00
jackpoz
dfc8a092a6 Scripts/Commands: Retrieve Creature template in HandlePetCreateCommand from Creature itself
CreatureTemplate can be retrieved directly from the Creature itself instead of using ObjectMgr::GetCreatureTemplate(id) .
2013-09-11 20:31:50 +02:00
jackpoz
625e47e9d3 Scripts/Murmur: Remove unused field
Remove unused class field.
2013-09-11 20:00:29 +02:00
joschiwald
77f90c1c67 Scripts/Halion: refixed Twilight Cutter
Scripts/Garfrost: fixed forge jump
2013-09-11 17:07:29 +02:00
MitchesD
3420c70a47 Scripts/PitOfSaron: some changes
Closes #10740
2013-09-11 15:52:59 +02:00
xjose93
189a4b08fb Core/ArenaTeam: Add teamnames to logs. 2013-09-11 08:24:26 +02:00
Vincent-Michael
653ff9b243 Core/RBAC: Update RBACPermissions enum with 4.3.4 branch 2013-09-10 19:55:06 +02:00
Spp
953575abfa Core/RBAC: Remove obsolete generic command permissions
Note: If you have any custom command, CHECK THE SQLS BEFORE APPLYING
2013-09-10 15:35:10 +02:00
Spp
78363e11b5 Core/RBAC: Move titles and wp commands to RBAC (using individual permissions) 2013-09-10 15:26:48 +02:00
Spp
b10241876e Core/RBAC: Move ticket commands to RBAC (using individual permissions) 2013-09-10 15:13:08 +02:00
Spp
68ab10ccd4 Core/RBAC: Move tele commands to RBAC (using individual permissions) 2013-09-10 15:01:39 +02:00
Spp
abbc6b2760 Core/RBAC: Move server commands to RBAC (using individual permissions) 2013-09-10 14:57:01 +02:00
Spp
7183a355d2 Core/RBAC: Move reset commands to RBAC (using individual permissions) 2013-09-10 14:33:27 +02:00
Spp
1f95f0b0b8 Core/RBAC: Move reload command to RBAC (using individual permissions) 2013-09-10 14:25:07 +02:00
Spp
4f632ee3ff Core/RBAC: Move quest commands to RBAC (using individual permissions) 2013-09-10 13:57:30 +02:00
Spp
efa194a7ce Core/RBAC: Move npc commands to RBAC (using individual permissions) 2013-09-10 13:48:57 +02:00
Spp
04b313557e Core/RBAC: Move modify commands to RBAC (using individual permissions) 2013-09-10 13:28:32 +02:00
Spp
4d36ce7405 Core/RBAC: Move mmap commands to RBAC (using individual permissions) 2013-09-10 13:08:39 +02:00
Spp
1038446278 Core/RBAC: Move misc commands to RBAC (using individual permissions) 2013-09-10 12:59:25 +02:00
Spp
ec1e88d888 Core/RBAC: Move send commands to RBAC (using individual permissions) 2013-09-10 12:24:40 +02:00
Spp
83cb44d79f Core/RBAC: Move pet commands to RBAC (using individual permissions)
- Pet commands moved from cs_misc.cpp to own file
2013-09-10 12:07:03 +02:00
Spp
1eee42433b Core/RBAC: Move group commands to RBAC (using individual permissions)
- group commands moved from cs_misc.cpp to own file
- renamed groupsummon to "group summon"
2013-09-10 11:45:59 +02:00
Shauren
be5cf42ec3 Core/SmartAI: Fixed creatures using SAI not attacking its charmer after it breaks
Closes #7601
2013-09-09 17:44:07 +02:00
Shauren
fcf9552934 Core/SmartScripts: Fixed heap corruption in SMART_ACTION_EQUIP
Closes #10739
2013-09-08 12:15:13 +02:00
jackpoz
67f7c1fde1 Core/Timer: Better handle system clock changes
Change IntervalTimer::Reset() behavior to handle system clock changes forward and backward.
This fixes IntervalTimer:.Passed() returning true till it catches up to the new time, triggering the event up to "std::numeric_limits<time_t>::max() / _interval" times.
Fixes https://github.com/TrinityCore/TrinityCore/issues/5816
2013-09-07 17:30:23 +02:00
Machiavelli
e8675dd4ed Scripts/Blood Furnace: Fix possible compile errors on old VS versions 2013-09-07 15:17:56 +01:00
jackpoz
9578b5f87a Core/Thread: Fix race condition converting time values to local time
Replace thread-unsafe localtime() http://www.cplusplus.com/reference/ctime/localtime/ with thread-safe portable ACE_OS::localtime_r() .

Helgrind log:
 Possible data race during read of size 4 at 0x6F183C0 by thread #1
 Locks held: none
  at 0x14E72E3: World::InitDailyQuestResetTime() (World.cpp:2772)
  by 0x14E3A01: World::SetInitialWorldSettings() (World.cpp:1790)
  by 0x101122A: Master::Run() (Master.cpp:164)
  by 0x101740C: main (Main.cpp:142)

 This conflicts with a previous write of size 4 by thread #2
 Locks held: none
  at 0x6C2D3BA: __tzfile_compute (tzfile.c:797)
  by 0x6C2D036: __tz_convert (tzset.c:627)
  by 0x164146C: LogMessage::getTimeStr(long) (Appender.cpp:23)
  by 0x1641550: LogMessage::getTimeStr() (Appender.cpp:31)
  by 0x1641722: Appender::write(LogMessage&) (Appender.cpp:80)
  by 0x1633FCE: Logger::write(LogMessage&) (Logger.cpp:83)
  by 0x16433D8: LogOperation::call() (LogOperation.cpp:29)
  by 0x16428A4: LogWorker::svc() (LogWorker.cpp:45)
2013-09-07 14:37:54 +02:00
Aokromes
80516db48c Core/Battlegrounds: Allow random BG winner/loser rewards to be configurable
Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
2013-09-07 13:32:04 +01:00
Machiavelli
287dc307bc Merge pull request #10724 from jackpoz/guild_disband_leak
Core/Guild: Fix memory leak on Guild disband
2013-09-07 05:07:28 -07:00
Aokromes
c3c5327fbd Merge pull request #10716 from Discover-/SAI_Owner_Or_Summoner
Core/SAI: Make SMART_TARGET_OWNER_OR_SUMMONER also work for creatures su...
2013-09-06 17:29:15 -07:00
joschiwald
f66120060a Scripts/Spells: drop obsolete code 2013-09-07 01:21:36 +02:00
Vincent-Michael
fab0f461c0 Core/Condition: Added CONDITION_SOURCE_TYPE_PHASE_DEFINITION define for only 4.3.4 branch 2013-09-07 00:16:10 +02:00
Subv
8c70f8cb08 Merge pull request #10730 from jackpoz/scoreboard_fix
Core/Battleground: Fix scoreboard
2013-09-06 12:51:00 -07:00
jackpoz
3816fb440f Core/Battleground: Fix scoreboard
Fix scoreboard broken in 07d793b94b . A local variable in a loop stored data of the iterator before incrementing it.
2013-09-06 21:49:30 +02:00
Vincent-Michael
bc1a079b6c Core/SAI: Fix typo (i blame germans laziness) 2013-09-06 21:40:04 +02:00
joschiwald
e5af3e25f9 -.- 2013-09-06 21:18:07 +02:00
joschiwald
49e2ad73d2 Fixed build 2013-09-06 21:16:09 +02:00
joschiwald
9429251e2e Scripts/YoggSaron: fixed rewarding loot 2013-09-06 21:02:02 +02:00
joschiwald
adef15cd0f Core/Spells: add an other condition to SpellInfo::NeedsToBeTriggeredByCaster to correct spells with are wrongly triggered by target instead of caster
- convert archavons rock shards to spellscript (now it works properly)
- add a spellscript for one spell that can't be corrected by this (and delete the sai hack, now i uses the correct spell)
2013-09-06 20:57:38 +02:00
xjose93
35ef163703 Core/Commands: Fix .debug send opcode freeze if file dont exists. 2013-09-06 15:31:22 +02:00
Machiavelli
577c9457e3 Update DBCStructure.h 2013-09-06 13:55:57 +01:00
Shauren
fe8252b2e2 Scripts/Commands: Check if creature entry is valid before attempting to spawn (fixes unneccessary error in logs) 2013-09-06 14:32:30 +02:00
Machiavelli
2fc6385dba Core/Vehicles: Add vehicle_seat_flag_unk18 (0x20000) to seat.IsUsableByOverride
Exact definition still needs to be researched
2013-09-06 13:30:53 +01:00