madf 279 Posted 2008-07-15 14:25:24 Share Posted 2008-07-15 14:25:24 Ну, дай бог чтобы это так было. Его несложно пофиксить - он простой как дрова. Link to post Share on other sites
Колян 2 Posted 2008-07-15 14:41:24 Share Posted 2008-07-15 14:41:24 Ну, дай бог чтобы это так было. Его несложно пофиксить - он простой как дрова. Это при связке с модулем мускуля. Че-то модуль мускуля не хочет с ним дружить Link to post Share on other sites
madf 279 Posted 2008-07-15 14:44:32 Share Posted 2008-07-15 14:44:32 Ну, дай бог чтобы это так было. Его несложно пофиксить - он простой как дрова. Это при связке с модулем мускуля. Че-то модуль мускуля не хочет с ним дружить Странно... По логике такого не может быть. Link to post Share on other sites
gall 6 Posted 2008-07-15 16:20:21 Share Posted 2008-07-15 16:20:21 Итак. Опыт №хххх.знает.какой Отключен всегда онлайн. старт stg_timer.cpp > 18:53:41 > STG_TIMER started. Time: 1216137221 main.cpp > 18:53:41 > Module: /usr/lib/stg/mod_auth_ia.so main.cpp > 18:53:41 > Module: /usr/lib/stg/mod_conf_sg.so main.cpp > 18:53:41 > Module: /usr/lib/stg/mod_cap_ipq.so main.cpp > 18:53:41 > Module: /usr/lib/stg/mod_ping.so Обратим внимание на загружаемые модули и время. После старта сразу идет авторизация. Онлайнеров всего 15. Далее смотрим на две консоли, одна локальная вторая через putty. В putty big-ben:~# ulimit -c 10000 big-ben:~# /sbin/stargazer >>/root/stg_log.log RTNETLINK answers: File exists RTNETLINK answers: File exists We have an error talking to the kernel RTNETLINK answers: File exists RTNETLINK answers: File exists We have an error talking to the kernel Segmentation fault (core dumped) В локальной eth0: Too much work at interrupt, status=0x00000002. stargazer[10783]: segfault at 0 ip b7cea463 sp b716017c error 4 in libc-2.3.6.so[b7c7f000+127000] Как и следовало ожидать есть кора (вчера была 10Мб сегодня 25Мб) и лог дебага. Последняя внятная запись в логе inetaccess.cpp > 18:53:51 > User DNB FOUND! inetaccess.cpp > 18:53:51 > Add new user inetaccess.cpp > 18:53:51 > ========> InitEncrypt 'NO PASSWORD' '80936477273' inetaccess.cpp > 18:53:51 > 1216137231.491824 192 bytes sent to 192.168.51.24:5555 len=192 inetaccess.cpp > 18:53:51 > Monitor time 1216137161 1216137290 inetaccess.cpp > 18:53:51 > recv from 192.168.51.24 5555 len=64 Смотрим на время, сервер пролетел 10 секунд. Возможно я допустил в чем то ошибку и причина настолько банальна, что я ее просто невижу перед собой. Есть какие соображения? ------- P.S.: еще добавлю, чтоб кору не слать gdb ./stargazer core.10780 GNU gdb 6.4.90-debian Copyright © 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". Cannot access memory at address 0xb7f314e8 (gdb) core-file ./core.10780 Cannot access memory at address 0xb7f314e8 Link to post Share on other sites
DarkSpider 36 Posted 2008-07-15 17:51:27 Share Posted 2008-07-15 17:51:27 Всегда онлайн есть.Для теста отключить попробую, но в работе он нужен (если не придумать как без него) поскольку есть пользователи с wi-fi роутерами домашними. Взял скрипты OnConnect и вместо переменных подставил реальные данные (IP, ID, Шейпер). Модуль всегда онлайн убрал. Ручками запускаю вот он и есть всегда онлайн , так как ондисконнект для него не срабатывает. Достаточно удобно, ибо таких роутеров не много. При старте СТГ стартую сначала шейпер, фаервол, потом сам СТГ. База на 200 юзеров(файлы), еще (тьфу-тьфу) ни падала ни разу. Загрузка проца 3-15%. Железо - Р3 2.1 дуо 4Гб Рамы. Винты сата. 7к. RTNETLINK answers: File existsRTNETLINK answers: File exists We have an error talking to the kernel А вот это сильно смахивает на ответ при неправильном шейпере. Проверь его. И кстати, если я не прописываю ID в шейпере (юзаю пока cbq), система виснет намертво. Link to post Share on other sites
gall 6 Posted 2008-07-16 05:00:02 Share Posted 2008-07-16 05:00:02 Взял скрипты OnConnect и вместо переменных подставил реальные данные (IP, ID, Шейпер). Модуль всегда онлайн убрал. Ручками запускаю вот он и есть всегда онлайн , так как ондисконнект для него не срабатывает. Достаточно удобно, ибо таких роутеров не много. При старте СТГ стартую сначала шейпер, фаервол, потом сам СТГ. База на 200 юзеров(файлы), еще (тьфу-тьфу) ни падала ни разу. Загрузка проца 3-15%. Железо - Р3 2.1 дуо 4Гб Рамы. Винты сата. 7к. RTNETLINK answers: File existsRTNETLINK answers: File exists We have an error talking to the kernel А вот это сильно смахивает на ответ при неправильном шейпере. Проверь его. И кстати, если я не прописываю ID в шейпере (юзаю пока cbq), система виснет намертво. Система у меня стартует аналогично. Сначала установка шлюзов и запуск шейпера, потом фаерволл, и только потом по крону в течении первой минуты работы стартует сам СТГ. Онлайнеры тоже не проблема, после старта шейпера их можно скриптом закинуть. Шейпер юзаю htb, насчет ошибок покопаю, но ИМХО какая их роль в падении СТГ. Может у кого сервак на дебиане 4, как бы попробовать запустить мои бинарники на другом железе... может в нем проблема. Хотя с файловой базой на этом железе СТГ отработал много и без проблем (версию только не помню), да и 2,403 версия работает тут в обычном режиме 1-2 падения в сутки с мускульной базой. Link to post Share on other sites
Колян 2 Posted 2008-07-16 06:43:15 Share Posted 2008-07-16 06:43:15 У меня под фрей Наверное потому и различаются наши проблемы Link to post Share on other sites
madf 279 Posted 2008-07-16 08:01:04 Share Posted 2008-07-16 08:01:04 eth0: Too much work at interrupt, status=0x00000002. stargazer[10783]: segfault at 0 ip b7cea463 sp b716017c error 4 in libc-2.3.6.so[b7c7f000+127000] Очень интересна первая строчка. Гугль говорит о проблемах с драйвером и советует обновить ядро. Я бы покопал в эту сторону, т.к. больше не вижу никаких предпосылок к падению... Link to post Share on other sites
gall 6 Posted 2008-07-16 08:48:02 Share Posted 2008-07-16 08:48:02 eth0: Too much work at interrupt, status=0x00000002. stargazer[10783]: segfault at 0 ip b7cea463 sp b716017c error 4 in libc-2.3.6.so[b7c7f000+127000] Очень интересна первая строчка. Гугль говорит о проблемах с драйвером и советует обновить ядро. Я бы покопал в эту сторону, т.к. больше не вижу никаких предпосылок к падению... Предвидя такой ответ, гугль вчера был перелопачен. Исходя из всего что удалось найти, проблема эта не есть критической, тем более что вижу ее первый раз, в логах при предыдущих тестовых запусках такого не наблюдалось. Ядро в системе 2.6.25 собрано всего неделю назад, новее только 2.6.26 от 13/07/2008. ... То, что больше грешить не на что, меня и пугает. Это косвенно говорит о том, что решения проблемы падений не предвидется.. даже намека на локализацию причины. Но... почему СТГ ведет себя так предсказуемо только с мускульной базой, а с файловой живет себе спокойно? ----------------- P.S.: как вариант, могу предоставить для экспериментов полный доступ к тестовому серверу по ssh. icq 152 85 6907 Link to post Share on other sites
gall 6 Posted 2008-07-16 14:54:21 Share Posted 2008-07-16 14:54:21 Опыт №хххх.знает.какой Отключен модуль всегда онлайн. Юзеров во время старта было всего 4 потом количество поднялось до 11. Конектились не все сразу. Сервер без проблем проработал 40 минут. Потом я его остановил. Закономерности никакой, догадок тоже. Единственное что отличает эти тесты, количество юзеров во время старта сервера. Буду ставить опыты дальше. Истина думаю гдето рядом. ---- По поводу ошибки eth0: Too much work at interrupt, status=0x00000002. Начитался отдуши))) У меня сетевухи длинки, дрова они кушают via-rhine по ним тоже много интерессного нашел) стандартный параметр static int max_interrupt_work = 20; я поднял до 1000 и пересобрал модуль. Думаю это поможет. Хотя не уверен, что собака зарыта именно тут. Опыты продолжаются..... Link to post Share on other sites
Alferov 0 Posted 2008-07-17 06:02:37 Author Share Posted 2008-07-17 06:02:37 Коллеги. Есть новая пропатченная версия модуля mysql_store_mutex-0.68_STG-WEB Потестировать у себя нет никакой возможности. Есть желающие попробовать? ЭТО ТОЛЬКО ДЛЯ STG-2.405.9.8 Качать здесь Link to post Share on other sites
gall 6 Posted 2008-07-17 09:14:32 Share Posted 2008-07-17 09:14:32 Коллеги. Есть новая пропатченная версия модуля mysql_store_mutex-0.68_STG-WEBПотестировать у себя нет никакой возможности. Есть желающие попробовать? ЭТО ТОЛЬКО ДЛЯ STG-2.405.9.8 Качать здесь Двум смертям не бывать.... Сегодня вечером опробую. По результатам отпишусь. А вдруг это самое то... Link to post Share on other sites
gall 6 Posted 2008-07-17 17:08:55 Share Posted 2008-07-17 17:08:55 Отписываюсь. Исходники взяты stg-2.405.9.8_STG-WEB.tar.gz + mysql_mutex-0.68_STG-WEB_stg-2.405.9.8.tar.gz Процесс сборки без эроров, варнинги не считал, но были. Стартую сервер, для верности собрал все с дебагом. Вот лог стг 2008-07-17 19:45:26 -- Stg v. Stg 2.404 2008-07-17 19:45:26 -- Message queue created successfully. msgKey=5555 msgID=425984 2008-07-17 19:45:26 -- Timer thread started successfully. 2008-07-17 19:45:26 -- Storage plugin: mysql_store v.0.68-mutex (STG-Web). Loading successfull. Вот вывод консоли big-ben:~# /sbin/stargazer stg_timer.cpp > 19:45:26 > STG_TIMER started. Time: 1216313126 Segmentation fault (core dumped) Таблицы в БД не создались. ...Да совсем забыл. Пока не добавил параметров в конфиг стг вообще не стартовало <StoreModule store_mysql> dbuser = admin rootdbpass = 123456 dbname = stg dbtablecharset = koi8-r dbsocket = /var/run/mysqld/mysqld.sock dbhost = localhost dbport = 3306 dbtimeout = 3600 </StoreModule> срез коры.. big-ben:/sbin# gdb ./stargazer core GNU gdb 6.4.90-debian Copyright © 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". warning: Can't read pathname for load map: Input/output error. Reading symbols from /usr/lib/stg/libstg_logger.so...done. Loaded symbols for /usr/lib/stg/libstg_logger.so Reading symbols from /usr/lib/stg/libstg_locker.so...done. Loaded symbols for /usr/lib/stg/libstg_locker.so Reading symbols from /usr/lib/stg/libstg_common.so...done. Loaded symbols for /usr/lib/stg/libstg_common.so Reading symbols from /usr/lib/stg/libscript_executer.so...done. Loaded symbols for /usr/lib/stg/libscript_executer.so Reading symbols from /usr/lib/stg/libdotconfpp.so...done. Loaded symbols for /usr/lib/stg/libdotconfpp.so Reading symbols from /usr/lib/libexpat.so.1...done. Loaded symbols for /usr/lib/libexpat.so.1 Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done. Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0 Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libdl.so.2 Reading symbols from /usr/lib/libstdc++.so.6...done. Loaded symbols for /usr/lib/libstdc++.so.6 Reading symbols from /lib/tls/i686/cmov/libm.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libm.so.6 Reading symbols from /lib/libgcc_s.so.1...done. Loaded symbols for /lib/libgcc_s.so.1 Reading symbols from /lib/tls/i686/cmov/libc.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /usr/lib/stg/libstg_crypto.so...done. Loaded symbols for //usr/lib/stg/libstg_crypto.so Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/stg/mod_store_mysql.so...done. Loaded symbols for /usr/lib/stg/mod_store_mysql.so Reading symbols from /usr/lib/libmysqlclient_r.so.15...done. Loaded symbols for /usr/lib/libmysqlclient_r.so.15 Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1 Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2 Core was generated by `/sbin/stargazer'. Program terminated with signal 11, Segmentation fault. #0 0xb7d23b35 in memcpy () from /lib/tls/i686/cmov/libc.so.6 (gdb) Не подскажете что еще не так? Link to post Share on other sites
den68 0 Posted 2008-07-18 14:13:12 Share Posted 2008-07-18 14:13:12 ...Да совсем забыл. Пока не добавил параметров в конфиг стг вообще не стартовало <StoreModule store_mysql> dbuser = admin rootdbpass = 123456 dbname = stg dbtablecharset = koi8-r dbsocket = /var/run/mysqld/mysqld.sock dbhost = localhost dbport = 3306 dbtimeout = 3600 </StoreModule> былобы нелепо ... а /var/run/mysqld/mysqld.sock у тебя там живет ? Link to post Share on other sites
Richman 0 Posted 2008-07-18 15:47:36 Share Posted 2008-07-18 15:47:36 Подскажите как реализовать задум. Если это возможно. Создал скажем два тарифа, 1й - обычный тариф по трафику, с абонентской платой раз в месяц. 2й - безлимитный. Нужно что бы абонплата по этому безлимитному тарифу снималась раз в день. То есть задум сделать для клиентов безлимитный, суточный тариф. Что бы клиент зашел в админку, изменил сам себе тариф с "базового" на "суточный-безлимитный", тариф вступил в силу, скажем с полуночи и снялась абонплата. Link to post Share on other sites
gall 6 Posted 2008-07-18 15:53:12 Share Posted 2008-07-18 15:53:12 былобы нелепо ... а /var/run/mysqld/mysqld.sock у тебя там живет ? А кому ж там еще жить то? big-ben:~# ls /var/run/mysqld/mysqld.pid mysqld.sock Какие еще будут предложения? Link to post Share on other sites
den68 0 Posted 2008-07-18 22:58:10 Share Posted 2008-07-18 22:58:10 big-ben:~# ls /var/run/mysqld/mysqld.pid mysqld.sock Какие еще будут предложения? ls -l ? Link to post Share on other sites
gall 6 Posted 2008-07-18 23:41:40 Share Posted 2008-07-18 23:41:40 big-ben:~# ls /var/run/mysqld/mysqld.pid mysqld.sock Какие еще будут предложения? ls -l ? ls -l /var/run/mysqld/ итого 4 -rw-rw---- 1 mysql mysql 5 2008-07-16 20:36 mysqld.pid srwxrwxrwx 1 mysql mysql 0 2008-07-16 20:36 mysqld.sock Link to post Share on other sites
den68 0 Posted 2008-07-19 10:15:56 Share Posted 2008-07-19 10:15:56 Какие еще будут предложения? Попробуй создать таблицы руками, если после этого все гуд, надо смотреть функцию создания таблиц в модуле. Проверь доступность юзера/пароля на создание таблиц в БД dbuser = admin rootdbpass = 123456 Link to post Share on other sites
madf 279 Posted 2008-07-19 14:01:19 Share Posted 2008-07-19 14:01:19 Подскажите как реализовать задум. Если это возможно. Создал скажем два тарифа, 1й - обычный тариф по трафику, с абонентской платой раз в месяц. 2й - безлимитный. Нужно что бы абонплата по этому безлимитному тарифу снималась раз в день. То есть задум сделать для клиентов безлимитный, суточный тариф. Что бы клиент зашел в админку, изменил сам себе тариф с "базового" на "суточный-безлимитный", тариф вступил в силу, скажем с полуночи и снялась абонплата. По поводу ежедневного снятия абонки: есть такой параметр в конфиге - SpreadFee. Но, т.к. он в конфиге - он будет действовать во всех тарифах. Отдельно реализовать такого пока нельзя. Link to post Share on other sites
gall 6 Posted 2008-07-19 14:14:25 Share Posted 2008-07-19 14:14:25 Попробуй создать таблицы руками, если после этого все гуд, надо смотреть функцию создания таблиц в модуле.Проверь доступность юзера/пароля на создание таблиц в БД dbuser = admin rootdbpass = 123456 Пробую. Собираю читстый СТГ, запускаю с тем же конфигом. Таблицы созданы. Значит логин и пароль верные, доступ юзера к базам есть. Руками таблицы не создавал, поскольку чистого sql запроса нету, а вытянуть все из mysql_store.cpp ума не хватит, из-за встречающихся там переменных Еще есть какие мысли? Link to post Share on other sites
Alferov 0 Posted 2008-07-19 15:56:26 Author Share Posted 2008-07-19 15:56:26 А новый модуль с базой уже созданной работает? Надо понять, где он стопорится, на создании базы или на подключении к ней. Link to post Share on other sites
gall 6 Posted 2008-07-19 16:11:35 Share Posted 2008-07-19 16:11:35 А новый модуль с базой уже созданной работает? Надо понять, где он стопорится, на создании базы или на подключении к ней. Запустил чистый СТГ, без патчей вообще, создались стандартные таблицы. Запускаю версию с СТГ-веб, падает и своих таблиц не добавляет. Заливаю дамп базы из СТГ 2,403 (фомат то у них чуток разный) Стартует и падает, дебаг пустой, в логе СТГ это 2008-07-19 19:05:24 -- Stg v. Stg 2.404 2008-07-19 19:05:24 -- Message queue created successfully. msgKey=5555 msgID=65536 2008-07-19 19:05:24 -- Timer thread started successfully. 2008-07-19 19:05:24 -- Storage plugin: mysql_store v.0.68-mutex (STG-Web). Loading successfull. 2008-07-19 19:05:24 -- Cannot read user abon100. Tariff not exist. 2008-07-19 19:05:24 -- USERS: Error: Cannot read users! 2008-07-19 19:05:24 -- Traffcounter: Stop successfull. 2008-07-19 19:05:24 -- Users: Stop successfull. 2008-07-19 19:05:25 -- Queue removed successfully. 2008-07-19 19:05:25 -- StgTimer: Stop successfull. 2008-07-19 19:05:25 -- Stg stopped successfully. 2008-07-19 19:05:26 -- --------------------------------------------- Последние строки из коры Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done. Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1 Reading symbols from /usr/lib/libz.so.1...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done. Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2 Core was generated by `/sbin/stargazer'. Program terminated with signal 11, Segmentation fault. #0 0x00100000 in ?? () (gdb) Link to post Share on other sites
Alferov 0 Posted 2008-07-20 04:49:41 Author Share Posted 2008-07-20 04:49:41 Насколько я понимаю, он не находит тариф у юзера "abon100". Судя по всему в базе у этого юзера вообще отсутствует тариф. Link to post Share on other sites
Alferov 0 Posted 2008-07-20 05:35:21 Author Share Posted 2008-07-20 05:35:21 Появилась возможность проверить у себя. FreeBSD 6.2, mysql на соседнем серве, поставил с нуля, все работает. Таблицы в БД создал и стартанул. Юзеров/админов/тарифы создает/удаляет/редактирует. Все вроде нормально. Link to post Share on other sites
Recommended Posts