1
2
3
4
5
6
7
8
9
10
Unhandled exception: Error writing file: Broken pipe (Errno)
from /usr/share/crystal/src/crystal/system/unix/file_descriptor.cr:82:13 in 'unbuffered_write'
from /usr/share/crystal/src/io/buffered.cr:192:5 in 'flush'
from /usr/share/crystal/src/io/buffered.cr:144:7 in 'write'
from /usr/share/crystal/src/io.cr:481:7 in 'write_utf8'
from /usr/share/crystal/src/int.cr:478:7 in 'to_s'
from /usr/share/crystal/src/int.cr:445:5 in 'to_s'
from /usr/share/crystal/src/io.cr:184:5 in '<<'
from /usr/share/crystal/src/io.cr:241:5 in 'puts'
from /usr/share/crystal/src/kernel.cr:366:3 in 'puts'
from puts.cr:3:2 in '__crystal_main'
from /usr/share/crystal/src/crystal/main.cr:97:5 in 'main_user_code'
from /usr/share/crystal/src/crystal/main.cr:86:7 in 'main'
from /usr/share/crystal/src/crystal/main.cr:106:3 in 'main'
from __libc_start_main
from ???
from ???
Failed to raise an exception: END_OF_STACK
[0x455406] *CallStack::print_backtrace:Int32 +118
[0x43a886] __crystal_raise +86
[0x49bc00] *IO::FileDescriptor +256
[0x49ba53] *IO::FileDescriptor +83
[0x4a81ec] *Crystal::main<Int32, Pointer(Pointer(UInt8))>:Int32 +156
[0x445296] main +6
[0x7f2856853505] __libc_start_main +245
[0x439769] ???
[0x0] ???
I just left a comment on that issue, but also leaving here so I can find this thread again later.
I’m getting this same error in my production app, and it’s showing up a lot. After upgrading to crystal 0.34, I noticed I get it in development a lot too.
web | ▸ Exception Error writing to socket: Broken pipe (IO::Error)
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/socket.cr:82:13 in 'unbuffered_write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:152:14 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/http/server/response.cr:219:11 in 'unbuffered_write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:218:5 in 'flush'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:156:7 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/http/server/response.cr:86:7 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io.cr:1121:7 in 'copy'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/http/server/handlers/static_file_handler.cr:81:9 in 'call'
web | from lib/lucky/src/charms/static_file_handler.cr:5:5 in 'call'
web | ▸ Unhandled exception Error writing to socket: Broken pipe (IO::Error)
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/socket.cr:82:13 in 'unbuffered_write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:152:14 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/http/server/response.cr:219:11 in 'unbuffered_write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:218:5 in 'flush'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io/buffered.cr:151:7 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/http/server/response.cr:86:7 in 'write'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io.cr:472:7 in 'write_utf8'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/string.cr:4413:5 in 'to_s'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io.cr:175:5 in '<<'
web | from /Users/jeremywoertink/.asdf/installs/crystal/0.34.0/src/io.cr:189:5 in 'print'
web | from lib/lucky/src/lucky/text_response.cr:26:5 in 'print'
Hi,
What is the current status of the ‘broken pipe’ issue reported in several posts (#7810, #9065)
It seems to be still alive !
Is there any workaround for it ?
Thanks @hutou, it did the trick to silent this messages.
I got another issue in my case using the stdlib logger, here is a minimal reproducible snippet: crystal eval 'require "log"; Log.info { "" }' | echo, which returns this exception then hangs indefinitely:
Unhandled exception in spawn: Error writing file: Broken pipe (IO::Error)
from /usr/share/crystal/src/io/evented.cr:82:13 in 'unbuffered_write'
from /usr/share/crystal/src/io/buffered.cr:239:5 in 'flush'
from /usr/share/crystal/src/io/buffered.cr:178:7 in 'write_byte'
from /usr/share/crystal/src/char.cr:897:9 in 'to_s'
from /usr/share/crystal/src/io.cr:174:5 in '<<'
from /usr/share/crystal/src/io.cr:188:5 in 'print'
from /usr/share/crystal/src/io.cr:243:5 in 'puts'
from /usr/share/crystal/src/log/io_backend.cr:19:5 in 'write'
from /usr/share/crystal/src/log/dispatch.cr:61:9 in 'write_logs'
from /usr/share/crystal/src/log/dispatch.cr:51:7 in '->'
from /usr/share/crystal/src/fiber.cr:146:11 in 'run'
from /usr/share/crystal/src/fiber.cr:98:34 in '->'
from ???