我有一个简单的网络应用程序(http://www.webdungeon2.org)(6页)在最新(2014年4月)版本的Rikulo Stream(Ubuntu 13.04),Dart 1.2上运行,我在浏览时遇到以下错误(我认为):
Uncaught Error: SocketException: OS Error: Broken pipe, errno = 32, address = 0.0.0.0, port = 80
Unhandled exception:
SocketException: OS Error: Broken pipe, errno = 32, address = 0.0.0.0, port = 80
#0 _rootHandleUncaughtError.<anonymous closure>.<anonymous closure> (dart:async/zone.dart:700)
#1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:23)
#2 _asyncRunCallback (dart:async/schedule_microtask.dart:32)
#3 _asyncRunCallback (dart:async/schedule_microtask.dart:36)
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:119)
服务器崩溃,然后重新启动它。这在3天内发生了3次。
我也得到了这些(不会使网站崩溃):
2014-04-09 15:07:33.394:stream:5
SHOUT: [/MY_WEB_PAGE] HttpException: Trying to set 'Transfer-Encoding: Chunked' on HTTP 1.0 headers
#0 _HttpHeaders.chunkedTransferEncoding= (http_headers.dart:142)
#1 Rsp.init (package:stream/src/rsp_util.dart:25:15)
#2 demo (file:///mytool/webdungeon/web/webapp/demo.rsp.dart:10:16)
#3 _StreamServer._handle (package:stream/src/server_impl.dart:92:39)
#4 _StreamServer._startChannel.<anonymous closure>.<anonymous closure> (package:stream/src/server_impl.dart:310:16)
#5 _rootRunUnary (dart:async/zone.dart:717)
#6 _ZoneDelegate.runUnary (dart:async/zone.dart:449)
#7 _CustomizedZone.runUnary (dart:async/zone.dart:654)
#8 _BaseZone.runUnaryGuarded (dart:async/zone.dart:569)
......
......
有什么建议吗?
更新 - 4月12日
Dart 1.3上仍会出现问题,但错误代码不同
Uncaught Error: SocketException: OS Error: Connection reset by peer, errno = 104, address = 0.0.0.0, port = 80
Unhandled exception:
SocketException: OS Error: Connection reset by peer, errno = 104, address = 0.0.0.0, port = 80
#0 _rootHandleUncaughtError.<anonymous closure>.<anonymous closure> (dart:async/zone.dart:713)
#1 _asyncRunCallbackLoop (dart:async/schedule_microtask.dart:23)
#2 _asyncRunCallback (dart:async/schedule_microtask.dart:32)
#3 _asyncRunCallback (dart:async/schedule_microtask.dart:36)
#4 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:119)
塞尔
更新 - 4月28日
问题似乎已在Dart SDK 1.3.3版中得到解决。我的服务器已经运行了2天没有任何障碍。
塞尔
答案 0 :(得分:1)
你升级到Dart 1.3了吗?该问题应由Issue 17468引起,并在Dart 1.3中修复。
关于
HttpException...Chunked
的问题,我没有经验。你必须检查Dart API,或者做一个简单的案例来重现这个问题。
答案 1 :(得分:0)
issue 17468的修复程序包含错误。 Streams属于他们被收听的区域,而不是被创建的区域。我用r35071修正了这个错误。
虽然这不会修复1.3二进制文件,但应该可以查看1.3源代码并应用此补丁。