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

getChildContext() {
          return {
            text: 'hello, world',
          };
        }
        render() {
          return this.props.children;
        }
      }
      ContextProvider.childContextTypes = {
        text: PropTypes.string,
      };
      var markup = ReactDOMServer.renderToString(
        <ContextProvider>
          <Component />
        </ContextProvider>,
      );
      expect(markup).toContain('hello, world');
    });
    it('renders components with different batching strategies', () => {
      class StaticComponent extends React.Component {