Skip to content

repr() of deeply nested dicts and dictviews can cause a stack overflow. #2782

@xiaxinmeng

Description

@xiaxinmeng

When repr() take a deeply nested dicts as the argument, the stack overflows and Rust Python interpreter crashes.

test.py

x = {}
for i in range(10000):
    x = {1: x}

repr(x)

Actual output:

Segmentation fault (core dumped)

System:

Ubuntu 16.04
Rust Python 0.1.2 interpreter

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions