This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Fuzz dis module and find crashes for dis.dis(), dis.get_instructions() dis.show_code()
Type: crash Stage: resolved
Components: Library (Lib) Versions: Python 3.10
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Compiling long expression leads to segfault (again)
View: 43664
Assigned To: Nosy List: serhiy.storchaka, xxm
Priority: normal Keywords:

Created on 2021-04-22 04:29 by xxm, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg391574 - (view) Author: Xinmeng Xia (xxm) Date: 2021-04-22 04:29
We write a fuzz tool to fuzz Python standard libraries, and find three crashes: dis.dis(),  dis.get_instructions() dis.show_code() in dis module. 


dis.dis()
==========================================
xiaxinmeng:~ xiaxinmeng$ python3.10
Python 3.10.0a3 (v3.10.0a3:8bae2a958e, Dec  7 2020, 15:31:51) 
[Clang 12.0.0 (clang-1200.0.32.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dis
>>> dis.dis("s%-yPdrns"*1000000)
Segmentation fault: 11
=================================================


dis.get_instructions()
=================================================
Python 3.10.0a3 (v3.10.0a3:8bae2a958e, Dec  7 2020, 15:31:51) 
[Clang 12.0.0 (clang-1200.0.32.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dis
>>> dis.get_instructions("c/f/x"*1000000)
Segmentation fault: 11
==================================================


dis.show_code()
===================================================
Python 3.10.0a3 (v3.10.0a3:8bae2a958e, Dec  7 2020, 15:31:51) 
[Clang 12.0.0 (clang-1200.0.32.27)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import dis
>>> dis.show_code("G/7/K"*1000000)
Segmentation fault: 11
====================================================
msg391579 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2021-04-22 07:15
The problem is not related to dis, but to compile.
History
Date User Action Args
2022-04-11 14:59:44adminsetgithub: 88075
2021-04-22 07:15:32serhiy.storchakasetstatus: open -> closed

superseder: Compiling long expression leads to segfault (again)

nosy: + serhiy.storchaka
messages: + msg391579
resolution: duplicate
stage: resolved
2021-04-22 04:29:23xxmcreate