celluloid / celluloid-dns

UNMAINTAINED: See celluloid/celluloid#779 - Celluloid::IO-powered DNS server
https://celluloid.io
57 stars 13 forks source link

handle_connection does not handle Errno::ECONNRESET #10

Closed promix17 closed 8 years ago

promix17 commented 8 years ago

handle_connection does not handle Errno::ECONNRESET

https://github.com/celluloid/celluloid-dns/blob/master/lib/celluloid/dns/handler.rb#L173

Example of exeption:

Actor crashed! Errno::ECONNRESET: Connection reset by peer
/var/lib/gems/2.1.0/gems/celluloid-io-0.17.2/lib/celluloid/io/stream.rb:41:in `block in sysread'
/var/lib/gems/2.1.0/gems/celluloid-io-0.17.2/lib/celluloid/io/stream.rb:389:in `synchronize'
/var/lib/gems/2.1.0/gems/celluloid-io-0.17.2/lib/celluloid/io/stream.rb:39:in `sysread'
/var/lib/gems/2.1.0/gems/celluloid-io-0.17.2/lib/celluloid/io/stream.rb:128:in `readpartial'
/var/lib/gems/2.1.0/bundler/gems/celluloid-dns-05ef7ebd72f2/lib/celluloid/dns/transport.rb:58:in `read_chunk'
/var/lib/gems/2.1.0/bundler/gems/celluloid-dns-05ef7ebd72f2/lib/celluloid/dns/handler.rb:173:in `handle_connection'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/calls.rb:28:in `public_send'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/calls.rb:28:in `dispatch'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/call/async.rb:7:in `dispatch'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/cell.rb:50:in `block in dispatch'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/cell.rb:76:in `block in task'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/actor.rb:339:in `block in task'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/task.rb:44:in `block in initialize'
/var/lib/gems/2.1.0/gems/celluloid-0.17.2/lib/celluloid/task/fibered.rb:14:in `block in create'