Safari 8 crash / freeze due to failed HTTPS handshaking

Discussion in 'OS X Yosemite (10.10)' started by ulyssesric, Nov 17, 2014.

  1. ulyssesric macrumors regular

    ulyssesric

    Joined:
    Oct 7, 2006
    #1
    Since last month some networking devices in my office are malfunction. The IT staffs spent weeks diagnosing these devices, but still can't determine the source of problem. So we have to put up with the unstable internet connection for a while. I don't know why, but all the normal HTTP request seemed OK (though slow), while partial of HTTPS connections suffer from extremely long latency (up to several minutes). As an engineer, I understand this situation and I can stand for the slow connection. But the problem is, Safari 8.0 (Yosemite) is completely unusable in this environment.

    A typical syndrome is: when I visit some webpages that contain HTTPS resources (Javascripts or images, such as the avatar icons from gavatar.com,) Safari will load only part of the page, and go freeze. Mouse cursor will turn into spinning beach ball, and every element on the page wii not be functional anymore; text can't be selected, form can't be focused, links can't be clicked, and even page rendering is stopped: pictures and texts are cut-off in the half, and the screen will not repaint when scrolling. If there are other tabs opened, switching to other tab will flush the whole tab content into blank, and the original content of those tab will not be repainted either. Every interactive move will get no response, including the attempt to close the stalled tab. Safari will only come back to life after the HTTPS session expires, which would take minutes before it times out. And in some rare case, the stalled HTTPS session will crash the whole web content process of that tab. The tab (or window) will just disappear by itself.

    The situation goes really really bad, because every modern web page will utilize some sort of HTTPS resource. Facebook buttons, avatar icons, login forms, they are everywhere. Even stackexchange.com is filled with such elements.

    Of course the slow connection is not limited to Safari; Google Chrome and even CURL command also suffer from long latency of HTTPS connection. However, Chrome and CURL may go renegotiation during SSL handshaking, and eventually construct connection after a delay. But Safari seems not capable to do this. If HTTPS connection is not established in a few seconds, the session will fail, and it will block all other UI events, until the session expires. I've no idea how Safari 8 deals with TCP connection, but these symptoms remind me the old-school "blocking mode" of socket implementation, which I've never used again after I learned select(), poll() and kqueue.

    Any tip to fix or mitigate the situation is appreciated. I do hope some "defaults write" command will tweak the behavior of Safari dealing with HTTPS, or "sudo rm" some outdated database will do the magic. But please save your time and don't advise me to "Clear the History and Web Data". I've already done that, and it's not working at all. I've even setup a new user account and repeated all the test with the new account.
     
  2. simonsi macrumors 601

    simonsi

    Joined:
    Jan 3, 2014
    Location:
    Auckland
    #2
    1. Use an alternate browser temporarily
    2. Fix your internet connection
     
  3. Packa macrumors newbie

    Joined:
    Dec 21, 2014
    #3
    Did you find a solution?

    Hey ulyssesric,

    we have the same issue at one of our web sites.
    It seems to be a problem with a specific SSL certificate. The issue only occur on Iphones with Safari. If we switch SSL off, the problem is gone.

    Did you find a solution in the meantime?

    Regards
    Pascal
     

Share This Page