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

lifecycle.push('componentWillUnmount');
          }
        }
        var response = ReactDOMServer.renderToString(<TestComponent />);
        expect(response).toMatch(
          new RegExp(
            '<span ' +
              'data-reactroot' +
              '=""' +
              '>' +
              'Component name: <!-- -->TestComponent' +
              '</span>',
          ),
        );
        expect(lifecycle).toEqual([
          'getInitialState',
          'componentWillMount',
          'render',
        ]);
      }
      runTest();
    });
    it('should have the correct mounting behavior (old hydrate API)', () => {
      spyOnDev(console, 'warn');
      spyOnDev(console, 'error');
      var mountCount = 0;
      var numClicks = 0;
      class TestComponent extends React.Component {