SA-MP Forums Archive
Краш - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Краш (/showthread.php?tid=535491)



Краш - XemyL - 04.09.2014

Изредка сервер падает и крашдетект выдаёт это. Переполнение стека, но что его может вызывать? Во всех stock которые возвращают строки стоит debug и перед крашем данные функции не вызывались.

PHP Code:
[12:38:41] [debugRun time error 3"Stack/heap collision (insufficient stack size)"
[12:38:41] [debug]  Stack pointer (STKis 0x647FF40heap pointer (HEAis 0x6481520
[12:38:41] [debugAMX backtrace:
[
12:38:41] [debug#0 00000008 in Float:operator++(Float:) (Float:oper=0.00000) at C:\Важное\GTA SA-MP\SA-MP Server 0.3z\pawno\include\float.inc:102 



Re: Краш - DartfoL - 04.09.2014

в AMX backtrace только одна строчка?


Re: Краш - XemyL - 04.09.2014

Да, собственно из-за этого и проблема с поисками причины... Пригодится любой совет.


Re: Краш - XemyL - 04.09.2014

От самых первых версий мода во многих пабликах ещё остались new String с размером от 20 до 1000. Как думаете, может ли быть это причиной крашей? В теории может, если бы этот паблик вызвали 2-3 игрока почти одновременно...


Re: Краш - eakwarp - 04.09.2014

Увеличте размер стека и дело с концом.


Re: Краш - XemyL - 04.09.2014

Решать нужно проблему, а не её симптомы)


Re: Краш - XemyL - 04.09.2014

Quote:
Originally Posted by XemyL
View Post
От самых первых версий мода во многих пабликах ещё остались new String с размером от 20 до 1000. Как думаете, может ли быть это причиной крашей? В теории может, если бы этот паблик вызвали 2-3 игрока почти одновременно...
И всё же, как думаете?


Re: Краш - eakwarp - 04.09.2014

Quote:
Originally Posted by XemyL
View Post
И всё же, как думаете?
Павн машина однопоточна, так это не работает.


Re: Краш - XemyL - 04.09.2014

Quote:
Originally Posted by eakwarp
View Post
Павн машина однопоточна, так это не работает.
Как то давно я провёл эксперимент. Использовал один глобальный массив для всех текстов. В итоге когда 2 игрока почти одновременно вводили одну и ту же команду, которая выводила форматированный текст, первому игроку вывело текст второго игрока. т.е. код сработал так:
format(...) - 1 игрок
format(...) - 2 игрок
SendClientMessage(...) - 1 игрок
SendClientMessage(...) - 2 игрок

Если бы был всего один поток, такой проблемы бы не было. Как тогда объяснить это явление?


Re: Краш - eakwarp - 04.09.2014

Quote:
Originally Posted by XemyL
View Post
Как то давно я провёл эксперимент. Использовал один глобальный массив для всех текстов. В итоге когда 2 игрока почти одновременно вводили одну и ту же команду, которая выводила форматированный текст, первому игроку вывело текст второго игрока. т.е. код сработал так:
format(...) - 1 игрок
format(...) - 2 игрок
SendClientMessage(...) - 1 игрок
SendClientMessage(...) - 2 игрок

Если бы был всего один поток, такой проблемы бы не было. Как тогда объяснить это явление?
Ваши кривые руки, по-моему отличное объяснение, павн однопоточен, это такая же истина, как то что квадрат квадратный, а не круглый.