Skip to content

Socketmode panic, write on closed channel #1125

@krzysztofjopekacaisoft

Description

What happened

panic: send on closed channel

goroutine 47 [running]:
github.com/slack-go/slack/socketmode.(*Client).receiveMessagesInto(0x14000243950, {0x101c6e948, 0x1400043cac0}, 0x14000676c60, 0x1400061a6c0)
        /Users/censored/go/pkg/mod/github.com/slack-go/[email protected]/socketmode/socket_mode_managed_conn.go:484 +0x64c
github.com/slack-go/slack/socketmode.(*Client).runMessageReceiver(0x14000243950, {0x101c6e948, 0x1400043cac0}, 0x14000676c60, 0x1400061a6c0)
        /Users/censored/go/pkg/mod/github.com/slack-go/[email protected]/socketmode/socket_mode_managed_conn.go:363 +0x50
github.com/slack-go/slack/socketmode.(*Client).run.func4()
        /Users/censored/go/pkg/mod/github.com/slack-go/[email protected]/socketmode/socket_mode_managed_conn.go:133 +0x94
created by github.com/slack-go/slack/socketmode.(*Client).run
        /Users/censored/go/pkg/mod/github.com/slack-go/[email protected]/socketmode/socket_mode_managed_conn.go:128 +0x948
Exiting.

Looks like channel got closed:

defer close(messages)

before message got passed to the channel:
case sink <- event:

because we don't wait for completion:
// We don't wait on runMessageReceiver because it doesn't block on a select with the context,

Expected behavior

No panic

Steps to reproduce

Start socketmode slack client

reproducible code

https://github.com/slack-go/slack/blob/master/examples/socketmode/socketmode.go

Versions

  • Go: 1.18
  • slack-go/slack: 0.11.3

Activity

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

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