你正在使用的Go版本是什么( go version
)?
$ go version
go version go1.14.5 darwin/amd64
这个问题在最新版本中是否会重现?
是的。
你正在使用什么操作系统和处理器架构( go env
)?
go env
输出
$ go env
你做了什么?
尝试解析不符合RFC的消息,以使其不超过76个字符(有4953个字符)。目前,quotedprintable正在使用bufio.Reader,因为bufio.Rader的默认限制,当行长度超过约4k字符时会失败。
你期望看到什么?
尽管它不符合RFC,但最好还是解析它,因为没有理由不支持它。
你看到了什么?
消息无法解析。
5条答案
按热度按时间yizd12fk1#
你能提供一个产生错误的代码示例吗,最好是作为一个Go playground链接?
myzjeezk2#
CC @minux@bradfitz@neild
bprjcwpo3#
我们也看到了这种行为。
https://play.golang.org/p/mNwpwJRrqkn
它导致了一些其他副作用。特别是对于textproto和bufio:
https://play.golang.org/p/WzCbLdVg0pj
第二个play总是因为无限循环而超时。这似乎是由于一旦读者遇到缓冲区满错误,它将在所有后续调用中始终返回该错误。
dgenwo3n4#
@gopherbot remove WaitingForInfo
ercv8c1e5#
/cc @bradfitz@minux