anchor.diff:      }
     }
   
  -  void reportError(error, String message) {
  +  void reportError(error, StackTrace st, String message) {
       var e = createError(error, message, address, localPort);
       // Invoke the error handler if any.
       if (eventHandlers[errorEvent] != null) {
  -      eventHandlers[errorEvent](e);
  +      eventHandlers[errorEvent](e, st);
       }
       // For all errors we close the socket
       close();
  
positive.code:         bytes, (address as _InternetAddress)._in_addr, port);
      if (result is OSError) {
        OSError osError = result;
        scheduleMicrotask(() => reportError(osError, "Send failed"));
        result = 0;
      }
      // TODO(ricow): Remove when we track internal and pipe uses.
  
negative.code:           _controller.add(RawSocketEvent.closed);
            _controller.close();
          },
          error: zone.bindBinaryCallbackGuarded((e, st) {
            _controller.addError(e, st);
            _socket.close();
          }));
    }
  