Half-Life и Adrenaline Gamer форум
http://econ.aghl.ru/forum/

Странные ошибки при использовании nVault
http://econ.aghl.ru/forum/viewtopic.php?f=20&t=2880
Страница 1 из 2

Автор:  BIGs [ 11 мар 2018, 15:35 ]
Заголовок сообщения:  Странные ошибки при использовании nVault

Всем привет!
Я написал плагин "Система рангов" для Half-Life но у меня возникли трудности :cry:
На Win-де сервер работает стабильно , а вот на Linux (Ubuntu 16.04) у меня происходят странные вещи...
Сервер не запускается , пишет в ответ Sigmentation Fault , а иногда такую парашу как :
 
Но если запустить плагин в dеbug режиме все работает нормально , но если тебя убивает trigger_hut ты замераешь на месте и не возрождаешься. Это можно увидеtь на кaрте Crossfire

Вложения:
Скачать плагин или Скачать исходник [HLRS.sma - 4.86 КБ]
Скачиваний: 230

Автор:  Turanga_Leela [ 12 мар 2018, 00:36 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

BIGs
то что падает на старте сервера - попробуй убрать вывод сообщений на старте сервера, у тебя там их штук ~6, если поможет - тогда сформируй из них 1но(используй formatex) и выводи за раз.

Цитата:
dеbug режиме все работает нормально , но если тебя убивает trigger_hut
а в дебаг режиме не пишется нечто типа - "индекс аут оф боундс" при тех же условиях ?
Код:
public HamPlayerKill(victim , attacker)
..
if(!equal(PlayerSteamId[attacker] ,"") && !equal(PlayerSteamId[victim] ,"") )
..
new pKills = rs_get_score(PlayerSteamId[attacker]);
..
rs_set_score(PlayerSteamId[attacker],form);
if(victim != attacker)
{
   PlayerScore[attacker]++;
   PlayerScore[victim]--;
}
а где проверки на соответствие "киллера" игроку ?

PS
Код:
public InfoHudMsg(id)
{
   if(is_user_connected(id) && is_user_alive(id))
   {
если игрок "жив", то он и "коннектед" .. лишняя проверка в данном случае

ещё сомневаюсь вот в этом
Код:
case 2001..3500:
{
   return ScoreTab[6];
}
case 3501..5000:
..
тут лучше работать с if / else if (<= ..)

тоже сомнительно
Код:
public client_putinserver(id)
{
   if(id != 0 && id <= get_maxplayers())
   {
на сколько я это знаю - игровая дллка гарантирует диапазон индексов передаваемых в функцию 0 < ? <= MAX_PLAYERS

Автор:  BIGs [ 12 мар 2018, 02:00 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

Спасибо Лила :)
Я практически все доработал , все работает. Но вот я долго мучался с этой ошибкой
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (uns
igned long) (nb)' failed.
Она дается когда плагин без дебага. Я уже и вывод сообщений закоментил.
Все ровно.
PS
Хм . Сейчас я попробовал выдавать инфу через отформатированную строку и то что мне дало
 

Автор:  Turanga_Leela [ 12 мар 2018, 02:13 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

BIGs
а в каком месте падает ? на плугин ините ? или где-то после ?
попробуй зарегать public plugin_cfg() - она идёт после плугин инита, ну и сделать вывод там

Автор:  BIGs [ 12 мар 2018, 02:25 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

Хм , сейчас я вообще избавился от вывода при старте.
И вот итог -
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.


Вложения:
Скачать плагин или Скачать исходник [HLRS.sma - 4.62 КБ]
Скачиваний: 233

Автор:  Turanga_Leela [ 12 мар 2018, 02:31 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

BIGs
выглядит вроде нормально ..

видимо придётся исключать код построчно(из плугин инита) и проверять.
стоит начать с этого, как мне кажется
Код:
//Create DataFile
   new fp = nvault_open("hlrs");
   nvault_close(fp);

Автор:  BIGs [ 12 мар 2018, 02:36 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

Ну вот , я убрал все что могло как-то намекать.
 
Все ровно даёт мне
Код:
hlds_i686: malloc.c:3722: _int_malloc: Assertion `(unsigned long) (size) >= (unsigned long) (nb)' failed.

Автор:  Turanga_Leela [ 12 мар 2018, 02:54 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

BIGs
проверил у себя:
Код:
file /lib/i386-linux-gnu/libc.so.6
/lib/i386-linux-gnu/libc.so.6: symbolic link to libc-2.23.so
т.е. такая же как и у тебя:
Код:
f7550000-f7700000 r-xp 00000000 fd:01 6043569 /lib/i3
86-linux-gnu/libc-2.23.so
при этом, подобных ошибок у себя я никогда не замечал.

какой версии амхх ?

Автор:  BIGs [ 12 мар 2018, 02:57 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

У меня 1.8.2 hg14
И мет 1.20

Автор:  Turanga_Leela [ 12 мар 2018, 03:27 ]
Заголовок сообщения:  Re: Странные ошибки при использовании nVault

BIGs
попробовал скомпилять у себя
Цитата:
AMX Mod X version 1.8.3-dev+5120
Metamod version 1.20
возникла та же проблема что и у тебя(иногда писало про двойное освобождение памяти).

по итогам тестов получилось, что проблема в компиляторе амхх.

используй онлайн компилятор с сайта:
http://aghl.ru/webcompiler/webcompiler.php

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/