Биллинговая система Nodeny

Главная категория => Nodeny Plus => Тема начата: Sidius от 15 Августа 2014, 20:07:49



Название: Перенос нодени плюс на новую машину
Отправлено: Sidius от 15 Августа 2014, 20:07:49
Сыпанулся винт. Пришлось экстренно поднять новую фрибсд (была 9.1, поставили 9.3).
Бекап базы был, бекап нодени тоже. Все развернул на новой машине.
noserver, nokernel запустились но при попытке входа в админку писало temporary error: cat /tmp/blablabla

в логе
Код:
бла бла бла
15.08.2014 20:59:17 [stat.pl(109) (eval 10)(2) (eval 10)(2) (eval 10)::BEGIN(2) stat.pl::__ANON__(30) stat.pl(30) stat.pl::Hard_exit(89) stat.pl(90)]
Can't use string ("HASH(0x8026d01f8)") as a HASH ref while "strict refs" in use at /usr/local/nodeny/web/calls.pm line 319.
Compilation failed in require at (eval 10) line 2.


решилось ремаркой use strict; в calls.pm - хотя я считаю что это не правильно.
что я сделал не так?


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 15 Августа 2014, 20:50:07
Попробуй как обычно:

Код:
update admin set tunes='';

либо покажи что в 319 строчке


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 15 Августа 2014, 20:54:40
Не помогло :(

Код:
[root@access ~]# perl -v

This is perl 5, version 16, subversion 3 (v5.16.3) built for amd64-freebsd-thread-multi

в этом может быть проблема?


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 16 Августа 2014, 07:38:16
В 319 строчке:

        if( ref $ses::data->{-input} eq 'HASH' )

Также заметили не создаются новые юзера и не изменяются данные у клиентов
Пишет что смотреть лог в /tmp
в логе
Код:
....
16.08.2014 08:24:40 [stat.pl(168) stat.pl::__ANON__(30) stat.pl(30) stat.pl::Hard_exit(89) stat.pl(90)]
Not a subroutine reference at /usr/local/nodeny/web/user_new.pl line 24.
Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1103.

в чем трабл такой может быть?

24 строчка:
    $grp = $VAR1->{grp};
1103 строчка:
 eval{ require $file };

Пробую понизить версию перл до 15.4. Отпишусь.


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 16 Августа 2014, 07:50:43
Блин да что за фигня такая епрст.
Понизил версию перл до 15.4
Глюк с созданием юзеров и авторизацией пропал.
Зато появился другой глюк
Заходишь в инфо клиента - в списке услуг вместо названия написано Error, добавить не получается (крутится кружочек пару секунд и ничего не происходит), также с ип адресами и в разделе администраторы с пунктом "Операции". :(


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 16 Августа 2014, 07:56:47
это ajax не работает. Открой firebug или в хроме инструменты разработчика и посмотри что возвращает сервер


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 16 Августа 2014, 09:14:50
После удаления всех модулей перла и занового их установки вроде бы эти проблемы ушли. У суперадмина все работает.
У админов которые имеют доступы к определенным групам - проблемы остались.
При создании пользователя выкидывает
Код:
Not a subroutine reference at /usr/local/nodeny/web/user_new.pl line 24.
Compilation failed in require at /usr/local/nodeny/web/calls.pm line 1103.



Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 16 Августа 2014, 09:31:12
опытным путем бына найдена проблема в том что при запросе
SELECT reason FROM pays WHERE creator_id='31' AND category=411 ORDER BY id DESC LIMIT 1;

выдает в reason - $VAR1 = 'HASH(0x...)'
то возникает такая ошибка
после выполнения
delete from pays where category=411 and reason like '%HASH%';
все вроде нормализировалось.

Effendy - билинг так и останется на 5.14 перле или сможет работать на более высоких версиях?


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 16 Августа 2014, 10:55:31
Ну так попробуй сейчас - ты же удалил проблемные записи. Откуда они появились я не знаю - видимо глюк модуля Dumper. Но сделаю защиту


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Redmen от 16 Августа 2014, 16:40:29
у меня Perl версии v5.16.3, и работает без проблем


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 16 Августа 2014, 17:36:30
у меня Perl версии v5.16.3, и работает без проблем

ну, у него по какой-то причине в поле reason некоторых платежей вместо дампа данных (типа $VAR1 = { putin => 'huylo'}) почему-то записались HASH(...). Почему так произошло - хз, ни разу такого не было


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 16 Августа 2014, 21:47:42
Можно смело выбрать все поля из pays где reason = HASH и удалить?


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 17 Августа 2014, 08:51:07
если cash = 0, то да


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 17 Августа 2014, 10:53:16
Куча есть где cash = -xx.xx
Как исправить или что сделать?
По ходу это проблема вылезла когда перенесли систему на новую машину и запустили нокернел.


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Efendy от 17 Августа 2014, 20:11:36
установи им reason = '$VAR1 = {};'


Название: Re: Перенос нодени плюс на новую машину
Отправлено: Sidius от 17 Августа 2014, 20:16:22
Спасибо! Интересно почему такое получилось... подыму на виртуалке фрюху, попробую сэмулировать ситуацию...