170 похожих чатов

Тем временем, может кто помнит, но я скидывал сюда непонятную

ошибку в 4 строчках кода, где откуда-то брался list index out of range
В общем, я намошнил отдельный деплой логов в прод и теперь я узнал где ошибка. Так вот, ошибка возникает вот в этой строчке
index = bisect(self.metadata_cache, metadata_id) - 1
Вопрос следующий — может у кого есть какие-то предположения? Или мб ктото сам с этим сталкивался? В гугле глухо как-то, а перед погружением в исходники хочется попробовать путь попроще)

23 ответов

29 просмотров

Гугл, первый ответ

Илья-Власов Автор вопроса
Джифорсович as a service
Гугл, первый ответ

И что же написано в первом ответе в гугле?

Ну если длина списка не уменьшается, ошибке неоткуда взяться

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
screenshot Ну если длина списка не уменьшается, ошибке неотку...

У меня другая информация по исходникам, более того, этот код содержит ошибку

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
Какую ошибку?

Насколько я понимаю, там внутри код на сях и при больших числах вызывает переполнение инта или что там у них и уб во всей красе

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
Какую ошибку?

10 лет назад вроде пофиксили эту тему https://bugs.python.org/issue13496

Илья Власов
Насколько я понимаю, там внутри код на сях и при б...

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

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
Вряд ли размер списка может быть достаточным, чтоб...

2.5кк рпс на сервис, 10-15к рпс на инстанс. Может-может)

Илья Власов
2.5кк рпс на сервис, 10-15к рпс на инстанс. Может-...

Ну там Py_ssize_t везде используется для индексов. Если последовательность с такой длиной существует, то, раз длина поместилась, с учётом того фикса переполнение должно быть невозможно получить. Да и даже без того фикса, я думаю со списком невозможно было бы добиться такого эффекта (в той issue вроде тоже об этом написано). Чтобы добиться неправильного поведения, они использовали искусственные последовательности, которые на самом деле ничего не хранят и потому могли достичь нужного размера

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
Ну там Py_ssize_t везде используется для индексов....

Traceback (most recent call last): File "/opt/app/metadata_downloader/memory_cache/metadata_cache.py", line 82, in get_metadata_from_cache index = bisect(self.metadata_cache, metadata_id) - 1 IndexError: list index out of range Вот весь трейсбэк. Мне тоже кажется, что это херня все про переполнение, но ничего лучше я не придумал

Илья Власов
Traceback (most recent call last): File "/opt/ap...

У питона есть прикол, что если после запуска файл модифицировать, при отображении ошибки он будет использовать строчку со старым номером

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
У питона есть прикол, что если после запуска файл ...

Ну тут кто-то кидал черновик статьи на хабре и там про это говорил, но я чет сомневаюсь, что у меня чет такое происходит без моего ведома(полностью мною написан сервис)

Илья Власов
Traceback (most recent call last): File "/opt/ap...

В общем мне кажется что скорее всего или размер списка уменьшился, или файл был изменён после запуска и в ошибке указана не та строка

Илья-Власов Автор вопроса
🌿UnorderedSequence🌿 Shindov 🍀
В общем мне кажется что скорее всего или размер сп...

А есть что-то в питоне, что может неявно уменьшить размер списка?

Илья-Власов Автор вопроса
Tishka17
слоты

__slots__ которые?

Илья-Власов Автор вопроса
Tishka17
да

Так, это интересно, прошу, продолжай

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта