Slava 1 Posted 2008-03-03 05:19:46 Share Posted 2008-03-03 05:19:46 В чем проявилось зависание? Процесс stg-exec висит в памяти, процесса stargazer нет интернет есть у тех кто был подключен до зависания. Для всех других пользователей InecAcsess не коннектится конфигуратором зайти также невозможно. После перезапуска все заработало. Link to post Share on other sites
zulu_Radist 856 Posted 2008-03-03 07:27:03 Share Posted 2008-03-03 07:27:03 В чем проявилось зависание? Процесс stg-exec висит в памяти, процесса stargazer нет интернет есть у тех кто был подключен до зависания. Для всех других пользователей InecAcsess не коннектится конфигуратором зайти также невозможно. После перезапуска все заработало. Это он не завис, а тупо слетел Link to post Share on other sites
madf 279 Posted 2008-03-03 08:13:57 Share Posted 2008-03-03 08:13:57 Ну в логе ничего нету. Если проблема будет повторяться - собери в debug-режиме и посмотри что он на консоль выведет при падении. Желательно получить корку и отослать вместе с бинарями мне (faust@stg.dp.ua). Link to post Share on other sites
Keen 10 Posted 2008-03-04 00:27:48 Share Posted 2008-03-04 00:27:48 ребята, это уже давно делалось...... З.Ы. Не в обиду, наболело. Уже пару корок отправлял, а толку ноль. Баг падения каждой версией под моим gentoo пока исправить не удалось. Link to post Share on other sites
Slava 1 Posted 2008-03-04 04:55:23 Share Posted 2008-03-04 04:55:23 Еще одна неприятная бага: не выполняются скрипты OnConnect Для некоторых пользователей (замечено сразу на 2-х) помогает только перезапуск самого Stargazer. В логах на этот счет ничего. Link to post Share on other sites
nallien 3 Posted 2008-03-04 08:56:39 Share Posted 2008-03-04 08:56:39 да онконнект не исполняется в это время в конфигураторе у пользователя стоит онлайн.... ну и напоминаю - при удалении пользователя - падает сервер.... Link to post Share on other sites
Bas 2 Posted 2008-03-04 10:15:20 Share Posted 2008-03-04 10:15:20 Данные 2 баги: вылет стг и вылет при удалении был и на старой версии. Я хотел перейти на новую версию в надежде избавиться от этих проблем, но помимо старых в новом релизе есть ещё и новые. Кстати авторы СТГ, а релиз обновляется по исправлению ошибок, или надо читать эту ветку в поисках решений? И можно ли будет вернуться назад, если мне что не понравится... Т.е. есть ли конвертер mysql -> file? Link to post Share on other sites
madf 279 Posted 2008-03-04 14:17:54 Share Posted 2008-03-04 14:17:54 По идее на сайте все должно быть самое свежее. С помощью projects/convertor можно конвертнуть откуда угодно куда угодно. Link to post Share on other sites
madf 279 Posted 2008-03-04 14:19:17 Share Posted 2008-03-04 14:19:17 В версию, которая лежит на оффсайте не включены только исправления от den68 в модуле mysql. Link to post Share on other sites
neom 9 Posted 2008-03-04 14:54:21 Share Posted 2008-03-04 14:54:21 to madf Ты советовал по поводу юзеров которые включены не с начала месяца посмотреть в сторону FullFee чет я в конфиге старика его не нашел посоветуй плиз где копнуть чтобы у юзеров которые включены в середине месяца или вконце 1 числа снималась абонка полностью а не частично как сейчас. версия сервера stg-2.4-2007.10.08-15.54.00 Link to post Share on other sites
madf 279 Posted 2008-03-04 15:04:41 Share Posted 2008-03-04 15:04:41 В этой версии вполне может не быть. Попробуй прописать в конфиге FullFee = yes Link to post Share on other sites
napTu 4 Posted 2008-03-04 19:05:50 Share Posted 2008-03-04 19:05:50 FullFee только в 2.404 появилась. в 2.403б отсутствовала. Я правил по моему users, где идет расчет снятия денег, там всё прозрачно просто написано и прокомментировано (типа fee=userfee-userfee*inactivedays). кстати, при удалении у меня не падает сейчас - фря4.10. Link to post Share on other sites
madf 279 Posted 2008-03-05 06:59:49 Share Posted 2008-03-05 06:59:49 user.cpp Метод ProcessDayFee Падение при удалении проявляется не всегда. Кое-какие фиксы в этом направлении были, но пока я не гарантирую того что он не будет при этом падать. Просто такое поведение редко проявляется. Link to post Share on other sites
den68 0 Posted 2008-03-05 11:01:08 Share Posted 2008-03-05 11:01:08 user.cppМетод ProcessDayFee Падение при удалении проявляется не всегда. Кое-какие фиксы в этом направлении были, но пока я не гарантирую того что он не будет при этом падать. Просто такое поведение редко проявляется. при IPQ почти никогда, при EtherCap почти всегда. Link to post Share on other sites
Smeet 0 Posted 2008-03-05 12:24:54 Share Posted 2008-03-05 12:24:54 В версию, которая лежит на оффсайте не включены только исправления от den68 в модуле mysql. вы имеете в виду ссылку в шапке этой темы? http://stg.dp.ua/download/server/2.404.9.7...404.9.7.src.tgz Но там последнее изменение файлов 06.01.08 - это и есть последняя дата исправлений? Link to post Share on other sites
madf 279 Posted 2008-03-05 13:18:19 Share Posted 2008-03-05 13:18:19 user.cppМетод ProcessDayFee Падение при удалении проявляется не всегда. Кое-какие фиксы в этом направлении были, но пока я не гарантирую того что он не будет при этом падать. Просто такое поведение редко проявляется. при IPQ почти никогда, при EtherCap почти всегда. Хммм! Это очень интересно! Link to post Share on other sites
madf 279 Posted 2008-03-05 13:20:19 Share Posted 2008-03-05 13:20:19 В версию, которая лежит на оффсайте не включены только исправления от den68 в модуле mysql. вы имеете в виду ссылку в шапке этой темы? http://stg.dp.ua/download/server/2.404.9.7...404.9.7.src.tgz Но там последнее изменение файлов 06.01.08 - это и есть последняя дата исправлений? Да. Некоторые исправления, конечно, вносились и потом, но они пока только в CVS. Ничего критического не правилось. Link to post Share on other sites
Bas 2 Posted 2008-03-05 14:45:41 Share Posted 2008-03-05 14:45:41 gmake -C store/mysqlgmake[2]: Entering directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins/store/mysql' ../../Makefile.in:35: deps: No such file or directory gmake[2]: Leaving directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins/store/mysql' gmake[2]: Entering directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins/store/mysql' g++ -c mysql_store.cpp -O2 -I/usr/local/include -Wall -fPIC -I /usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/../../include -DFREE_BSD5 mysql_store.cpp:21:19: mysql.h: No such file or directory mysql_store.cpp:22:20: errmsg.h: No such file or directory mysql_store.cpp: In member function `virtual int MYSQL_STORE::SaveUserConf(const USER_CONF&, const std::string&) const': mysql_store.cpp:1018: warning: long int format, int arg (arg 3) mysql_store.cpp: In member function `virtual int MYSQL_STORE::SaveUserStat(const USER_STAT&, const std::string&) const': mysql_store.cpp:1064: warning: long int format, int arg (arg 6) mysql_store.cpp:1064: warning: long int format, int arg (arg 7) mysql_store.cpp:1064: warning: long int format, int arg (arg 8) gmake[2]: *** [mysql_store.o] Ошибка 1 gmake[2]: Leaving directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins/store/mysql' gmake[1]: *** [store/mysql] Ошибка 2 gmake[1]: Leaving directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins' gmake: *** [plugins] Ошибка 2 [root@freenet /home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer]# uname -aFreeBSD freenet.kamchatka.ru 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Sun Sep 23 21:30:13 PETST 2007 bas@freenet.kamchatka.ru:/usr/src/sys/i386/compile/FREENET i386 [root@freenet /home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer]# mysql -Vmysql Ver 14.12 Distrib 5.0.45, for portbld-freebsd6.2 (i386) using 5.0 Поставлено из портов, сделаны символические ссылки: [root@freenet /usr/lib/mysql]# ls -lalrwxr-xr-x 1 root wheel 38 6 мар 02:30 libmysqlclient.so -> /usr/local/lib/mysql/libmysqlclient.so lrwxr-xr-x 1 root wheel 41 6 мар 02:30 libmysqlclient.so.15 -> /usr/local/lib/mysql/libmysqlclient.so.15 и [root@freenet /usr/lib]# ls -la | grep libmysqlclientlrwxr-xr-x 1 root wheel 38 6 мар 02:30 libmysqlclient.so -> /usr/local/lib/mysql/libmysqlclient.so lrwxr-xr-x 1 root wheel 41 6 мар 02:31 libmysqlclient.so.15 -> /usr/local/lib/mysql/libmysqlclient.so.15 [root@freenet /usr/lib]# gcc -vUsing built-in specs. Configured with: FreeBSD/i386 system compiler Thread model: posix gcc version 3.4.6 [FreeBSD] 20060305 Это раз. Использовал доработку den68. Не нашёл конвертеров с мускула назад в сторе_файл - если у меня пойдёт что не так через неделю, то усё, пути назад нет? Я ведь поэтому и спросил... Это два. Про направления: я вручую разбирю строку направлений и рулю фаерволом, я правильно понял? Это три. Четыре. Про опечатки в комментах конфига я не буду, да? Пять. Скрипт OnDisconnect. #user IDID=$4 #Selected dirs to disconnect DIRS=$4 Кажется кто-то промазал... Во втором случае я надеюсь 5. Дальше. [root@freenet /home/bas/bin]# ls -la | grep sgconf-rwxr-xr-x 1 root wheel 29839 6 мар 03:04 sgconf -rwxr-xr-x 1 bas squid 248421 19 ноя 2006 sgconf.old Обратите внимание на размеры файлов... Старый конфигуратор больше намного... Там всё ок? При запуске вроде на всё отвечает, но сами команды (их выполнение корректоное) пока не проверял. Продолжим с багой. Проинсталил стг. Зашёл под дефолтным админом поменять пароль, поменял, сразу получил кучу ошибок... Зашёл под новым паролем. Нельзя ли покрасивее? А то не понять, поменялся пароль или нет, и всё ли там нормально. Дальше про баги. Есесно юзер test существует и тарифный план tariff. Удаляю тарифный план, пишет нельзя, мол используется. Фигня война. Удаляю юзера, пытаюсь опять удалить тарифный план. Идите лесом, говорят мне, всё равно используется. Перезапускаю стг - всё ок. 2008-03-06 02:51:33 -- +++++++++++++++++++++++++++++++++++++++++++++2008-03-06 03:08:34 -- Admin 'admin', 192.168.0.50: Administrator 'admin' changed. 2008-03-06 03:08:38 -- Admin's connect failed. IP 192.168.0.50 2008-03-06 03:08:53 -- Admin 'admin', 192.168.0.50: Tariff 'tariff' cannot be deleted. Tariff in use. 2008-03-06 03:09:06 -- Admin 'admin', 192.168.0.50: User 'test' deleted. 2008-03-06 03:09:13 -- Admin 'admin', 192.168.0.50: Tariff 'tariff' cannot be deleted. Tariff in use. 2008-03-06 03:09:33 -- Admin 'admin', 192.168.0.50: Tariff 'tariff' cannot be deleted. Tariff in use. 2008-03-06 03:14:19 -- Shutting down... 15 2008-03-06 03:14:39 -- Stg started successfully.2008-03-06 03:14:39 -- +++++++++++++++++++++++++++++++++++++++++++++ 2008-03-06 03:15:57 -- Admin 'admin', 192.168.0.50: Tariff 'tariff' deleted. Пока всё, уже поздно, завтра пойду мучать, пока вроде на сторе_файл работает всё. С нагрузкой пока тоже всё ок, посмотрим что будет утром и в прайм тайм. Link to post Share on other sites
madf 279 Posted 2008-03-06 09:01:05 Share Posted 2008-03-06 09:01:05 1. ... mysql_store.cpp:21:19: mysql.h: No such file or directory mysql_store.cpp:22:20: errmsg.h: No such file or directory ... Симлинки надо не только на либы, но и на заголовочные файлы тоже. 2. Универсальный конвертер: projects/converter 3. Совершенно верно. 4, 5. Ну, с кем не бывает 6. sgconf теперь использует библиотеки stargazer, которые подгружаются динамически. По этому он значительно "похудел" 7. Можно и покрасивее... Когда-нибуть 8. Юзеры удаляются не сразу, а через какое-то время (максимум через минуту, кажется). Link to post Share on other sites
Bas 2 Posted 2008-03-06 09:31:46 Share Posted 2008-03-06 09:31:46 2. По универсальному конвертеру. Я так вкратце пробежался по исходнику и возник вопрос. Там везде только store_file <-> firebird. Разве для mysql оно пойдёт? Сомневаюсь очень, но спрашиваю. По остальному понятно, буду проверять. Сейчас день работы, проблем и зависаний не замечено, нагрузка в пределах нормы. Пока используется store_file. Статистика всё пишется. Link to post Share on other sites
madf 279 Posted 2008-03-06 10:10:58 Share Posted 2008-03-06 10:10:58 Пережиток. Изначально я делал эту тулзу только для firebird и files, но ей пофиг с чем работать. На самом деле все зависит от того, какие модули в конфиге указанны и в каком порядке. Смотри документацию - там все описано. Link to post Share on other sites
Bas 2 Posted 2008-03-06 13:51:30 Share Posted 2008-03-06 13:51:30 Продолжим. Задачей на сегодняшний вечер было скомпилировать и подключить модуль mysql, конвертировать базу пользователей и стабильно работать. Сделав символические ссылки на so-файлы "счастье" не закончилось. Потребовалось делать ссылки на заголовки, которые в моей системе находятся в папке /usr/local/includes/mysql, а скрипт требует их видеть на уровень выше, т.е. в /usr/local/includes. Где настроить путь я не нашёл, пришлось извратиться с 5-10 файлами и сделать ссылки. После этого чудо произошло, модуль скомпилировался. Побыстренькой подправил конфиг Старгейзера, запускаю его и вижу работающий плагин с одним дефлотным юзером. В целом ставим галочку, всё отлично. Начинаем компилить конвертер. Сразу затык на том, что идёт проверка на Фаербёрд, не смотря на то, что в конфиге вроде указано не проверять (не чекать) его. Надеясь, что я хитрее всех комментирую #if [ "$CHECK_FBCLIENT" != "yes" ]#then # echo "-lfbclient not found!" # exit 1 #fi ..., но на каждую хитрую задницу... gmake[2]: *** Нет правила для сборки цели `-lfbclient', требуемой для `mod_store_firebird.so'. Останов.gmake[2]: Leaving directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins/store/firebird' gmake[1]: *** [store/firebird] Ошибка 2 gmake[1]: Leaving directory `/usr/home/bas/docs/stg-install/stg-2.404.9.7/projects/stargazer/plugins' gmake: *** [plugins] Ошибка 2 В итоге сейчас я опять на файлах, а не на мускуле, т.к. конвертер не хочет компиляться. Неужели мне придётся ставить Фаербёрд? Попутно... При компиляции как конвертера, так и конфигураторов скрипт как-то странно выполняется. Странно в том плане, что у меня сложилось впечатление, что он весь Старгейзер пересобирает заново, помимо себя. Link to post Share on other sites
madf 279 Posted 2008-03-06 15:04:54 Share Posted 2008-03-06 15:04:54 Так, с конвертором есть неприятность - в архиве лежит нерабочая версия. Она заточена для работы только с firebird. Сегодня постараюсь пофиксить. По поводу пересборки: при сборке любого проекта собираются и необходимые ему библиотеки. Фишка в том, что каждый проект создает для себя файл настроек Makefile.conf, а make видит, что один из файлов в зависимостях поменялся и собирает все. То есть, даже если после сборки старгейзера остались собранные либы - он их все равно пересоберет. Link to post Share on other sites
den68 0 Posted 2008-03-06 17:59:34 Share Posted 2008-03-06 17:59:34 кстати, на ipq с параметрами тормозит: #define FLUSH_TIME (8) // 10 #define REMOVE_TIME (10) // 31 кстати, на ipq с параметрами не тормозит: #define FLUSH_TIME (5) // 10 #define REMOVE_TIME (8) // 31 Link to post Share on other sites
Bas 2 Posted 2008-03-08 00:05:26 Share Posted 2008-03-08 00:05:26 (edited) Провёл краш-тест Внезапное выключение питания. В итоге данные сбросились, но не у всех пользователей. Причем первый, на кого наткнулся Старгейзер был неактивным пользователем в тот момент. Пока используется store_file. Edited 2008-03-08 01:18:27 by Bas Link to post Share on other sites
Recommended Posts