From: Shugo Maeda Date: 2017-01-12T10:31:21+09:00 Subject: [ruby-core:79063] Re: [Ruby trunk Bug#13018] end of file reached (EOFError) from SMTP Toby Murray wrote: > Someone has commented on the Rails issue here: https://github.com/rails/rails/issues/27298#issuecomment-269980037 that this is one of a handful of errors that leak out. Not sure whether the ones mentioned there mean much in this context, but worth validation I imagine. Other libraries also have the same behavior. > # callers do not care about backtrace, so avoid allocating for it > > I care... Me too. Can we close this issue by fixing backtrace information? If you want Net::SMTPError, please file another ticket as a feature request. Eric Wong wrote: >> The reason why no stack trace is available is the following code introduced by r50219: >> >> # callers do not care about backtrace, so avoid allocating for it >> raise EOFError, 'end of file reached', [] >> >> Eric, is it intentional that stack trace is lost in this case? > > (Sorry, I missed this earlier, feel free to Cc: me directly if I > fail to respond). > > Yes, it was my intention to avoid allocations since I remember > callers would not care; but it looks like I was wrong... > >> Speaking of Net::SMTP, EOFError is raised in do_finish, so it may be better to ignore. >> However, it's too late to change the behavior in Ruby 2.4.0, I think. > > If caller needs backtrace, then yes, we should preserve stack > trace. EOFError is much rarer than IO::Wait*able, however, so > less of a performance problem. May I fix it to preserve the backtrace information, or would you? Unsubscribe: