Index: runtime/vm/service_isolate.cc |
diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc |
index a067c4e6cc5a43a4baf708ed0a932383088aa7a8..3350583b7cb794f90243b16f34c6819a5cd4b0c9 100644 |
--- a/runtime/vm/service_isolate.cc |
+++ b/runtime/vm/service_isolate.cc |
@@ -549,6 +549,9 @@ void ServiceIsolate::BootVmServiceLibrary() { |
const Object& result = Object::Handle( |
DartEntry::InvokeFunction(boot_function, Object::empty_array())); |
ASSERT(!result.IsNull()); |
+ if (result.IsUnwindError() || result.IsUnhandledException()) { |
+ Exceptions::PropagateError(Error::Cast(result)); |
+ } |
Dart_Port port = ILLEGAL_PORT; |
if (result.IsReceivePort()) { |
port = ReceivePort::Cast(result).Id(); |