Jump to content

Stg-web With Mysql


Recommended Posts

  • Replies 972
  • Created
  • Last Reply

Top Posters In This Topic

Ну, дай бог чтобы это так было. Его несложно пофиксить - он простой как дрова.

Это при связке с модулем мускуля. Че-то модуль мускуля не хочет с ним дружить :)

Link to post
Share on other sites
Ну, дай бог чтобы это так было. Его несложно пофиксить - он простой как дрова.

Это при связке с модулем мускуля. Че-то модуль мускуля не хочет с ним дружить :)

Странно...

По логике такого не может быть.

Link to post
Share on other sites

Итак.

Опыт №хххх.знает.какой

Отключен всегда онлайн.

старт

    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
Всегда онлайн есть.

Для теста отключить попробую, но в работе он нужен (если не придумать как без него) поскольку есть пользователи с wi-fi роутерами домашними.

 

Взял скрипты OnConnect и вместо переменных подставил реальные данные (IP, ID, Шейпер). Модуль всегда онлайн убрал. Ручками запускаю вот он и есть всегда онлайн , так как ондисконнект для него не срабатывает. Достаточно удобно, ибо таких роутеров не много.

 

 

При старте СТГ стартую сначала шейпер, фаервол, потом сам СТГ. База на 200 юзеров(файлы), еще (тьфу-тьфу) ни падала ни разу. Загрузка проца 3-15%.

Железо - Р3 2.1 дуо 4Гб Рамы. Винты сата. 7к.

 

 

 

RTNETLINK answers: File exists

RTNETLINK answers: File exists

We have an error talking to the kernel

 

А вот это сильно смахивает на ответ при неправильном шейпере. Проверь его.

И кстати, если я не прописываю ID в шейпере (юзаю пока cbq), система виснет намертво.

Link to post
Share on other sites
Взял скрипты OnConnect и вместо переменных подставил реальные данные (IP, ID, Шейпер). Модуль всегда онлайн убрал. Ручками запускаю вот он и есть всегда онлайн , так как ондисконнект для него не срабатывает. Достаточно удобно, ибо таких роутеров не много.

 

При старте СТГ стартую сначала шейпер, фаервол, потом сам СТГ. База на 200 юзеров(файлы), еще (тьфу-тьфу) ни падала ни разу. Загрузка проца 3-15%.

Железо - Р3 2.1 дуо 4Гб Рамы. Винты сата. 7к.

 

RTNETLINK answers: File exists

RTNETLINK 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

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
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

Опыт №хххх.знает.какой

Отключен модуль всегда онлайн.

Юзеров во время старта было всего 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
Коллеги. Есть новая пропатченная версия модуля mysql_store_mutex-0.68_STG-WEB

Потестировать у себя нет никакой возможности. Есть желающие попробовать?

 

ЭТО ТОЛЬКО ДЛЯ STG-2.405.9.8

Качать здесь

Двум смертям не бывать....

Сегодня вечером опробую.

По результатам отпишусь.

А вдруг это самое то... :)

Link to post
Share on other sites

Отписываюсь.

Исходники взяты 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
...Да совсем забыл. Пока не добавил параметров в конфиг стг вообще не стартовало

<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

Подскажите как реализовать задум. Если это возможно. Создал скажем два тарифа, 1й - обычный тариф по трафику, с абонентской платой раз в месяц. 2й - безлимитный. Нужно что бы абонплата по этому безлимитному тарифу снималась раз в день. То есть задум сделать для клиентов безлимитный, суточный тариф. Что бы клиент зашел в админку, изменил сам себе тариф с "базового" на "суточный-безлимитный", тариф вступил в силу, скажем с полуночи и снялась абонплата.

Link to post
Share on other sites
былобы нелепо ...

а /var/run/mysqld/mysqld.sock у тебя там живет ?

А кому ж там еще жить то?

big-ben:~# ls /var/run/mysqld/

mysqld.pid  mysqld.sock

Какие еще будут предложения?

Link to post
Share on other sites
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
Какие еще будут предложения?

Попробуй создать таблицы руками, если после этого все гуд, надо смотреть функцию создания таблиц в модуле.

 

Проверь доступность юзера/пароля на создание таблиц в БД

 

   dbuser = admin
  rootdbpass = 123456

Link to post
Share on other sites
Подскажите как реализовать задум. Если это возможно. Создал скажем два тарифа, 1й - обычный тариф по трафику, с абонентской платой раз в месяц. 2й - безлимитный. Нужно что бы абонплата по этому безлимитному тарифу снималась раз в день. То есть задум сделать для клиентов безлимитный, суточный тариф. Что бы клиент зашел в админку, изменил сам себе тариф с "базового" на "суточный-безлимитный", тариф вступил в силу, скажем с полуночи и снялась абонплата.

По поводу ежедневного снятия абонки: есть такой параметр в конфиге - SpreadFee. Но, т.к. он в конфиге - он будет действовать во всех тарифах. Отдельно реализовать такого пока нельзя.

Link to post
Share on other sites
Попробуй создать таблицы руками, если после этого все гуд, надо смотреть функцию создания таблиц в модуле.

Проверь доступность юзера/пароля на создание таблиц в БД

   dbuser = admin
  rootdbpass = 123456

Пробую.

Собираю читстый СТГ, запускаю с тем же конфигом. Таблицы созданы.

Значит логин и пароль верные, доступ юзера к базам есть.

Руками таблицы не создавал, поскольку чистого sql запроса нету, а вытянуть все из mysql_store.cpp ума не хватит, из-за встречающихся там переменных :)

Еще есть какие мысли?

Link to post
Share on other sites

А новый модуль с базой уже созданной работает? Надо понять, где он стопорится, на создании базы или на подключении к ней.

Link to post
Share on other sites
А новый модуль с базой уже созданной работает? Надо понять, где он стопорится, на создании базы или на подключении к ней.

Запустил чистый СТГ, без патчей вообще, создались стандартные таблицы.

Запускаю версию с СТГ-веб, падает и своих таблиц не добавляет.

Заливаю дамп базы из СТГ 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

Появилась возможность проверить у себя.

FreeBSD 6.2, mysql на соседнем серве, поставил с нуля, все работает. Таблицы в БД создал и стартанул. Юзеров/админов/тарифы создает/удаляет/редактирует. Все вроде нормально.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...