Skip to content

testing: test/stress leaks goroutines #5527

Description

@alberts
I've been running the Go stress tests for a bit.

I noticed that the memory consumption was heading north of 140 GB but that the heap was
only 20 GB.

The threadRing code called from stressChannels seems to leave N-1 goroutines stuck on
reading from their in channel. The done channel stuff looks a bit... interesting.

bradfitz said: "No, it was not my intention to leak anything."

For what it's worth, trying to kill the stress test in this state blew up the 3.4.7
kernel:

[1902435.376194] BUG: soft lockup - CPU#26 stuck for 23s! [runstress:5471]
[1902435.378282] Pid: 5471, comm: runstress Not tainted
[1902435.380824] Call Trace:
[1902435.380909]  [<ffffffff8112ab7e>] free_hot_cold_page_list+0x4e/0xc0
[1902435.380994]  [<ffffffff8112f756>] release_pages+0x1d6/0x220
[1902435.381079]  [<ffffffff8115a08e>] free_pages_and_swap_cache+0x9e/0xc0
[1902435.381164]  [<ffffffff81145ebc>] tlb_flush_mmu+0x6c/0x90
[1902435.381241]  [<ffffffff81145ef4>] tlb_finish_mmu+0x14/0x40
[1902435.381354]  [<ffffffff8114ffb8>] exit_mmap+0xd8/0x140
[1902435.381433]  [<ffffffff8116e8f6>] ? kmem_cache_free+0x116/0x130
[1902435.381513]  [<ffffffff810553f7>] mmput+0x77/0x110
[1902435.381588]  [<ffffffff8105c4c5>] exit_mm+0x105/0x130
[1902435.381666]  [<ffffffff8105c659>] do_exit+0x169/0x8d0
[1902435.381746]  [<ffffffff8117eca5>] ? mem_cgroup_bad_page_check+0x25/0x30
[1902435.381827]  [<ffffffff8112a5f7>] ? free_pages_prepare+0x87/0x130
[1902435.381915]  [<ffffffff8105d112>] do_group_exit+0x42/0xa0
[1902435.381997]  [<ffffffff8106bf13>] get_signal_to_deliver+0x223/0x5e0
[1902435.382078]  [<ffffffff81056458>] ? copy_process+0x6f8/0x1510
[1902435.382162]  [<ffffffff810142c5>] do_signal+0x65/0x5d0
[1902435.382237]  [<ffffffff810573ba>] ? do_fork+0xfa/0x340
[1902435.382355]  [<ffffffff8119f34f>] ? alloc_fd+0x4f/0x130
[1902435.382434]  [<ffffffff810148f8>] do_notify_resume+0xa8/0xf0
[1902435.382516]  [<ffffffff81604aa2>] int_signal+0x12/0x17

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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