Перейти до

Stg в Mysql


Рекомендованные сообщения

Кто нить, пожалуйста, выложите мануал, как конвертнуть юзеров в mysql как работать с конвертором.

За ранее спасибо!

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...
дык прозрачно же - далее некуда

/projects/convertor/convertor.conf

 

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

 

При создании таблиц в БД mysql добавляется юзер test, так вот при удалении его в конфигураторе , он в базе остается, но конфигуратот уже не видит этого юзера.

Впечатление будто данные конфигуратор получает не из таблицы users

Ссылка на сообщение
Поделиться на других сайтах
Конфигуратор получает данные от Stargazer.

 

Madf смотри, что получается:

а

1. Создаю юзера user он заностится в БД сstargazer'ом и в конфигураторе есть он.

2. В конфигураторе удаляю юзера user, но stargazer не удаляет его из БД, а в конфигураторе его нет.

б

1. Создаю юзера user он заностится в БД сstargazer'ом и в конфигураторе есть он.

2. Руками в БД удаляю юзера user, но stargazer все равно в конфигуратор выдает user'а.

Ссылка на сообщение
Поделиться на других сайтах
1. Реальное удаление юзера из базы происходит не сразу

2. Старгейзер не перечитывает базу

 

C 1 понятно.

А вот с 2м, при конвертации в БД с помощью утилиты, каким образом тогда его заставить перечитать базу?

Ссылка на сообщение
Поделиться на других сайтах

Залил в мускул, при запуске СТГ вот такое

users.cpp > 12:42:19 > =====================| pid: 5883 |=====================

users.cpp > 12:42:19 > Day = 20 Min = 42

users.cpp > 12:42:19 > Monitor=0 file USERS /users_r

traffcounter.cpp > 12:42:19 > TRAFFCOUNTER::Start()

ether_cap.cpp > 12:42:19 > ETHER_CAP::Start()

inetaccess.cpp > 12:42:19 > AUTH_IA::Start()

inetaccess.cpp > 12:42:19 > AUTH_IA::PrepareNet() >>>> Start successfull. Port: 5555

inetaccess.cpp > 12:42:19 > Monitor=0 file AUTH_IA /inetaccess_r

inetaccess.cpp > 12:42:19 > Monitor time 1235122879 1235122999

inetaccess.cpp > 12:42:19 > Monitor=0 file AUTH_IA /inetaccess_t

ao.cpp > 12:42:19 > users->OpenSearch() usernum=159

traffcounter.cpp > 12:42:19 > AddUser: Fedor

users.cpp > 12:42:19 > Add IP Idx

users.cpp > 12:42:19 > Add IP Idx

traffcounter.cpp > 12:42:19 > AddUser: 550

users.cpp > 12:42:19 > Add IP Idx

traffcounter.cpp > 12:42:19 > AddUser: 42_6

users.cpp > 12:42:19 > Add IP Idx

traffcounter.cpp > 12:42:19 > AddUser: 42_3

/lib/rcscripts/sh/rc-daemon.sh: line 231: 5883 Ошибка сегментирования /sbin/start-stop-daemon '--start' '--quiet' '--exec' '/usr/sbin/stargazer' '--'

Ссылка на сообщение
Поделиться на других сайтах

Сделать отладочный билд, получить корку (перед запуском выполнить ulimit -c 10000), после этого

$ gdb ./stargazer

(gdb) core-file <файл_корки>

(gdb) bt

И выхлоп мне

Ссылка на сообщение
Поделиться на других сайтах
Сделать отладочный билд, получить корку (перед запуском выполнить ulimit -c 10000), после этого

$ gdb ./stargazer

(gdb) core-file <файл_корки>

(gdb) bt

И выхлоп мне

 

Вот это нужно?

gate fedor # ulimit -c 10000

gate fedor # /usr/sbin/stargazer > log

Ошибка сегментирования (core dumped)

gate fedor # ls

core.3910 core.4310 endianess.patch log

gate fedor # gdb /usr/sbin/stargazer

GNU gdb 6.7.1

Copyright © 2007 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. Type "show copying"

and "show warranty" for details.

This GDB was configured as "sparc-unknown-linux-gnu"...

(no debugging symbols found)

Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) core-file core.4310

Cannot access memory at address 0xf7f3e6cc

(gdb) bt

#0 0xf7289b38 in ?? ()

#1 0xf7289b24 in ?? ()

Backtrace stopped: previous frame identical to this frame (corrupt stack?)

(gdb)

Ссылка на сообщение
Поделиться на других сайтах

Сборка была отладочной?

Попробуй запустить старгейзер из-под gdb:

$ gdb /path/to/stargazer

(gdb) run

и когда упадет сделать

(gdb) bt

 

И еще попробуй запустить старгейзер из-под valgrind:

$ valgrind /path/to/stargazer

 

Естественно интересует выхлоп в момент падения.

PS: сообщение "Backtrace stopped: previous frame identical to this frame (corrupt stack?)", судя по гуглю, характерно для gdb на не-x86 архитектурах. Боюсь, что из этого ничего не получится :)

Ссылка на сообщение
Поделиться на других сайтах
Сборка была отладочной?

Попробуй запустить старгейзер из-под gdb:

$ gdb /path/to/stargazer

(gdb) run

и когда упадет сделать

(gdb) bt

 

И еще попробуй запустить старгейзер из-под valgrind:

$ valgrind /path/to/stargazer

 

Естественно интересует выхлоп в момент падения.

PS: сообщение "Backtrace stopped: previous frame identical to this frame (corrupt stack?)", судя по гуглю, характерно для gdb на не-x86 архитектурах. Боюсь, что из этого ничего не получится :)

 

(gdb) bt

#0 0xf730db38 in MYSQL_STORE::GetMessage () from /usr/lib/stg/mod_store_mysql.so

#1 0x000866f8 in USER::ScanMessage ()

#2 0x0008e2b0 in USER::Run ()

#3 0x000c63f8 in std::mem_fun_ref_t<void, USER>::operator() ()

#4 0x000c6444 in std::for_each<std::_List_iterator<USER>, std::mem_fun_ref_t<void, USER> > ()

#5 0x000c3924 in USERS::Run ()

#6 0xf7ecd3a0 in start_thread () from /lib/libpthread.so.0

#7 0xf7c372b8 in ?? () from /lib/libc.so.6

#8 0xf7c372b8 in ?? () from /lib/libc.so.6

Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Ссылка на сообщение
Поделиться на других сайтах
А падает все время на одном и том-же юзере?

Выхлоп valgrind был бы очень полезен...

 

Сделал так База на спарке, сервер СТГ на интеле он подключается к БД на спарк

 

Работает вот как: на разных юзерах затык. И пару раз уже поднимался сервер, но конфигуратор выдал вот это Recv data answer error!

 

valgrind -v /usr/sbin/stargazer

 

==22827==

==22827== Invalid read of size 4

==22827== at 0x4C561F0: MYSQL_STORE::GetMessage(unsigned long long, STG_MSG*, std::string const&) const (in /usr/lib/stg/mod_store_mysql.so)

==22827== by 0x80A9194: USER::ScanMessage() (in /usr/sbin/stargazer)

==22827== by 0x80ADBC7: USER::Authorize(unsigned int, std::string const&, unsigned int, BASE_AUTH const*) (in /usr/sbin/stargazer)

==22827== by 0x564E283: AUTH_AO::UpdateUserAuthorization(std::_List_iterator<USER>) const (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x564EEDB: AUTH_AO::Start() (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x80D4CD3: PLUGIN_RUNNER::Start() (in /usr/sbin/stargazer)

==22827== by 0x80935FD: main (in /usr/sbin/stargazer)

==22827== Address 0x8 is not stack'd, malloc'd or (recently) free'd

==22827==

==22827== Process terminating with default action of signal 11 (SIGSEGV): dumping core

==22827== Access not within mapped region at address 0x8

==22827== at 0x4C561F0: MYSQL_STORE::GetMessage(unsigned long long, STG_MSG*, std::string const&) const (in /usr/lib/stg/mod_store_mysql.so)

==22827== by 0x80A9194: USER::ScanMessage() (in /usr/sbin/stargazer)

==22827== by 0x80ADBC7: USER::Authorize(unsigned int, std::string const&, unsigned int, BASE_AUTH const*) (in /usr/sbin/stargazer)

==22827== by 0x564E283: AUTH_AO::UpdateUserAuthorization(std::_List_iterator<USER>) const (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x564EEDB: AUTH_AO::Start() (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x80D4CD3: PLUGIN_RUNNER::Start() (in /usr/sbin/stargazer)

==22827== by 0x80935FD: main (in /usr/sbin/stargazer)

==22827== If you believe this happened as a result of a stack overflow in your

==22827== program's main thread (unlikely but possible), you can try to increase

==22827== the size of the main thread stack using the --main-stacksize= flag.

==22827== The main thread stack size used in this run was 8388608.

--22827-- Discarding syms at 0x562f910-0x5636520 in /lib/libnss_files-2.9.so due to munmap()

==22827==

==22827== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 131 from 2)

==22827==

==22827== 1 errors in context 1 of 2:

==22827== Invalid read of size 4

==22827== at 0x4C561F0: MYSQL_STORE::GetMessage(unsigned long long, STG_MSG*, std::string const&) const (in /usr/lib/stg/mod_store_mysql.so)

==22827== by 0x80A9194: USER::ScanMessage() (in /usr/sbin/stargazer)

==22827== by 0x80ADBC7: USER::Authorize(unsigned int, std::string const&, unsigned int, BASE_AUTH const*) (in /usr/sbin/stargazer)

==22827== by 0x564E283: AUTH_AO::UpdateUserAuthorization(std::_List_iterator<USER>) const (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x564EEDB: AUTH_AO::Start() (in /usr/lib/stg/mod_auth_ao.so)

==22827== by 0x80D4CD3: PLUGIN_RUNNER::Start() (in /usr/sbin/stargazer)

==22827== by 0x80935FD: main (in /usr/sbin/stargazer)

==22827== Address 0x8 is not stack'd, malloc'd or (recently) free'd

==22827==

==22827== 1 errors in context 2 of 2:

==22827== Invalid read of size 4

==22827== at 0x474F23B7: (within /lib/ld-2.9.so)

==22827== by 0x476006A1: (within /lib/libc-2.9.so)

==22827== by 0x474E9925: (within /lib/ld-2.9.so)

==22827== by 0x476007A0: (within /lib/libc-2.9.so)

==22827== by 0x476008CA: __libc_dlopen_mode (in /lib/libc-2.9.so)

==22827== by 0x475DAA2D: __nss_lookup_function (in /lib/libc-2.9.so)

==22827== by 0x475DAA9B: (within /lib/libc-2.9.so)

==22827== by 0x475DC40C: __nss_services_lookup2 (in /lib/libc-2.9.so)

==22827== by 0x475E3135: getservbyname_r (in /lib/libc-2.9.so)

==22827== by 0x475E2E8D: getservbyname (in /lib/libc-2.9.so)

==22827== by 0x476BB589: mysql_server_init (in /usr/lib/mysql/libmysqlclient_r.so.15.0.0)

==22827== by 0x80929A4: (within /usr/sbin/stargazer)

==22827== Address 0x405390c is 44 bytes inside a block of size 46 alloc'd

==22827== at 0x4008EC8: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)

==22827== by 0x474E9A47: (within /lib/ld-2.9.so)

==22827== by 0x474E364D: (within /lib/ld-2.9.so)

==22827== by 0x474EDB56: (within /lib/ld-2.9.so)

==22827== by 0x474E9925: (within /lib/ld-2.9.so)

==22827== by 0x474ED55B: (within /lib/ld-2.9.so)

==22827== by 0x476006A1: (within /lib/libc-2.9.so)

==22827== by 0x474E9925: (within /lib/ld-2.9.so)

==22827== by 0x476007A0: (within /lib/libc-2.9.so)

==22827== by 0x476008CA: __libc_dlopen_mode (in /lib/libc-2.9.so)

==22827== by 0x475DAA2D: __nss_lookup_function (in /lib/libc-2.9.so)

==22827== by 0x475DAA9B: (within /lib/libc-2.9.so)

--22827--

--22827-- supp: 16 glibc-2.9-on-SUSE-10.3-(x86)

--22827-- supp: 115 dl-hack3-cond-1

==22827==

==22827== IN SUMMARY: 2 errors from 2 contexts (suppressed: 131 from 2)

==22827==

==22827== malloc/free: in use at exit: 1,668,207 bytes in 10,704 blocks.

==22827== malloc/free: 34,168 allocs, 23,464 frees, 20,253,369 bytes allocated.

==22827==

==22827== searching for pointers to 10,704 not-freed blocks.

==22827== checked 69,278,188 bytes.

==22827==

==22827== LEAK SUMMARY:

==22827== definitely lost: 0 bytes in 0 blocks.

==22827== possibly lost: 151,456 bytes in 6,630 blocks.

==22827== still reachable: 1,516,751 bytes in 4,074 blocks.

==22827== suppressed: 0 bytes in 0 blocks.

==22827== Rerun with --leak-check=full to see details of leaked memory.

--22827-- memcheck: sanity checks: 202 cheap, 9 expensive

--22827-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use

--22827-- memcheck: auxmaps_L1: 0 searches, 0 cmps, ratio 0:10

--22827-- memcheck: auxmaps_L2: 0 searches, 0 nodes

--22827-- memcheck: SMs: n_issued = 242 (3872k, 3M)

--22827-- memcheck: SMs: n_deissued = 0 (0k, 0M)

--22827-- memcheck: SMs: max_noaccess = 65535 (1048560k, 1023M)

--22827-- memcheck: SMs: max_undefined = 0 (0k, 0M)

--22827-- memcheck: SMs: max_defined = 1118 (17888k, 17M)

--22827-- memcheck: SMs: max_non_DSM = 242 (3872k, 3M)

--22827-- memcheck: max sec V bit nodes: 2 (0k, 0M)

--22827-- memcheck: set_sec_vbits8 calls: 2 (new: 2, updates: 0)

--22827-- memcheck: max shadow mem size: 4176k, 4M

--22827-- translate: fast SP updates identified: 29,475 ( 90.3%)

--22827-- translate: generic_known SP updates identified: 2,040 ( 6.2%)

--22827-- translate: generic_unknown SP updates identified: 1,112 ( 3.4%)

--22827-- tt/tc: 265,440 tt lookups requiring 358,937 probes

--22827-- tt/tc: 265,440 fast-cache updates, 3 flushes

--22827-- transtab: new 16,253 (381,706 -> 5,636,198; ratio 147:10) [0 scs]

--22827-- transtab: dumped 0 (0 -> ??)

--22827-- transtab: discarded 122 (2,100 -> ??)

--22827-- scheduler: 20,018,485 jumps (bb entries).

--22827-- scheduler: 202/315,791 major/minor sched events.

--22827-- sanity: 203 cheap, 9 expensive checks.

--22827-- exectx: 6,151 lists, 3,588 contexts (avg 0 per list)

--22827-- exectx: 60,919 searches, 60,341 full compares (990 per 1000)

--22827-- exectx: 0 cmp2, 1,601 cmp4, 0 cmpAll

--22827-- errormgr: 55 supplist searches, 247 comparisons during search

--22827-- errormgr: 133 errlist searches, 2,262 comparisons during search

 

Я думаю, что буду их ручками переносить для меня спокойнее будет, кто знает где еще не так на спарке работет. Я лучше ручками с 30ть юзеров вобью и буду тестить вот тогда и глюки есть смысл искать. Мне бы с авторизацией решить проблему )

Ссылка на сообщение
Поделиться на других сайтах

"База на спарке, сервер СТГ на интеле он подключается к БД на спарк "

А, вот даже как...

Блин, почему оно номера строк не показывает

Ссылка на сообщение
Поделиться на других сайтах
"База на спарке, сервер СТГ на интеле он подключается к БД на спарк "

А, вот даже как...

Блин, почему оно номера строк не показывает

 

Это я временно сделал что бы можно было valgrind юзать

Ссылка на сообщение
Поделиться на других сайтах

Попробуй опять-же, запустить из-под gdb. После падения сделать bt

В первой строке будет что-то вроде:

#0 0xf730db38 in MYSQL_STORE::GetMessage () from /usr/lib/stg/mod_store_mysql.so

0xf730db38 - адрес (будет по идее другой)

Сделай list *0xf730db38 (только подставь тот адрес который у тебя будет вместо 0xf730db38)

Ссылка на сообщение
Поделиться на других сайтах
Попробуй опять-же, запустить из-под gdb. После падения сделать bt

В первой строке будет что-то вроде:

#0 0xf730db38 in MYSQL_STORE::GetMessage () from /usr/lib/stg/mod_store_mysql.so

0xf730db38 - адрес (будет по идее другой)

Сделай list *0xf730db38 (только подставь тот адрес который у тебя будет вместо 0xf730db38)

 

0xf7265b38 in MYSQL_STORE::GetMessage () from /usr/lib/stg/mod_store_mysql.so

(gdb) bt

#0 0xf7265b38 in MYSQL_STORE::GetMessage ()

from /usr/lib/stg/mod_store_mysql.so

#1 0x000866f8 in USER::ScanMessage ()

#2 0x0008d374 in USER::Authorize ()

#3 0xf6638848 in AUTH_AO::UpdateUserAuthorization ()

from /usr/lib/stg/mod_auth_ao.so

#4 0xf66399f0 in AUTH_AO::Start () from /usr/lib/stg/mod_auth_ao.so

#5 0x000d0564 in PLUGIN_RUNNER::Start ()

#6 0x0005f8e0 in main ()

(gdb) list *0xf7265b38

No symbol table is loaded. Use the "file" command.

(gdb) list 0xf7265b38

No symbol table is loaded. Use the "file" command.

(gdb)

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...