Calling `ReactDOMServer.renderToStaticMarkup(elementWithPortal);` gets stuck in a loop while trying to do a static render.

Current behavior:
The behavior can be seen here: https://codepen.io/anon/pen/BmqWOM  by un-commenting line 58 (warning: this will make your tab freeze)

Expected behavior:
It should return with results or throw some kind of error if the input is not valid

constructor(props) {
            super(props);
            lifecycle.push('getInitialState');
            this.state = {name: 'TestComponent'};
          }
          componentWillMount() {
            lifecycle.push('componentWillMount');
          }
          componentDidMount() {
            lifecycle.push('componentDidMount');
          }
          render() {
            lifecycle.push('render');
            return <span>Component name: {this.state.name}</span>;
          }
          componentWillUpdate() {
            lifecycle.push('componentWillUpdate');
          }
          componentDidUpdate() {
            lifecycle.push('componentDidUpdate');
          }
          shouldComponentUpdate() {
            lifecycle.push('shouldComponentUpdate');
          }
          componentWillReceiveProps() {
            lifecycle.push('componentWillReceiveProps');
          }
          componentWillUnmount() {