TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки
Python Заметки avatar

TGINSIGHT POST

Post #139

@pythonotes

Python Заметки

Прегледи825Број на прегледи
Објавено31 авг.31.08.2020 г., 09:00
Содржина

Содржина на објавата

Роняем Python в одну строку Как имитировать ошибку Segmentation Fault в коде и уронить процесс интерпретатора? 🔸 Форсированно завершаем процесс через kill и exit code 11. __import__('os').kill(__import__('os').getpid(), 11) Но это просто быстрый выход. 🔸 Делаем что-то что вызовет ошибку со страшным сообщением что всё сломалось! Перегружаем стек вызова рекурсией, заведомо увеличив лимит до не приличия высоко. __import__('sys').setrecursionlimit(1<<30);f=lambda f:f(f);f(f) 🔸Ломаем парсер AST __import__('ast').literal_eval('1+1'*10**6) Все эти вызовы приводят к такой ошибке: Process finished with exit code 139 (interrupted by signal 11: SIGSEGV) Хм... а зачем это может быть нужно? Может кому-то хотите устроить подлянку 👹, а может тестируете дебагер. Таким падением можно "указать" юзеру что он зашел куда не следует чтобы больше так не делал 😨 Всё это надуманные примеры. Но тем не менее, теперь вы теперь знаете как это сделать😉. PS. Не советую использовать этот код в рабочих проектах! #tricks