• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Server Crash...

Kayan

Active Member
Joined
Sep 19, 2007
Messages
1,561
Reaction score
38
Location
Santa Catarina
Hello all ;)

my friend is using TFS, and OT have crashed. i cant see the problem, i go post report.txt

Code:
*****************************************************
Error report - Thu Mar 27 08:26:38 2008

Compiler info - gcc 3.4.5 (mingw special)
Compilation Date - Mar 25 2008 23:57:47

Memory load: 75
Total phys: 2097151 K available phys: 2049296 K
Start time: 27-3-2008  1:46:59
Kernel time: 0:0:17.984
User time: 0:11:6.344
Threads: 4

Exception: 0xc0000005 at eip = 0x413b8e(ChatChannel::talk(Player*, SpeakClasses, std::string const&) - 0x413ac6)
eax = 0x5481760 -> 0
ebx = 0x1edb75c -> 0x518b454c
ecx = 0x4
edx = 0x10
esi = 0x1edb758 -> 0x6c25bc
edi = 0x1edb754 -> 0x5
ebp = 0x126f4b4 -> 0x126fc94
esp = 0x126f48c -> 0x5481760
efl = 0x10202

---Stack Trace---
From: 0x126f48c to: 0x1270000
0x126f48c | 0x5481760 -> 0
0x126f490 | 0x126f4a4 -> 0x3f3c00
0x126f494 | 0x1d4c0
0x126f498 | 0
0x126f49c | 0x126f4b0 -> 0x3f96c808
0x126f4a0 | 0x126f4ac -> 0x291734
0x126f4a4 | 0x3f3c00 -> 0
0x126f4a8 | 0x3f96c808 -> 0x1
0x126f4ac | 0x291734
0x126f4b0 | 0x3f96c808 -> 0x1
0x126f4b4 | 0x126fc94 -> 0x126fcc4 \\\\\\ stack frame //////
0x126f4b8 | 0x41c685 -> 0x89c0b60f <-- ret
0x126f4b8  Chat::talkToChannel(Player*, SpeakClasses, std::string const&, unsigned short)(0x416476)
0x126f4bc | 0x3f3bf8 -> 0x6ec148
0x126f4c0 | 0x52913e0 -> 0x6ed64c
0x126f4c4 | 0x5
0x126f4c8 | 0x1edb75c -> 0x518b454c
0x126f4cc | 0x126f4dc -> 0x126f704
0x126f4d0 | 0x3f0000 -> 0xc8
0x126f4d4 | 0x7c82a124 -> 0x840fc085
0x126f4d8 | 0x3f0718 -> 0x3076080
0x126f4dc | 0x126f704 -> 0x3ba04de0
0x126f83c  Chat::talkToChannel(Player*, SpeakClasses, std::string const&, unsigned short)(0x416476)
0x126fbb8  Spells::playerSaySpell(Player*, SpeakClasses, std::string const&)(0x514b40)
0x126fbe8  Player::removeMessageBuffer()(0x4ec11e)
0x126fc1c  Spells::playerSaySpell(Player*, SpeakClasses, std::string const&)(0x514b40)
0x126fc2c  Player::removeMessageBuffer()(0x4ec11e)
0x126fc4c  Player::closeContainer(unsigned int)(0x4e990e)
0x126fc70 | 0xf
0x126fc74 | 0x3f3bf8 -> 0x6ec148
0x126fc78 | 0x6b75c
0x126fc7c | 0x3cae2a0c -> 0x34353828
0x126fc80 | 0x1edb754 -> 0x5
0x126fc84 | 0x126fca4 -> 0x5
0x126fc88 | 0x1edb75c -> 0x518b454c
0x126fc8c | 0x1edb758 -> 0x6c25bc
0x126fc90 | 0x1edb754 -> 0x5
0x126fc94 | 0x126fcc4 -> 0x126fdc4 \\\\\\ stack frame //////
0x126fc98 | 0x461da4 -> 0x1b8 <-- ret
0x126fc98  Game::playerTalkToChannel(Player*, SpeakClasses, std::string const&, unsigned short)(0x461c5e)
0x126fc9c | 0x6f1660 -> 0
0x126fca0 | 0x52913e0 -> 0x6ed64c
0x126fca4 | 0x5
0x126fca8 | 0x1edb75c -> 0x518b454c
0x126fcac | 0x6
0x126fcb0 | 0x52913e0 -> 0x6ed64c
0x126fcb4 | 0x5
0x126fcb8 | 0x1edb75c -> 0x518b454c
0x126fcbc | 0x5
0x126fcc0 | 0x6b754
0x126fcc4 | 0x126fdc4 -> 0x126fdf4 \\\\\\ stack frame //////
0x126fcc8 | 0x460e39 -> 0x89c0b60f <-- ret
0x126fcc8  Game::playerSay(unsigned int, unsigned short, SpeakClasses, std::string const&, std::string const&)(0x460a9e)
0x126fccc | 0x6f0fe0 -> 0x191bf58
0x126fcd0 | 0x52913e0 -> 0x6ed64c
0x126fcd4 | 0x5
0x126fcd8 | 0x1edb75c -> 0x518b454c
0x126fcdc | 0x6
0x126fce0 | 0x30740c0 -> 0x6edd0c
0x126fce4 | 0x126fd14 -> 0x126fd44
0x126fce8 | 0x6ab60b -> 0xc9fc458b
0x126fd2c  Game::playerSay(unsigned int, unsigned short, SpeakClasses, std::string const&, std::string const&)(0x460a9e)
0x126fda0 | 0
0x126fda4 | 0x52913e0 -> 0x6ed64c
0x126fda8 | 0x65389
0x126fdac | 0x126fdbc -> 0x1edb758
0x126fdb0 | 0x1
0x126fdb4 | 0x7c829fb5 -> 0x5d5e01b0
0x126fdb8 | 0x1edb75c -> 0x518b454c
0x126fdbc | 0x1edb758 -> 0x6c25bc
0x126fdc0 | 0x1edb754 -> 0x5
0x126fdc4 | 0x126fdf4 -> 0x126fe34 \\\\\\ stack frame //////
0x126fdc8 | 0x622ebe -> 0xc9c0b60f <-- ret
0x126fdcc | 0x6f0fe0 -> 0x191bf58
0x126fdd0 | 0x10009c3f -> 0xf38b100a
0x126fdd4 | 0x6
0x126fdd8 | 0x5
0x126fddc | 0x1edb758 -> 0x6c25bc
0x126fde0 | 0x1edb75c -> 0x518b454c
0x126fde4 | 0x126fdf4 -> 0x126fe34
0x126fde8 | 0x621ec9 -> 0x5590c3c9
0x126fdec | 0x460a9e -> 0x57e58955
0x126fdec  Game::playerSay(unsigned int, unsigned short, SpeakClasses, std::string const&, std::string const&)(0x460a9e)
0x126fdf0 | 0x68ffd
0x126fdf4 | 0x126fe34 -> 0x126fe54 \\\\\\ stack frame //////
0x126fdf8 | 0x5cc10e -> 0x83c0b60f <-- ret
0x126fdfc | 0x1edb740 -> 0x460a9e
0x126fe00 | 0x6f0fe0 -> 0x191bf58
0x126fe04 | 0x10009c3f -> 0xf38b100a
0x126fe08 | 0x6
0x126fe0c | 0x5
0x126fe10 | 0x1edb758 -> 0x6c25bc
0x126fe14 | 0x1edb75c -> 0x518b454c
0x126fe18 | 0x5c9f14 -> 0x5b10c483
0x126fe1c | 0x1edb748 -> 0x6f0fe0
0x126fe20 | 0x1edb74c -> 0x10009c3f
0x126fe24 | 0x6
0x126fe28 | 0xfa11e0 -> 0x6ec808
0x126fe2c | 0xfa1278 -> 0xebc
0x126fe30 | 0
0x126fe34 | 0x126fe54 -> 0x126fe64 \\\\\\ stack frame //////
0x126fe38 | 0x5cdf4a -> 0xc9c0b60f <-- ret
0x126fe3c | 0x1edb748 -> 0x6f0fe0
0x126fe40 | 0
0x126fe44 | 0x1edb740 -> 0x460a9e
0x126fe48 | 0x126fe53 -> 0x26fe6401
0x126fe4c | 0
0x126fe50 | 0x126fec0 -> 0x381c410
0x126fe54 | 0x126fe64 -> 0x126fee4 \\\\\\ stack frame //////
0x126fe58 | 0x5f5a75 -> 0x5590c3c9 <-- ret
0x126fe5c | 0x1edb740 -> 0x460a9e
0x126fe60 | 0x1edb740 -> 0x460a9e
0x126fe64 | 0x126fee4 -> 0x126fef4 \\\\\\ stack frame //////
0x126fe68 | 0x624b41 -> 0x89a4458d <-- ret
0x126fe6c | 0x544e993c -> 0x1edb740
0x126fe70 | 0xffffffff
0x126fe74 | 0x77bbcefb -> 0xccccccc3
0x126fe78 | 0x5a5389 -> 0x9090c3c9
0x126fe7c | 0x381c410 -> 0x6eca08
0x126fe80 | 0x24
0x126fe84 | 0x126fe94 -> 0x126feb4
0x126fe88 | 0x22f1ec -> 0x22f794
0x126fec0 | 0x381c410 -> 0x6eca08
0x126fec4 | 0xeffd4f84
0x126fec8 | 0x118
0x126fecc | 0x47eb846e -> 0xb003f
0x126fed0 | 0xb401d4
0x126fed4 | 0x1260000
0x126fed8 | 0xfa11e0 -> 0x6ec808
0x126fedc | 0xfa1278 -> 0xebc
0x126fee0 | 0
0x126fee4 | 0x126fef4 -> 0x126ff84 \\\\\\ stack frame //////
0x126fee8 | 0x5c3bc9 -> 0x5590c3c9 <-- ret
0x126feec | 0x544e9938 -> 0x6c285c
0x126fef0 | 0xfa11e0 -> 0x6ec808
0x126fef4 | 0x126ff84 -> 0x126ffb8 \\\\\\ stack frame //////
0x126fef8 | 0x52080c -> 0x89d4458b <-- ret
0x126fef8  Dispatcher::dispatcherThread(void*)(0x5206c6)
0x126fefc | 0x544e9938 -> 0x6c285c
0x126ff00 | 0x6c2600 -> 0x247dc8
0x126ff04 | 0
0x126ff08 | 0xeeebdc1c
0x126ff0c | 0x3f0000 -> 0xc8
0x126ff10 | 0
0x126ff14 | 0xfe1870c8
0x126ff18 | 0x98
0x126ff48  Dispatcher::dispatcherThread(void*)(0x5206c6)
0x126ff60 | 0x126ffa8 -> 0x126ffdc
0x126ff64 | 0x44d018 -> 0x57e58955
0x126ff64  _SEHHandler(_EXCEPTION_RECORD*, void*, _CONTEXT*, void*)(0x44d018)
0x126ff68 | 0xfe187020
0x126ff6c | 0x126ff50 -> 0
0x126ff70 | 0
0x126ff74 | 0x126ffa8 -> 0x126ffdc
0x126ff78 | 0xfa11e0 -> 0x6ec808
0x126ff7c | 0xfa1278 -> 0xebc
0x126ff80 | 0
0x126ff84 | 0x126ffb8 -> 0x126ffec \\\\\\ stack frame //////
0x126ff88 | 0x77bcb3ca -> 0xff4fe859 <-- ret
0x126ff8c | 0
0x126ff90 | 0
0x126ff94 | 0
0x126ff98 | 0xfa11e0 -> 0x6ec808
0x126ff9c | 0x1
0x126ffa0 | 0x126ff90 -> 0
0x126ffa4 | 0xe082e027
0x126ffa8 | 0x126ffdc -> 0xffffffff
0x126ffac | 0x77bc6c74 -> 0x83ec8b55
0x126ffb0 | 0x77ba4138 -> 0xffffffff
0x126ffb4 | 0
0x126ffb8 | 0x126ffec -> 0 \\\\\\ stack frame //////
0x126ffbc | 0x77e64829 -> 0xb0c2e850 <-- ret
0x126ffc0 | 0xfa11e0 -> 0x6ec808
0x126ffc4 | 0
0x126ffc8 | 0
0x126ffcc | 0xfa11e0 -> 0x6ec808
0x126ffd0 | 0
0x126ffd4 | 0x126ffc4 -> 0
0x126ffd8 | 0xe0833160
0x126ffdc | 0xffffffff
0x126ffe0 | 0x77e61a60 -> 0x83ec8b55
0x126ffe4 | 0x77e64830 -> 0xffffffff
0x126ffe8 | 0
0x126ffec | 0 \\\\\\ stack frame //////
0x126fff0 | 0 <-- ret
0x126fff4 | 0x77bcb35a -> 0x38680c6a
0x126fff8 | 0xfa11e0 -> 0x6ec808
0x126fffc | 0
*****************************************************

Hum what's this problem? ;(
 
Last edited:
Change the ChatChannel::talk function to:
Code:
bool ChatChannel::talk(Player* fromPlayer, SpeakClasses type, const std::string& text)
{
	if(fromPlayer->getAccountType() < ACCOUNT_TYPE_GAMEMASTER && (m_id == 0x05 || m_id == 0x06))
	{
		Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_TRADETICKS, 120000, 0);
		fromPlayer->addCondition(condition);
	}

	bool success = false;
	for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it)
	{
		if(m_id != 0x00 || m_id == 0x00 && fromPlayer->getGuildId() == (*it).second->getGuildId())
			(*it).second->sendToChannel(fromPlayer, type, text, m_id);
		success = true;
	}
	return success;
}
 
Hum ok, my chat.cpp are:
Code:
bool ChatChannel::talk(Player* fromPlayer, SpeakClasses type, const std::string& text)
{
	if(fromPlayer->getAccountType() < ACCOUNT_TYPE_GAMEMASTER && (m_id == 0x05 || m_id == 0x06))
	{
		Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_TRADETICKS, 120000, 0);
		fromPlayer->addCondition(condition);
	}

	bool success = false;
	UsersMap::iterator it;

	for(it = m_users.begin(); it != m_users.end(); ++it)
	{
		Player* toPlayer = it->second->getPlayer();
		if(toPlayer)
		{
			toPlayer->sendToChannel(fromPlayer, type, text, m_id);
			success = true;
		}
	}
	return success;
}

Change for This?

Code:
bool ChatChannel::talk(Player* fromPlayer, SpeakClasses type, const std::string& text)
{
	if(fromPlayer->getAccountType() < ACCOUNT_TYPE_GAMEMASTER && (m_id == 0x05 || m_id == 0x06))
	{
		Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_TRADETICKS, 120000, 0);
		fromPlayer->addCondition(condition);
	}

	bool success = false;
	for(AutoList<Player>::listiterator it = Player::listPlayer.list.begin(); it != Player::listPlayer.list.end(); ++it)
	{
		if(m_id != 0x00 || m_id == 0x00 && fromPlayer->getGuildId() == (*it).second->getGuildId())
			(*it).second->sendToChannel(fromPlayer, type, text, m_id);
		success = true;
	}
	return success;
}

correct? other question, this has ben fixed for next rev?
 
Back
Top