Web link bug in iOS 9.3 causes apps to crash, freeze

2

Comments

  • Reply 21 of 55
    MarvinMarvin Posts: 15,326moderator
    I really think that Apple needs to get off their high horse and beef up their feedback system. I've reported many issues over the years, and not once has anybody ever responded to me. It feels like I'm sending my feedback into a black hole, and that's not good enough.
    I think Apple could do with giving users better tools to figure out what's going wrong because they just get inundated with complaints about issues that they can't reproduce, which is why they go so long without being resolved. The iPad's diagnostics section might be showing crash logs but it doesn't cover slowdowns so there could be a sampling button that measures what processes are doing over a period of time. Someone experiencing a crash would hit this sampling button and do the same activity they are experiencing problems with.

    The sampler would measure peak CPU and memory usage of every process on the device at regular intervals, which keeps the data very low (100 processes x (CPU integer + RAM integer, about 6 bytes) @ 1 sample per second so 1 hour of sampling = 60x60x100x6 bytes = 2MB) and the results can show as a graph and you'd clearly see spikes per process. Sampling would turn off automatically after a time limit. This way you can see which processes are sucking up memory and processing. Then you could do per process sampling from that data that has some diagnostics and this can record code samples. Finally have a button (or app like Apple Support) to send one or both diagnostics to Apple and they could see the problem on the first report.

    Another thing that would be nice for Safari is for Apple to treat it a little more like an app than a system component. It can still be updated with the operating system because the shared webkit engine needs to be updated but it would be good to be able to install Safari separately so that other versions besides the system version can be used. Some older operating systems have stopped getting Safari updates, which then leads people to using Chrome or other browsers. That might not help in this particular case if it's a linked process at fault but it means that Apple could immediately put out a temporary Safari version that ignores or allows disabling universal links until they fix the system component and deploy another system update.
  • Reply 22 of 55
    jkichlinejkichline Posts: 1,369member
    Been running iOS 9.3 beta since version 2 and performing tests and customer service for our app. Never have seen an issue. But then again I never installed this bookings.com app so I have no idea. Seems like an issue with that app but reveals something that can be improved. If bookings.com just released an update a week ago, that would explain the crashes not appearing until now.
    pscooter63
  • Reply 23 of 55
    Though this particular bug hasn't effected any of my mobile devices yet, I am noticing that both iOS and OS X are having more problems that usual the last few weeks. Whether that's hang ups, spinning beach balls, repeatedly forgetting passwords, inability to connect to the router, etc.  This is where they need to hit the pause button on scheduled releases and get back some semblance of quality control. I'm starting to get that nearly decade old Windows XP feeling again where you don't know what's going to go wrong or when. 
  • Reply 24 of 55
    RosynaRosyna Posts: 87member
    jkichline said:
    Been running iOS 9.3 beta since version 2 and performing tests and customer service for our app. Never have seen an issue. But then again I never installed this bookings.com app so I have no idea. Seems like an issue with that app but reveals something that can be improved. If bookings.com just released an update a week ago, that would explain the crashes not appearing until now.
    The bad file in question was actually http://www.booking.com/apple-app-site-association iOS automatically queries it when an app is installed from the app store. It’s not delivered with updates and can be changed at any time. (The URL now goes to a proper version of the file, not the old bizarrely huge one)

    Apple has more information on the Universal Links file and format. https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html
    pscooter63
  • Reply 25 of 55
    I spent hours this weekend trying to deal with Siri not working on my Apple Watch. Went back and forth with Apple's Twitter support, then was finally sent to a live person, went through a whole series of procedures (soft reset, unpair/pair, hard reset, resync everything....), and then I was finally told (by the same live tech), a couple of hours later: "This is a known issue resulting from the iOS 9.3 update, we've got a lot of calls about it, so please wait a few days as Apple fixes this problem and issues a new update."

    This is is the first time, in over three decades, I've used a swear word and slammed the phone on Apple Support.
    cnocbui
  • Reply 26 of 55
    foggyhillfoggyhill Posts: 4,767member
    Only one question that I wanted to ask for long time. Been Apple system user since Jaguar. At what point the QA team at Apple became so poor at testing? I know that 7 years ago support moved to different country and was not trained in proper level of curtesy initally (so Canadian support was helping me in the USA), but I bet that was fixed. Now QA these days at Apple. And it is not just about mobile devices. It is about mentality.
    It was "horrible" back then, which is to say no worse than now; people really have no memory. If it doesn't happen to them, a bug didn't exist and yes there were many bad ones in the past too.
  • Reply 27 of 55
    foggyhillfoggyhill Posts: 4,767member
    Only one question that I wanted to ask for long time. Been Apple system user since Jaguar. At what point the QA team at Apple became so poor at testing? I know that 7 years ago support moved to different country and was not trained in proper level of curtesy initally (so Canadian support was helping me in the USA), but I bet that was fixed. Now QA these days at Apple. And it is not just about mobile devices. It is about mentality.
    If this bug shows itself up because of third party app access some API function, how on earth would better QA help.
    This bug likely didn't show up in beta which was extensive.
    Testing all paths, all use cases is nearly impossible in a modern OS.
    Reducing complexity to enable better quality is not done in QA.
    If that is not done in the design phase, there isn't much QA can do about it.
  • Reply 28 of 55
    foggyhillfoggyhill Posts: 4,767member
    I spent hours this weekend trying to deal with Siri not working on my Apple Watch. Went back and forth with Apple's Twitter support, then was finally sent to a live person, went through a whole series of procedures (soft reset, unpair/pair, hard reset, resync everything....), and then I was finally told (by the same live tech), a couple of hours later: "This is a known issue resulting from the iOS 9.3 update, we've got a lot of calls about it, so please wait a few days as Apple fixes this problem and issues a new update."

    This is is the first time, in over three decades, I've used a swear word and slammed the phone on Apple Support.
    Well, maybe they just found out it was a "known problem". when you got word of it.
    Initially they get people complaining, they have to find out if many complaint are related to one thing and try to fully characterise the problem so someone can investigate it and solve it.
    Once that's done I guess someone files an actual bug report internally and it shows up on tech support's radar.
    If the bug is obscure, it could take a while before it's actually filed

    edited March 2016
  • Reply 29 of 55
    rogifan_newrogifan_new Posts: 4,297member
    I haven't noticed any problems yet but man Apple needs to get its act together on the software side of the house. That Information story about Apple working to bring its cloud stuff completely in house has me worried. That is not Apple's strength. There's enough other things they should be focusing on. Let Microsoft or someone else really good at the cloud handle the back end stuff.
  • Reply 30 of 55
    foggyhill said:
    Well, maybe they just found out it was a "known problem". when you got word of it.

    Yes. Of course. 

    (I miss AI's old 'rolleyes' emoji :-/)
    pscooter63
  • Reply 31 of 55
    ajmasajmas Posts: 601member
    Even if Booking.com is responsible in some cases, the issue is still an Apple one. An app that is not actively running and not managing shared features, such as keyboards, should not be able to break things. Apple makes a big effort of sandboxing and isolating app behaviour. I suspect the issue is much more to do with WebKit or something related to it
    netmage
  • Reply 32 of 55
    RosynaRosyna Posts: 87member
    ajmas said:
    Even if Booking.com is responsible in some cases, the issue is still an Apple one. An app that is not actively running and not managing shared features, such as keyboards, should not be able to break things. Apple makes a big effort of sandboxing and isolating app behaviour. I suspect the issue is much more to do with WebKit or something related to it
    It has absolutely nothing to do with WebKit. It's due to the background daemon that handles links between sandboxed apps, swcd, repeatedly crashing on the bad JSON.
  • Reply 33 of 55
    ajmasajmas Posts: 601member
    Rosyna said:
    ajmas said:
    Even if Booking.com is responsible in some cases, the issue is still an Apple one. An app that is not actively running and not managing shared features, such as keyboards, should not be able to break things. Apple makes a big effort of sandboxing and isolating app behaviour. I suspect the issue is much more to do with WebKit or something related to it
    It has absolutely nothing to do with WebKit. It's due to the background daemon that handles links between sandboxed apps, swcd, repeatedly crashing on the bad JSON.
    That could be the case, but why would it break functionality within apps? For example links in safari not opening in safari. 
    edited March 2016
  • Reply 34 of 55
    RosynaRosyna Posts: 87member
    ajmas said:
    Rosyna said:
    It has absolutely nothing to do with WebKit. It's due to the background daemon that handles links between sandboxed apps, swcd, repeatedly crashing on the bad JSON.
    That could be the case, but why would it break functionality within apps?
    Because of how Universal Links work. For example, clicking a YouTube link can open YouTube or an Amazon link can open the Amazon app, which is usually a better user experience than opening the link inside the browser you're in when you click the link. It still asks swcd how to handle them.
    netmagepscooter63
  • Reply 35 of 55
    ajmasajmas Posts: 601member
    Rosyna said:
    ajmas said:
    That could be the case, but why would it break functionality within apps?
    Because of how Universal Links work. For example, clicking a YouTube link can open YouTube or an Amazon link can open the Amazon app, which is usually a better user experience than opening the link inside the browser you're in when you click the link. It still asks swcd how to handle them.

    So it only kicks in when a link request for a different host to the current one is made? It would seem to match the behaviour I am seeing and why Firefox is able to override the behaviour if you hold your finger down for its context menu.  
  • Reply 36 of 55
    MarvinMarvin Posts: 15,326moderator
    I spent hours this weekend trying to deal with Siri not working on my Apple Watch. Went back and forth with Apple's Twitter support, then was finally sent to a live person, went through a whole series of procedures (soft reset, unpair/pair, hard reset, resync everything....), and then I was finally told (by the same live tech), a couple of hours later: "This is a known issue resulting from the iOS 9.3 update, we've got a lot of calls about it, so please wait a few days as Apple fixes this problem and issues a new update."

    This is is the first time, in over three decades, I've used a swear word and slammed the phone on Apple Support.
    People shouldn't have to be waiting days (it's usually weeks/months) for these things to get fixed. Apple should have a rollback system that works immediately because people are depending on these services day-to-day. If operating system updates were self-contained overrides to the core system installed, people would be able to delete the update straight away and revert back to an older working system version.

    You'd start with a base system that was say 9.0. On updating to 9.1, it would leave the 9.0 base system alone and put the modifications in a separate location as overrides to the base system. Similarly 9.2 would be installed as an override of 9.1 and the base. If any update, even a beta update is going wrong, the user simply removes the update and it immediately reverts back to the last working version. There would be no downtime for users and Apple wouldn't be under pressure to fix it ASAP, they just pull the latest update and tell people who experience problems to roll it back until it's fixed. It would use a bit more space (eventually around 2-3GB) but there are ways to deal with that.

    Another option would be to use a profile system instead of incremental versions. So they would maintain a profile of an OS, which would be a snapshot of all the files and program versions contained in it. Someone with an iOS device would be able to select the desired profile. Then it would check the profile already installed on the phone against a new profile and only update the changed components individually, which needs less free space. In situations like this, if the problem is just one system service, they can put a quick fix into that one system component and update an existing profile with just that change and phones that have this profile installed would detect their version of that component was out of sync and could offer to fix just that small program without having to wait on it all getting packaged up in an installer, versioned and have a support page made for it.

    This kind of profiling could also be used for rollbacks so the system can replace core components with updates but store the old files in a compressed location and you'd be able to switch back. Apple would probably want to prevent people downgrading systems for security reasons but the rollback can be limited, even in real-time on their end.
    anantksundaram
  • Reply 37 of 55
    robin huberrobin huber Posts: 3,960member
    After being guided by Apple on how to back out of the update, my brother noticed that the text in his Address Book is scrambled. Touching the gibberish still results in a correct call, but the number itself is gibberish. 
  • Reply 38 of 55
    RosynaRosyna Posts: 87member
    Marvin said:
    I spent hours this weekend trying to deal with Siri not working on my Apple Watch. Went back and forth with Apple's Twitter support, then was finally sent to a live person, went through a whole series of procedures (soft reset, unpair/pair, hard reset, resync everything....), and then I was finally told (by the same live tech), a couple of hours later: "This is a known issue resulting from the iOS 9.3 update, we've got a lot of calls about it, so please wait a few days as Apple fixes this problem and issues a new update."

    This is is the first time, in over three decades, I've used a swear word and slammed the phone on Apple Support.
    People shouldn't have to be waiting days (it's usually weeks/months) for these things to get fixed. Apple should have a rollback system that works immediately because people are depending on these services day-to-day. If operating system updates were self-contained overrides to the core system installed, people would be able to delete the update straight away and revert back to an older working system version.

    You'd start with a base system that was say 9.0. On updating to 9.1, it would leave the 9.0 base system alone and put the modifications in a separate location as overrides to the base system. Similarly 9.2 would be installed as an override of 9.1 and the base. If any update, even a beta update is going wrong, the user simply removes the update and it immediately reverts back to the last working version. There would be no downtime for users and Apple wouldn't be under pressure to fix it ASAP, they just pull the latest update and tell people who experience problems to roll it back until it's fixed. It would use a bit more space (eventually around 2-3GB) but there are ways to deal with that.

    Another option would be to use a profile system instead of incremental versions. So they would maintain a profile of an OS, which would be a snapshot of all the files and program versions contained in it. Someone with an iOS device would be able to select the desired profile. Then it would check the profile already installed on the phone against a new profile and only update the changed components individually, which needs less free space. In situations like this, if the problem is just one system service, they can put a quick fix into that one system component and update an existing profile with just that change and phones that have this profile installed would detect their version of that component was out of sync and could offer to fix just that small program without having to wait on it all getting packaged up in an installer, versioned and have a support page made for it.

    This kind of profiling could also be used for rollbacks so the system can replace core components with updates but store the old files in a compressed location and you'd be able to switch back. Apple would probably want to prevent people downgrading systems for security reasons but the rollback can be limited, even in real-time on their end.
    What does this have to do with the issue at hand, which isn't related to an iOS update?

    And you can downgrade for a few days/weeks after a new iOS version. However, it's time limited to prevent downgrades to vulnerable versions by malware running on PCs or by malicious actors.
    roundaboutnowpscooter63
  • Reply 39 of 55
    Same problem here! How on earth can this have slipped thru all testing? Shameful! Cook has his work cut out for him assuring quality. I'm worried.
  • Reply 40 of 55
    lkrupplkrupp Posts: 10,557member
    igroucho said:
    Same problem here! How on earth can this have slipped thru all testing? Shameful! Cook has his work cut out for him assuring quality. I'm worried.
    Then switch platforms and be done with it. In fact all of those bitching about Apple’s QA should just switch platforms. If you’re that unhappy then why stick with a platform that you now despise from a company whose CEO you despise. Isn’t that called the Stockholm Syndrome where the victim falls in love with their tormentor? With Android you don’t have to worry about things getting fixed because you never get updates. You simply learn to live with the faults and security holes and be happy. 

    Do you have the Booking.com app installed by any chance? TechCrunch and other competent technical web sites seem to think this app is the one triggering the issue because of an unusually large configuration file. Removing the app and resetting (not restarting) the device appears to resolve it.
    edited March 2016
Sign In or Register to comment.