Skip to content

ref_table grows without bound #7128

@vicuna

Description

@vicuna

Original bug ID: 7128
Reporter: @stedolan
Status: acknowledged (set by @damiendoligez on 2016-02-03T11:00:36Z)
Resolution: open
Priority: normal
Severity: minor
Version: 4.02.3
Target version: later
Category: back end (clambda to assembly)
Monitored by: @gasche @hcarty

Bug description

The ref_table is added to whenever a pointer is created from the old to the young generation. Unfortunately, this can happen an unbounded number of times between two safepoints, since safepoints are only at allocations in the native compiler.

The attached program runs using less than 1MB of memory with the bytecode interpreter. However, when compiled with ocamlopt, it allocates 4GB of ref_table and then crashes, as ocamlopt must wait for a safepoint to clear the ref_table.

File attachments

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions