Skip to content
This repository was archived by the owner on Oct 7, 2025. It is now read-only.

ArgumentError: this IO is already registered with selector #53

@mighe

Description

@mighe

This happened a couple of times:

ERROR -- : Actor crashed!
ArgumentError: this IO is already registered with selector
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/reactor.rb:42:in `register'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/reactor.rb:42:in `wait'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/reactor.rb:26:in `wait_writable'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io.rb:65:in `wait_writable'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:33:in `wait_writable'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:63:in `rescue in block in syswrite'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:60:in `block in syswrite'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:389:in `synchronize'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:58:in `syswrite'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:355:in `do_write'
    /xxx/gems/celluloid-io-0.16.2/lib/celluloid/io/stream.rb:256:in `<<'
    /xxx/gems/reel-0.5.0/lib/reel/websocket.rb:80:in `write'
    /yyy/angelo_apis.rb:32:in `block (2 levels) in <class:AngeloApis>'
    /xxx/gems/angelo-0.4.1/lib/angelo/stash.rb:56:in `block in each'
    /xxx/gems/angelo-0.4.1/lib/angelo/stash.rb:54:in `each'
    /xxx/gems/angelo-0.4.1/lib/angelo/stash.rb:54:in `each'
    /yyy/angelo_apis.rb:32:in `block in <class:AngeloApis>'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `public_send'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/calls.rb:122:in `dispatch'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in `block in invoke'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in `block in task'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in `block in task'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in `block in initialize'
    /xxx/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'

calling this task:

  task :custom_event do |event|
    websockets.each { |ws| ws.write event.to_json }
  end

I saw this error a couple of times recently.
Do you think it can be an Angelo issue or can it be a problem of one of its dependency?
I found this

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions