Пропадает код из методов

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Пропадает код из методов

Сообщение amelnyk » Пт ноя 19, 2021 3:32 am

В упор не могу понять, у меня периодически пропадают реализации методов, асбсолютно разных. Да, я знаю что база коцается при пропадании электричества, я за этим слежу, и восстанавливаю бд из бекапа прошлого дня после таких случаев.
Но вот после этого(я так думаю) иногда методы не восстанавливаются... какой бы я бекап не поднял, причем я точно знаю что реализация там была на ту дату.
Есть у кого предположения?
Последний раз редактировалось amelnyk Пт ноя 19, 2021 2:38 pm, всего редактировалось 1 раз.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Пропадает код из методов

Сообщение tarasfrompir » Пт ноя 19, 2021 8:05 am

Поправлено - извените...
Зустрічаю такуж хуйню на Raspbery PI 4. Залізо точно тут ні до чого, а от реалізація зберігання бази в самому Мажордомо дуже "хромает".
Оскільки сам користуюсь Віндовсом - то там такох питань в мене не виникало ніколи.
Последний раз редактировалось tarasfrompir Пт ноя 19, 2021 2:57 pm, всего редактировалось 1 раз.
Спасибо нам ПОМОЖЕТ..!
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Пропадает код из методов

Сообщение amelnyk » Пт ноя 19, 2021 10:54 am

да часто достаточно, просто сейчас одновременно несколько методов пропало, чуть не расплакался) и постоянно стрёмно, что из логики моей чё то отвалится, а я могу и не заметить
Chainik
Сообщения: 1462
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 260 раз
Поблагодарили: 454 раза

Re: Пропадает код из методов

Сообщение Chainik » Пт ноя 19, 2021 11:02 am

Скорее всего связано с тем, что на Малинках все что происходит записывается в память и только раз в 15 минут на карту памяти. У вас значит что-то не записывается.
На винде с таким не сталкивался ни разу.
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Пропадает код из методов

Сообщение amelnyk » Пт ноя 19, 2021 1:04 pm

вот например метод setUpdatedText куда-то испарился, хотя стоял как обработчик изменения свойства. Он и отображается на списке свойста, а когда внутрь свойста заходишь - там пусто
Вложения
Screenshot_112.jpg
Screenshot_112.jpg (76.55 КБ) 1375 просмотров
Screenshot_111.jpg
Screenshot_111.jpg (114.88 КБ) 1375 просмотров
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Пропадает код из методов

Сообщение amelnyk » Пт ноя 19, 2021 4:34 pm

пытался воспроизвести спецом, пока столкнулся с таким кейсом, на примере метода keepAlive у девайсов.
изначально был там родной код

Код: Выделить всё

require(DIR_MODULES.'devices/SDevices_keepAlive.php');
я добавил свой, а родной код закоментировал.
После восстановления из бекапа родной метод сам раскоментировался))
я удалил родной код совсем, и после восстановления из бекапа, родной код снова там появился в добавок к моему коду....
Короче, я так полагаю, в каком то случае, оно родным кодом, который принудительно тычет при восстановлении, затирает код, что в методе, если плохо расспарсило куда вставлять родной код.
Пока другой логики не увидел.

Вопрос, почему восстанавливается родная инъекция кода в методах, если я её там убираю? кто это делает?
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Пропадает код из методов

Сообщение xor » Пт ноя 19, 2021 8:10 pm

amelnyk писал(а):
Пт ноя 19, 2021 4:34 pm
пытался воспроизвести спецом, пока столкнулся с таким кейсом, на примере метода keepAlive у девайсов.
изначально был там родной код

Код: Выделить всё

require(DIR_MODULES.'devices/SDevices_keepAlive.php');
я добавил свой, а родной код закоментировал.
После восстановления из бекапа родной метод сам раскоментировался))
я удалил родной код совсем, и после восстановления из бекапа, родной код снова там появился в добавок к моему коду....
Короче, я так полагаю, в каком то случае, оно родным кодом, который принудительно тычет при восстановлении, затирает код, что в методе, если плохо расспарсило куда вставлять родной код.
Пока другой логики не увидел.

Вопрос, почему восстанавливается родная инъекция кода в методах, если я её там убираю? кто это делает?
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
2021-11-19_20-12-33.png
2021-11-19_20-12-33.png (57.85 КБ) 1277 просмотров
За это сообщение автора xor поблагодарил:
amelnyk (Пт ноя 19, 2021 11:24 pm)
Рейтинг: 1.16%
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Пропадает код из методов

Сообщение amelnyk » Пт ноя 19, 2021 11:24 pm

ок, спасибо, попробую не комментировать их
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: Пропадает код из методов

Сообщение amelnyk » Вт дек 21, 2021 12:26 pm

xor писал(а):
Пт ноя 19, 2021 8:10 pm
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
шото не помогло, всё равно метод перезаписался дефолтной инъекцией, хотя было return перед ней

Код: Выделить всё

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_keepAlive.php');
/* end injection of {SDevices} */
жесть конечно. пишешь пишешь логику, а потом трям, приехали, везде пусто
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Пропадает код из методов

Сообщение xor » Вт дек 21, 2021 10:07 pm

amelnyk писал(а):
Вт дек 21, 2021 12:26 pm
xor писал(а):
Пт ноя 19, 2021 8:10 pm
удаленные инъекции восстанавливаются ядром, да. чтобы они не работали, в коде перед ними ставят строку
return;
шото не помогло, всё равно метод перезаписался дефолтной инъекцией, хотя было return перед ней

Код: Выделить всё

/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDevices_keepAlive.php');
/* end injection of {SDevices} */
жесть конечно. пишешь пишешь логику, а потом трям, приехали, везде пусто
ну это как раз объясняется тем, что у вас код пропадает( а пустой метод инжектируется
Ответить