Skip to content

Sometimes sending to a Channel will segfault #4748

@johnnovak

Description

@johnnovak

This is happening quite regularly on Windows and the results are catastrophic... I'm actually using a shared channel for this, so I guess it's either a bug in the channel implementation or maybe a GC bug? I'm sending to my shared channel from multiple threads, my understanding is that that's OK as channels use locking internally. The same code has been working flawlessly on Linux and OS X so far.

I am happy to share my full source with the brave person who's willing to investigate this. Isolating the root cause would be extremely hard as I have really no idea where the problem is coming from, and changing anything might actually make it go away.

channels.nim(202)        send
channels.nim(166)        rawSend
alloc.nim(650)           alloc0
alloc.nim(644)           alloc
alloc.nim(481)           rawAlloc
alloc.nim(437)           getSmallChunk
alloc.nim(428)           getBigChunk
alloc.nim(399)           splitChunk
SIGSEGV: Illegal storage access. (Attempt to read from nil?)

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