Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Бесконечная рекурсия #24

Closed
MuVO opened this issue Aug 3, 2018 · 1 comment
Closed

Бесконечная рекурсия #24

MuVO opened this issue Aug 3, 2018 · 1 comment
Labels
Milestone

Comments

@MuVO
Copy link

MuVO commented Aug 3, 2018

Пытаюсь выполнить поиск через rpcf_search_users_new

пример:

            ->rpcf_search_users_new([
                'select_type' => 0,
                'patterns_count' => [
                    [
                        'what' => 2,
                        'criteria_id' => 3,
                        'pattern' => 'test1',
                    ]
                ],
            ]);

скрипт при попытке выполнения выпадает в OOM

путём дебага и траблшутинга выяснил, что фейлится вот в этом месте

Признаюсь честно: я логикой так и не допёр, что там должно происходить, но в моём случае в $count обнаруживается не целое число, а массив, и функция вызывает сама себя, передавая ту же ноду, с которой работала.

такая фигня происходит, похоже, потому что внутри for вложен ещё один for (в api.xml)

захардкодил костыль

                    if (!is_numeric($count)) {
                        error_log(print_r($count, true));
                        break;
                    }

вроде как-то работает, но, подозреваю что косячно… может, в случае с массивом надо в функцию передать не ту же ноду, а дочерние?..

в общем, взываю к помощи @k-shym

спасибо

@k-shym k-shym added the bug label Aug 5, 2018
k-shym added a commit that referenced this issue Aug 5, 2018
@k-shym k-shym added this to the v1.3.1 milestone Aug 5, 2018
k-shym added a commit that referenced this issue Aug 5, 2018
@k-shym
Copy link
Owner

k-shym commented Aug 5, 2018

Напутал с приоритетами операторов, конечно в $count не должен был попасть массив. Спасибо.

Проблема возникла, из-за второго массива for, у которого нет счетчика.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants