Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Баг-репорты

Важная информация

Баг-репорты Описываем проблемы и ошибки работы ядра

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.07.2010, 00:06   #1
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию Краш на выгрузке

Порядком поднадоело:
PHP код:
004DD83E  00000000  MapInstanced::RemoveGridMapReference+4E
004EF81C  00000000  Map
::UnloadGrid+21C
004EF8F2  00000000  Map
::UnloadAll+62
004F59D4  00000000  Map
::~Map+54
004F5CB0  00000000  InstanceMap
::~InstanceMap+60
004F5DE3  00000000  InstanceMap
::`vector deleting destructor'+43
007BE010  00000000  MapInstanced::DestroyInstance+60
007BE0AF  00000000  MapInstanced::Update+5F
0065D194  00000000  MapManager::Update+64
0047601F  00000000  World::Update+28F
004463E4  00000000  WorldRunnable::run+64 
Выгрузка инста. Странно вот что - на том-же коде, без всяких изменений может стоять по двое суток, а может крашится вот так раз в час. Онлайн один и тот-же, инсты те-же. Покрашится, потом проходит. И опять всё норм на сутки например. Сдаётся мне это может быть связано с респавном в инстах.
Посоветуйте что-нибудь пожалуйста.

P.S. MaNGOS 10196, YTDB 555, SD2 1741.
xex вне форума   Ответить с цитированием
Старый 19.07.2010, 00:34   #2
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Отключите выгрузку гридов.
LordJZ вне форума   Ответить с цитированием
Старый 19.07.2010, 10:53   #3
PSZ
Ученый
 
Регистрация: 07.03.2010
Сообщений: 138
Сказал(а) спасибо: 200
Поблагодарили 143 раз(а) в 49 сообщениях
PSZ Обладатель прекрасной аурыPSZ Обладатель прекрасной ауры
По умолчанию

А разве инсты не выгружаются даже при выключенной выгрузке?
PSZ вне форума   Ответить с цитированием
Старый 19.07.2010, 17:26   #4
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Отключите выгрузку гридов.
Тогда вылет через ~20 мин. на нехватке памяти. Отъедается за 3 Гб и краш.
Цитата:
Сообщение от PSZ Посмотреть сообщение
А разве инсты не выгружаются даже при выключенной выгрузке?
Выгружаются, если не стоит:
Instance.UnloadDelay = 0
Спасибо. Попробую так. Посмотрим, как по расходу памяти будет.
xex вне форума   Ответить с цитированием
Старый 19.07.2010, 18:58   #5
BombermaG
Модератор
 
Аватар для BombermaG
 
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
BombermaG На верном пути
По умолчанию

С выгрузкой гридов краш очень старый
С новыми vmaps кушает памяти поболее.
При практически нулевом онлайне, 2гб съедает примерно часов за 8-10, далее соответственно краш, ибо Win х32 и нет возможности поставить х64, потому что железо не поддерживает.
BombermaG вне форума   Ответить с цитированием
Старый 24.07.2010, 21:22   #6
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Итак выводы на данный момент:
1-й серв, Instance.UnloadDelay = 300000, стоит больше суток (в инстах правда всё поправлено по крашам)
2-й серв, Instance.UnloadDelay = 0, больше трёх суток, онлайн небольшой, около 200, но всё-же показатель.

Вывод: имеем баг в респавне.
Вот это ситуацию поправило глобально просто:
m_creature->SetRespawnDelay(7*DAY);

Буду отслеживать и лечить этот застарелый баг если наши топовые разработчики косметикой занимаются...
xex вне форума   Ответить с цитированием
Старый 24.07.2010, 21:27   #7
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Не забудьте выложить ваши «лекарства», ведь топовые разработчики косметикой занимаются...
LordJZ вне форума   Ответить с цитированием
Старый 25.07.2010, 08:41   #8
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Не забудьте выложить ваши «лекарства», ведь топовые разработчики косметикой занимаются...
Скептика здесь неуместна. Если действительно есть старый баг и никто не чешется. Забили просто. А все страдают. В трине более-менее решили эту проблему.

Первое лекарство:
m_creature->SetRespawnDelay(7*DAY);
Лечит на ура по моим результатам.

Но это неправильно. try catch мне в руки
Отслежу, выложу патч. Поотлаживать пришлось кучу всего. И посложнее темы. Вы писали хоть раз многопоточники? Там синхронизация намного сложнее...

P.S. Хех, за такие баги надавал бы своим подчинённым по мягкому месту и лишил бы премии

Последний раз редактировалось xex; 25.07.2010 в 09:40.
xex вне форума   Ответить с цитированием
Старый 25.07.2010, 14:22   #9
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Это не лекарство, это, максимум, затычка
LordJZ вне форума   Ответить с цитированием
Старый 25.07.2010, 23:05   #10
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Это не лекарство, это, максимум, затычка
Да конечно костыль. Сам не люблю их, но что делать? Исправляет ситуацию на данный момент.
На тест серве под дебаггом наплодил 500 ботов, работает зараза, не падает пока... Потащу их по инстам
xex вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
LordJZ (26.07.2010)
Старый 26.07.2010, 01:03   #11
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Вы бы лучше последними проблемами с аурами занялись, а то народ вон — плачет.
http://github.com/mangos/mangos/comm...f2dbe#comments
LordJZ вне форума   Ответить с цитированием
Старый 31.07.2010, 08:30   #12
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Вы бы лучше последними проблемами с аурами занялись, а то народ вон — плачет.
http://github.com/mangos/mangos/comm...f2dbe#comments
Вау, даже Владимир отписался.
Пока не трогаю это, пусть устаканится сперва. Вынесли правильно, но как всегда с ошибками. Обыденно. У себя новую систему аур просто "выкусил" на старте. Нет её в коде.

По своим - вообще никаких крашей , стоят как влитые.
Думаю когда пройдёт 7*DAY, начнётся
На тест серве - как не мучал его, так и не добился краша.
Надо наверное взять чистый MaNGOS и голую базу.

Покажу по инстам, поправьте. Много мест таких. Кто в теме, тот поймёт :
PHP код:
// xex
//                                for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
//                                {
//                                    if (i->getSource()->isAlive() && pTarget->GetDistance2d(i->getSource()->GetPositionX(), i->getSource()->GetPositionY()) < 15)
//                                        i->getSource()->DealDamage(i->getSource(), manareduction, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, true);
//                                }
                                
for (Map::PlayerList::const_iterator i PlayerList.begin(); != PlayerList.end(); ++i)
                                {
                                    
PlayerpPlayer i->getSource();
                                    if (!
pPlayer)
                                        continue;

                                    if (
pPlayer->isAlive() && pTarget->GetDistance2d(pPlayer->GetPositionX(), pPlayer->GetPositionY()) < 15)
                                        
pPlayer->DealDamage(pPlayermanareductionNULLDIRECT_DAMAGESPELL_SCHOOL_MASK_NORMALNULLtrue);
                                }
// xex 
xex вне форума   Ответить с цитированием
Старый 31.07.2010, 12:22   #13
xex
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 47
Сказал(а) спасибо: 45
Поблагодарили 29 раз(а) в 13 сообщениях
xex На верном пути
По умолчанию

Накаркал
Мелкий вот так упал:
PHP код:
004DE5CA  00000000  Map::loaded+2A
004F1E96  00000000  Map
::MessageBroadcast+96
0047CD03  00000000  WorldObject
::SendMessageToSet+73
004AEA12  00000000  Unit
::SendThreatRemove+C2
0048E01D  00000000  ThreatManager
::processThreatEvent+DD
0048E244  00000000  HostileReference
::setOnlineOfflineState+34
00737639  00000000  HostileRefManager
::setOnlineOfflineState+29
004BA03B  00000000  Unit
::CleanupsBeforeDelete+5B
004F79D3  00000000  Map
::Remove+33
005F98F3  00000000  WorldSession
::LogoutPlayer+BE3
005F9F36  00000000  WorldSession
::Update+3C6
00474121  00000000  World
::UpdateSessions+61
00475F79  00000000  World
::Update+169
00446454  00000000  WorldRunnable
::run+64 
Надо вот это поковырять: CleanupsBeforeDelete.
Большой стоит.
xex вне форума   Ответить с цитированием
Старый 31.07.2010, 23:04   #14
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

А это ничего, что я краша в выгрузке инстансов не видел никогда вообще (а в выгрузке гридов - с месяц уже)? Никаких костылей не применял...
rsa вне форума   Ответить с цитированием
Старый 31.07.2010, 23:18   #15
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Это у тебя баг.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 01.08.2010, 14:45   #16
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

rsa вне форума   Ответить с цитированием
Старый 13.08.2010, 16:10   #17
BombermaG
Модератор
 
Аватар для BombermaG
 
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
BombermaG На верном пути
По умолчанию

Хочу такой же баг. Включил сегодня выгрузку гридов, словил краш, выключил...
BombermaG вне форума   Ответить с цитированием
Старый 01.05.2011, 13:53   #18
BombermaG
Модератор
 
Аватар для BombermaG
 
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
BombermaG На верном пути
По умолчанию

Хотелось бы поинтересоваться... краш при выгрузке гридов все еще имеет место быть?
BombermaG вне форума   Ответить с цитированием
Старый 03.05.2011, 11:53   #19
MaxXx2021
Ученый
 
Аватар для MaxXx2021
 
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
MaxXx2021 Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от BombermaG Посмотреть сообщение
Хотелось бы поинтересоваться... краш при выгрузке гридов все еще имеет место быть?
Выгрузка гридов включена, за 5 недель крашей не было. Одно но у меня гриды чистятся каждые 30 секунд.
MaxXx2021 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Краш в Map.h PSZ Баг-репорты 2 01.09.2011 12:39
Краш в ObjectGridLoader.cpp Most Баг-репорты 0 01.12.2010 17:47
краш lovepsone Баг-репорты 47 09.08.2010 03:25
Краш при создании ДК 1099511627776 Корзина 1 06.07.2010 16:34
Краш xmolex Баг-репорты 2 04.05.2010 18:37


Текущее время: 05:51. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot