[whatwg] Race condition in application cache obsoleting

Alexey Proskuryakov ap at webkit.org
Mon Apr 19 12:07:20 PDT 2010

There seems to be a race condition in how application cache groups are  
marked obsolete. Consider the following scenario:

1. A document is loaded from server, an appcache is fully created.
2. Appcache update is initiated (e.g. by calling  
3. A new document is loaded, whose main resource comes from this  
4. Update started at step 2 fails, because manifest is 404. Appcache  
is marked obsolete.
5. The new document is being parsed, and the parser finds manifest  
6. Parser invokes application cache selection algorithm.
7. The application cache selection algorithm associates the document  
with obsolete appcache, because it was loaded from this appcache.

But at the same time, according to downloading or updating an  
application cache algorithm, "the [obsolete] cache group no longer  
exists for any purpose other than processing of Document objects  
already associated with an application cache in the cache group.

Which part of the spec wins?

- WBR, Alexey Proskuryakov

More information about the whatwg mailing list