The flaw was discovered by Public Radio Exchange Labs, the host of popular podcasts such as This American Life and The Moth, after researching a curiously high spike in download traffic. According to PRX, there is an issue in iOS 6 Audio Playback frameworks that results in files being downloaded multiple times, however the problem has apparently been resolved in iOS 6.0.1 and 6.1 beta.
First tipped off by This American Life, which complained of unusually high content delivery network (CDN) bills, PRX thought that the "rather extreme" spike in bandwidth was due to Apple's release of its Podcasts app. Following a series of tests that compared transfer activity in iOS 6 with iOS 5, it was determined that audio files were being downloaded multiple times due to errors in the new operating system's code.
"The player appears to get into a state where it makes multiple requests per second and closes them rapidly," PRX wrote in a blog post on Wednesday. "Because the ranges of these requests seem to overlap and the requests themselves each carry some overhead, this causes a single download of an MP3 to use significantly more bandwidth than in iOS 5. In one case, the playback of a single 30MB episode caused the transfer of over 100MB of data."
Screenshot from the PRX test showing multiple requests in rapid succession.
Not only does the bug affect Apple's first-party Podcasts app, but third-party titles as well, indicating that the underlying issue is system-wide.
It is unknown what exactly triggers the re-downloading of content, though it appears the timing is variable as the PRX test saw normal content downloads lasting for up to five minutes. What is consistent, however, is the activity seen when a file has completely downloaded. The tests show that once a file has finished downloading, the AV player restarts the download from the beginning and continues to do so as long as a user is streaming the file.
As seen in the video below, which shows the HTTP activity of the Podcasts app on iOS 6, the system sends multiple rapid requests even after buffering is complete and the file is downloaded.
PRX speculates the bug could be the cause of recent complaints regarding trouble with iPhone 5 data overages, with subscribers from various carriers claiming the handset was using cellular data despite being connected to Wi-Fi.
Because iOS 6.0.1 appears to have fixed the error, it is recommended that users running iOS 6.0 upgrade to the latest version to avoid incurring unintended and costly data charges.