Ошибки текущей версии хаба, Обнаруженные ошибки публикуются в этой теме |
Здравствуйте, гость ( Вход | Регистрация )
Ошибки текущей версии хаба, Обнаруженные ошибки публикуются в этой теме |
3.3.2010, 20:45
Сообщение
#1
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
Весь лог ошибок rushub_2.1.4:
Цитата [Tue Mar 02 20:14:26 2010] (0) cDCServer: Listening on 0.0.0.0:411 TCP
(error)[Wed Mar 03 00:06:31 2010] (2) cDCServer: Adding twice user with same nick [saratov]McSimko ([saratov]McSimko) Dump: Size = 45 Capacity = 64 i = 3 count = 1 Key = 3572612163 Data = 00A83FF4 i = 4 count = 2 Key = 606005956 Data = 00A83EB4 Key = 755846660 Data = 00A848B4 i = 5 count = 1 Key = 238120133 Data = 00A83D74 i = 6 count = 2 Key = 3297350214 Data = 00A84774 Key = 711121606 Data = 00A84814 i = 7 count = 1 Key = 3930883847 Data = 00A84454 i = 9 count = 1 Key = 1835286025 Data = 00A84274 i = 10 count = 1 Key = 677449226 Data = 00A82FB4 i = 12 count = 1 Key = 1595177932 Data = 00A83CD4 i = 15 count = 1 Key = 677283535 Data = 00A844F4 i = 16 count = 2 Key = 2191413776 Data = 00A6C39C Key = 880816720 Data = 00A83C34 i = 18 count = 1 Key = 3361700690 Data = 00A83AF4 i = 19 count = 1 Key = 388260243 Data = 00A84594 i = 23 count = 1 Key = 1744998103 Data = 00A83F54 i = 25 count = 2 Key = 309470233 Data = 00A6A7DC Key = 778481177 Data = 00A84A94 i = 28 count = 1 Key = 133734812 Data = 00A84634 i = 30 count = 1 Key = 139982750 Data = 00A72634 i = 36 count = 1 Key = 1737427172 Data = 00A849F4 i = 37 count = 1 Key = 1477740965 Data = 00A84314 i = 38 count = 1 Key = 1238448230 Data = 00A84BD4 i = 39 count = 2 Key = 339942119 Data = 00A83A54 Key = 3812800999 Data = 00A84EF4 i = 43 count = 1 Key = 1905113835 Data = 00A83234 i = 45 count = 2 Key = 866674285 Data = 00A830F4 Key = 1905614573 Data = 00A83374 i = 46 count = 1 Key = 993689518 Data = 00A84D14 i = 48 count = 1 Key = 1559672624 Data = 00A84954 i = 49 count = 1 Key = 289930289 Data = 00A83194 i = 51 count = 1 Key = 3286386867 Data = 00AA279C i = 52 count = 1 Key = 1363082804 Data = 00A83414 i = 53 count = 1 Key = 1896855989 Data = 00908F3C i = 55 count = 1 Key = 879230071 Data = 00A83054 i = 57 count = 2 Key = 3278389177 Data = 00A839B4 Key = 2052605753 Data = 00A84B34 i = 59 count = 1 Key = 1854980283 Data = 00A83914 i = 60 count = 2 Key = 3598652 Data = 00A832D4 Key = 2407135868 Data = 00A83B94 i = 62 count = 2 Key = 2525989374 Data = 00A7E99C Key = 3966944254 Data = 00A846D4 i = 63 count = 3 Key = 677441855 Data = 00A83E14 Key = 134784703 Data = 00A83874 Key = 3308945791 Data = 00A83694 |
|
|
3.3.2010, 21:01
Сообщение
#2
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
На дамп хеш-таблицы можно не обращать внимание, это я для проверки вставил.
Цитата Adding twice user with same nick [saratov]McSimko ([saratov]McSimko) В скобочках написан ник пользователя, который уже находится на хабе, до скобочек ник пользователя который пытается войти, причём на стадии валидации ника это совпадение ников не было обнаружено, из чего можно сделать вывод, что либо входят одновременно 2 пользователя с один и тем же ником. Либо кто-то просто в один клиент добавил 2 раза хаб в любимые с одним и тем же ником, поставил автоконнект к этим 2 хабам при запуске, запускает клиент и клиент пытается дважды войти на хаб под одним и тем же ником, причём одновременно. Если бы не одновременно, то совпадение ников бы отлавливалось на стадии валидации ника. В следующей версии хаба переведу эту ошибку из разряда ошибок в разряд событий, чтобы она не мозолила глаза. |
|
|
15.3.2010, 10:44
Сообщение
#3
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Почистил тему и жалуюсь дальше... Решил я переделать все-таки веб-сервер под работу с функциями русхаба (а не библиотекой сокетов) и сразу на стадии тестирования ушел в ступор. Вот простенький скрипт, отдающий стучащемуся клиенту простую страницу с формой на его запрос:
Код sHelpData = [[HTTP/1.1 200 OK Connection: close <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Документ без названия</title> </head> <body> <form id="form1" name="form1" method="post" action=""> <label> qwe <input type="text" name="qwe" id="qwe" /> </label> <input type="submit" name="button" id="button" value="Отправить" /> </form> </body> </html> ]] function OnWebData(WebID, sData) local tUser = Core.GetUser(WebID, 2^8+2^9) Core.SendToAll(" \n iPort = "..tUser.iPort.." \n iPortConn = "..tUser.iPortConn.."\n\n"..sData) Core.SendToUser(WebID, sHelpData) end Скрипт выводит в чат хаба тело запроса юзера и порты по которым он соединяется, так вот иногда соединение не происходит и опера пишет "Соединение закрыто удалённым сервером", систематичность данного явления я не выявил, хотя на вин 7 это случалось чаще, на ХР получилось раза с 20 вывести сервер в такое состояние. Пожалуйста, посмотри в чем дело, может это реакция на "флуд" или что-то еще? Хаб и луа последней версии. |
|
|
15.3.2010, 18:12
Сообщение
#4
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Попробуй в событии OnWebData возвращать true.
Хаб принудительно закрывает соединения, если в событии не возвращается true или 1, в противном случае соединение будет закрыто после бездействия клиента некоторое время или после принудительного закрытия соединения со стороны клиента. |
|
|
31.3.2010, 15:12
Сообщение
#5
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Тестировал на XP с оперой 10.51.
Ничего подобного не выявил. Надо 20 раз подряд грузить страницу или что? ================== Я понял откуда ноги растут с секундными задержками. Дело в том, что в ответе на запрос указывается: Connection: close, и, следовательно, браузер ждёт от сервера закрытия соединения. На хабе баг в событии OnWebData так как в описании сказано, что по умолчанию сервер разъединяет клиента после отработки события, а на практике всё с точностью наоборот. То есть, на деле получается, что если событие OnWebData ничего не возвращает, клиент не разъединяется, если же вернуть true, то будет работать всё как надо. В следующей версии это будет исправлено, и по умолчанию всё же будет разъединения клиента, а return true в событии OnWebData будет отвечать за удержание коннекта. |
|
|
4.4.2010, 21:35
Сообщение
#6
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
Используя фаерфокс с фаербагом я понял почему такие задержки - это получение айпишника для localhost, что вообще как-то глупо, по адресу 127.0.0.1 все работает довольно шустро, хотя скорость работы встроенного веб-сервера (70-200 мсек) все равно ниже чем у того что получилось в работе с библиотекой сокетов (20-40 мсек), я опять же грешу на специфику неблокирующих сокетов.
Из еще того что хотелось бы отметить: при выходе из режима гибернации на вин 7, 32 бита, приложение заканчивает свою работу. И аналогичная птоке фигня с добавлением таймера только глобальной функции, к примеру OnEvent, но событие из таблицы tGlobalClass.OnEvent (про tGlobalClass:OnEvent вообще молчу т.к. в функцию не передаются параметры) вызвать нельзя, надеюсь понятно объяснил |
|
|
4.4.2010, 22:08
Сообщение
#7
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
По поводу веб-сервера хз.
По поводу гибернации, то это будет уже исправлено в следующей версии. С таймерами да - ищется глобальная функция. Так уж устроено. Я подумаю как сделать для любых функций. |
|
|
5.4.2010, 17:19
Сообщение
#8
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 3 Регистрация: 4.4.2010 Пользователь №: 6 560 Спасибо сказали: 0 раз |
При запуске под XP64 вылетает на неустранимую ошибку и закрывается с предложением отправить отчет. Какая информация еще нужна?
|
|
|
17.6.2010, 23:49
Сообщение
#9
|
|
Продвинутый участник Группа: Пользователи Сообщений: 179 Регистрация: 24.2.2009 Из: Самара Пользователь №: 2 340 Спасибо сказали: 103 раза |
Через LUA-консоль Экзекутора ввожу код:
Код local test_counter=0 local test_startTime=os.time() while test_startTime==os.time() do end test_startTime=os.time() while os.time()==test_startTime do test_counter=test_counter+1 GetAllRegs() end return tostring(test_counter) и сервер крэшится, ошибка в модуле lua.dll Вот функция GetAllRegs(): Код function GetAllRegs() local tTab={} for i,t in pairs(Core.GetGVal("FirstRusHubBot.lua", "tRegUsers")) do tTab[i]=t.iProfile end return tTab end --получение таблицы со всеми зарегистрированными пользователями ([user]=class) Сама консоль работает так: Код local res,c=loadstring(data) if not res then sTmp="ОШИБКА: "..tostring(c) else sTmp="\nLUA># "..tostring(res() or "") end где data - текст, который я ввожу в консоль. По отдельности всё работает... |
|
|
21.6.2010, 12:22
Сообщение
#10
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Предыдущий баг в функции Core.GetGVal пофикшен.
На данный момент существуют серьёзные баги, которые могут возникать при ошибках в событиях скриптов OnExit и OnError. Баги приводят к падению хаба, при этом ошибки всё же логируются. Устранение этих багов требует серьёзных изменений способа хранения скриптов в списке. Постараюсь как можно быстрее исправить эти баги. Пока что для того чтобы эти баги не проявлялись, нужно стараться писать скрипты без ошибок в событиях OnExit и OnError. |
|
|
13.7.2010, 21:52
Сообщение
#11
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Баги с падением хаба, о которых было написано в предыдущем моём посте, в текущей версии lua плагина (1.20) устранены.
Однако, нашел ещё небольшой баг. Заключается он в следующем: в событии OnMyINFO у пользователя НЕ только что присланная на хаб MyINFO строка, а предыдущая. Другими словами, сейчас MyINFO записывается после отработки события OnMyINFO, что является в корне не правильным, так как именно в данном событии по большому счёту и осуществляются различные проверки параметров пользователя. В следующей версии это будет исправлено. Плюс в следующей версии наконец таки будет сделан парсинг MyINFO строки и возможность получать в скриптах параметры MyINFO строки. Некое резюме по поводу события OnMyINFO и парсинга MyINFO строки: Во-первых, стоит отметить, что в новой версии MyINFO строка будет устанавливаться до вызова события OnMyINFO. То есть в событии OnMyINFO можно будет получить актуальные параметры пользователя. Во-вторых, в самом событии OnMyINFO (и не только в этом событии) мы можем переустановить (переопределить) MyINFO строку по своему усмотрению. Делается это простым присвоением UID.sMyINFO = "$MyINFO ...". Самое главное в строке придерживаться правильного синтаксиса (по NMDC протоколу). При этом при переустановке будет автоматически произведён парсинг. Чем важен этот пункт? Да тем, что мы одним движением руки можем изменить, например, описание пользователя, которое содержит рекламу. Кстати, в дальнейшем также планируется и более мощное действие: изменение описания пользователя не установкой MyINFO строки с последующим парсингом и, соответственно, изменением описания, а прямое изменение описания, с последующим восстановлением по всем параметрам MyINFO строки В-третьих, вернув в событии OnMyINFO значение true, мы тем самым запрещаем хабу рассылать всем пользователям только что изменённую строку MyINFO, причём не важно каким образом была изменения эта MyINFO строка. То есть все её изменения сохраняются, он эти изменения не будут отсылаться пользователям хаба. Это действие также можно использовать в скриптах, например, для сокрытия пользователя. Хотя на хабе предусмотрен более мощный механизм сокрытия, который скрывается пользователя из списка для всех, кроме самого этого пользователя. |
|
|
15.7.2010, 14:16
Сообщение
#12
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Последняя версия хаба и луа плагина, попытался от безделья перевести муторский скрипт но при его запуске скрипта
121.jpg ( 219.47 килобайт ) Кол-во скачиваний: 161 Сам скрипт[attachment=4728:Dynamic_....0e_L5.1.lua] |
|
|
15.7.2010, 20:42
Сообщение
#13
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
хехе
Данный баг не связан с рус хабом. Это баг в lua. Проверил на чистом lua - тоже падает. Баг в функции os.date. В частности баг даёт о себе знать если подставить неверный параметр, например os.date("%s") Существующие параметры: %A, %a, %B, %b, %c, %d, %H, %I, %j, %m, %M, %p, %S, %U, %W, %w, %X, %x, %Y, %y, %Z, %z, %% Как видим параметра %s в этом списке нету. Функция будет падать при любом отсутствующем в этом списке параметре если его ставить после процента Тогда возникает вопрос почему же в птохе не падает? Видимо РРК там что-то подкрутил, так как даже на чистом луа падает |
|
|
15.7.2010, 20:49
Сообщение
#14
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Илья, так и тут бы нам что либо придумать, чтобы хаб вообще не крашился. Ибо нам не к чему это
Надеюь что ты сможешь что либо придумать |
|
|
17.7.2010, 15:18
Сообщение
#15
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
решил взять исправленную библиотеку oslib из lua 5.2. Там этот баг исправлен, и если в функции os.date встречается неизвестный параметр, то возникает lua ошибка и скрипт просто останавливается. В логе будет что-то на подобии следующей записи:
Код ...ug/scripts/Dynamic_Downloads_1.0e_L5.1.lua:96: bad argument #1 to 'date' (invalid conversion specifier '%s ')
|
|
|
26.7.2010, 1:43
Сообщение
#16
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Опять стало очень печально, решил перевести ещё GraphPX взял либсу файл gd.dll из пакета Lua-AIO поместил её в корень хаба.
После запуска скрипта проходит буквально секунд 20-30 и возникает крах хаба. После того как переместил библиотеку в папку libs хаб с виду перестал перестал крошиться, но потом проходит буквально минут 5 и снова крах.. Скрин ошибки: 545.jpg ( 278.55 килобайт ) Кол-во скачиваний: 147 Сам вроде переведённый скрипт: GraphPX.rar ( 4.78 килобайт ) Кол-во скачиваний: 2 PS. Илья, если ввёл сейчас в заблуждение - прошу прощения.. |
|
|
26.7.2010, 9:12
Сообщение
#17
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Ок. Сегодня вечером посмотрю в чём дело.
Спасибо за активное тестирование. |
|
|
26.7.2010, 21:29
Сообщение
#18
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Такс...
Ошибка почти такая же как и уже была, когда хаб падал при добавлении задачи в очередь при процессе прохождения очереди. Тут тоже самое но со списком таймеров. Ошибка из-за добавления таймера в процессе выполнения другого таймера. Ошибку постараюсь исправить как можно быстрее. Ставлю себе приоритет бага как critical со сроком выполнения в 2 дня (до четверга) Кстати, сразу же заметил что также не работает функция удаления таймера при выполнении другого таймера (уже исправил в след. версии). Отсюда сразу же видны ограничения которые нужно будет ввести для случая намеренного увеличения таймеров. На данный момент таймеры можно добавлять пока не кончится оперативная память - это потенциальная уязвимость хаба. Будет введено ограничение: максимум 100 таймеров на скрипт. |
|
|
28.7.2010, 23:28
Сообщение
#19
|
|
Я коварный Санта Клаус Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза |
у меня одного ниодин скрипт не работает? (это после перехода на rushub v 2.2.0 lua plugin v 1.23)
Причина редактирования: от Nickolya: закрепленная тема русхаба не для дискуссий, ошибки обсуждаем в этой теме.
|
|
|
28.7.2010, 23:34
Сообщение
#20
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
наверно
тыкни № 01 [ вкл ] FirstRusHubBot.lua (317 Кб) № 02 [ вкл ] GeoCityMOTD.lua (103 Кб) № 03 [ вкл ] BashMySQL.lua (114 Кб) № 04 [ вкл ] BanManager.lua (51 Кб) № 06 [ вкл ] Ekzekutor.lua (17064 Кб) № 07 [ вкл ] CollectorMagnets2.4.lua (98 Кб) № 08 [ вкл ] AntiFlood.lua (33 Кб) № 09 [ вкл ] HubTopic.lua (32 Кб) № 10 [ вкл ] pinger.lua (34 Кб) № 11 [ выкл ] AntiAdv.lua № 12 [ вкл ] texts.lua (31 Кб) № 13 [ вкл ] MagnetLogs.lua (48 Кб) № 14 [ выкл ] WebServer_v0.2.lua № 15 [ вкл ] logger.lua (108 Кб) № 16 [ выкл ] TempMail.ru.lua № 17 [ вкл ] SendToError Scripts.lua (27 Кб) № 18 [ вкл ] AntiProxy.lua (30 Кб) № 19 [ выкл ] chathist.lua № 20 [ выкл ] Bomb.lua № 21 [ выкл ] stats.lua № 22 [ выкл ] ContextMenu.lua № 23 [ выкл ] antibot.lua № 24 [ выкл ] Records.lua № 25 [ вкл ] RusRC_Server.lua (68 Кб) № 26 [ выкл ] chat_clean.lua № 27 [ выкл ] Access_IPRanges_beta_v0.1for_RusHub.lua № 28 [ выкл ] Dynamic Downloads 1.0e L5.1.lua № 29 [ вкл ] webstats.lua (53 Кб) № 30 [ вкл ] Kinozal_tv.lua (31 Кб) № 31 [ вкл ] ChatHistorySQL.lua (97 Кб) № 32 [ вкл ] UnknownCommandBlock_RusHub.lua (35 Кб) № 33 [ выкл ] scripts.lua № 34 [ выкл ] Userbars.lua № 35 [ вкл ] GraphPX.lua (288 Кб) *** Общее использование памяти скриптами: 18 эта же версия хаба и луа плагина. Однако баг есть в другом..... Чуть пойже опишу. Что и как видел своими глазами |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 3:18 |