Skip to content

Abort at program exist with RUST_LOG=debug and SIngleThreaded task #10405

Closed
@MicahChalmer

Description

@MicahChalmer

If you set RUST_LOG=debug and run a program that spawns a task in SingleThreaded mode, the program will abort at the end with a lovecraft quote and the message "thread-local pointer is null. bogus!" This program is sufficient to see the crash:

use std::task;

fn main() {
    let mut t = task::task();
    t.sched_mode(task::SingleThreaded);
    t.spawn(|| ());
}

The output, if run with RUST_LOG=debug:

spawn calling run_task
boostrapping a 1:1 scheduler


The ocean ate the last of the land and poured into the smoking gulf, thereby
giving up all it had ever conquered. From the new-flooded lands it flowed
again, uncovering death and decay; and from its ancient and immemorial bed it
trickled loathsomely, uncovering nighted secrets of the years when Time was
young and the gods unborn. Above the waves rose weedy remembered spires. The
moon laid pale lilies of light on dead London, and Paris stood up from its damp
grave to be sanctified with star-dust. Then rose spires and monoliths that were
weedy but not remembered; terrible spires and monoliths of lands that men never
knew were lands...

fatal runtime error: thread-local pointer is null. bogus!

without RUST_LOG=debug it runs fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions