Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Баг-репорты (http://mangos.ytdb.ru/forumdisplay.php?f=27)
-   -   Crash с инстами (http://mangos.ytdb.ru/showthread.php?t=711)

ice74 12.04.2010 13:39

Crash с инстами
 
http://github.com/insider42/mangos/c...39d0d95c79eea7

MaNGOS/0.16.0 (* * Revision 9694 - *) for FreeBSD_x64 (little-endian) [world-daemon]

PHP код:

2010-04-11 21:37:06 ERROR:InstanceMap::Addplayer Aqpina(57963is being put in instance 545,129,1 but he is in group 57829 which is bound to instance 545,126,1!
2010-04-11 21:37:06 ERROR:MapSave players0group count0
2010
-04-11 21:37:06 ERROR:GroupBind save players0group count

далее сервер крашится

Anti 12.04.2010 15:31

Была такая проблема. Советую чистить таблицу групп, инстов и тпшить всех игроков в точки хоумбинда. Проблема появляется, когда группу игрока сохраняет, а инфу об игроке - нет. После этого получаем краши.

ice74 17.04.2010 10:35

там же постоянно преследует
в логах пусто
в корке это
Цитата:

GridUnload = 1
GridCleanUpDelay = 300000
Цитата:

gdb -q /usr/local/mangos2/bin/mangos-worldd -c=/home/ice/0.mangos-worldd.core
Core was generated by `mangos-worldd'.
Program terminated with signal 10, Bus error.
Reading symbols from /usr/local/mangos2/lib/libACE-5.6.6.so...done.
Loaded symbols for /usr/local/mangos2/lib/libACE-5.6.6.so
Reading symbols from /usr/local/lib/mysql/libmysqlclient_r.so.16...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient_r.so.16
Reading symbols from /lib/libcrypt.so.4...done.
Loaded symbols for /lib/libcrypt.so.4
Reading symbols from /lib/libz.so.4...done.
Loaded symbols for /lib/libz.so.4
Reading symbols from /usr/lib/libssl.so.5...done.
Loaded symbols for /usr/lib/libssl.so.5
Reading symbols from /lib/libcrypto.so.5...done.
Loaded symbols for /lib/libcrypto.so.5
Reading symbols from /usr/local/mangos2/lib/libmangosscript.so.0...done.
Loaded symbols for /usr/local/mangos2/lib/libmangosscript.so.0
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 ~Unit (this=0x8366bf000) at list.tcc:77
77 __cur = static_cast<_Node*>(__cur->_M_next);
[New Thread 0x81b982880 (LWP 100199)]
[New Thread 0x81b9826f0 (LWP 100177)]
[New Thread 0x81b982560 (LWP 100176)]
[New Thread 0x81b9823d0 (LWP 100175)]
[New Thread 0x81b982240 (LWP 100174)]
[New Thread 0x80b313ce0 (LWP 100170)]
[New Thread 0x8023026f0 (LWP 100168)]
[New Thread 0x802302560 (LWP 100166)]
[New Thread 0x8023023d0 (LWP 100099)]
[New Thread 0x8023020b0 (LWP 100294)]
(gdb) bt full
#0 ~Unit (this=0x8366bf000) at list.tcc:77
No locals.
#1 0x0000000000529a3c in ~Creature (this=0x8366bf000)
at ../../../src/game/Creature.cpp:148
No locals.
#2 0x000000000065e98b in ObjectGridUnloader::Visit<Creature> (this=Variable "this" is not available.
)
at ../../../src/game/ObjectGridLoader.cpp:274
obj = (Creature *) 0x8366bf000
#3 0x000000000065db0c in ObjectGridUnloader::Unload (this=0x7fffff3f8d40,
grid=@0x81f2e0830) at TypeContainerVisitor.h:47
No locals.
#4 0x0000000000621e51 in Map::UnloadGrid (this=0x81bf54000,
x=@0x7fffff3fae5c, y=@0x7fffff3fae58, pForce=Variable "pForce" is not available.
) at GridLoader.h:72
unloader = {i_grid = @0x81f2dc000}
grid = (NGridType *) 0x81f2dc000
gx = Variable "gx" is not available.
(gdb) q

Antimozg 18.04.2010 17:59

а кто нить систему знает, как именно крашат?
З.Ы. простая очистка групп полностью исключит возможность так крашануть или ет только профилактика ?)

ice74 18.04.2010 19:36

только профилактика :(
Завтра точно узнаю как это делается

Insider42 15.05.2010 15:35

просьба протестировать данный патч http://paste2.org/p/828250 . А точнее это два патча, один от selector, другой от apostal, соединены в один. Возможно решит проблему выгрузки гридов. Никаких гарантий не даю, но у меня сервер не падает уже 18 часов с онлайном 150-200, у selector также, но с онлайном ~600

Кстати один из них уже был написан достаточно давно SilverIce, можно откопать в его репозитории.

anvd24 19.05.2010 16:02

Цитата:

Сообщение от ice74 (Сообщение 4707)
только профилактика :(
Завтра точно узнаю как это делается

ну и как успехи?
Ловлю такую же проблему.
Код:

ERROR:InstanceMap::Add: player Test(19) is being put in instance 543,3,1 but he is in group 9 which is bound to instance 543,2,1!
Патч не использовал пока.
Кто пробовал решает вопрос или нет?

ice74 19.05.2010 20:41

если выключить выгрузку гридов
по стабильность повышается

anvd24 20.05.2010 09:28

Цитата:

Сообщение от ice74 (Сообщение 6865)
если выключить выгрузку гридов
по стабильность повышается

да падает через раз.

Я не силен в Си, но если кто то объяснит как бы это исправить.

Игрок делает героик.ключ для героика есть у него,у остальных нет.в пати три человека.
Входит сам лидер(причем после входа его иконка помечается как офлайн).за ним входит кто то из пати,причем не обязательно 70 уровня для героика, а может быть и 55.Если не упал сервер, то стоит выйти из героика кому то и он упадет.
В любом случае это достаточно критично.
Попробую переправить по патчу выложенному выше.
Надеюсь поможет.
О результатах проверки,доложу.:popcorm2:

zergtmn 20.05.2010 09:46

Еще такой баг: захожу в инст на 25 игроков (например, Ульдуар), делаю рестарт сервера, после входа в игру оказываюсь в Ульдуаре на 10 игроков, но выбрана сложность 25 игроков О_о! Может быть сложность не правильно сохраняется?
Проверялось на чистом ядре 9903.

Insider42 20.05.2010 10:09

если вы не привязаны к копии инстанса (пернаментный бинд) то скорее всего так и произойдёт.

И хватит воду мутить, я уже создавал тему с подобным багом и описал методы исправления, идите и там пишите :P я что, зря стену текста писал там?

Там же найдёте хак, который избавит вас от этой головной боли...

anvd24 20.05.2010 10:50

Цитата:

Сообщение от Insider42 (Сообщение 6897)
если вы не привязаны к копии инстанса (пернаментный бинд) то скорее всего так и произойдёт.

И хватит воду мутить, я уже создавал тему с подобным багом и описал методы исправления, идите и там пишите :P я что, зря стену текста писал там?

Там же найдёте хак, который избавит вас от этой головной боли...

я читал , видел,буду сейчас пересобирать.
Вопрос к вам уважаемый, простите что тут, в ващем бранче 333
на http://github.com/insider42/mangos уже исправлена эта проблема?

Просто в данный момент стоит делема, тащить мастер ветку или стащить вашу.

при мэйке последней ревизии словил вот такое.
Код:

../../../src/game/Map.cpp: In static member function ‘static bool Map::ExistMap(uint32, int, int)’:
../../../src/game/Map.cpp:85: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadData(char*)’:
../../../src/game/Map.cpp:1109: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadAreaData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1162: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1170: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadHeightData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1179: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1190: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1191: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1199: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1200: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1208: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1209: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp: In member function ‘bool GridMap::loadLiquidData(FILE*, uint32, uint32)’:
../../../src/game/Map.cpp:1222: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1236: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result
../../../src/game/Map.cpp:1241: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result

последня сборка собралась без сбоев.
Попробую накатить патчик который советовали выше.

Insider42 20.05.2010 12:11

Цитата:

Сообщение от anvd24 (Сообщение 6901)
я читал , видел,буду сейчас пересобирать.
Вопрос к вам уважаемый, простите что тут, в ващем бранче 333
на http://github.com/insider42/mangos уже исправлена эта проблема?

методом хака, я его пометил как способ №6


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

ru-mangos.ru - Русское сообщество MaNGOS