Notes |
|
|
I have tried unsuccessfully:
quitting and rerunning NetSurf
restarting the machine
powering down the machine for 30s
deleting cache files
Where is it storing the page? |
|
|
|
The new page has now loaded without a refresh. It's over 1 day since I last loaded the old page.
I've also found a completely separate cache in !Boot.Resources.!Cache.Caches.Default.Netsurf which I assume NetSurf now uses.
OK, so the disc cache expired and the page reloaded. That doesn't change my original issue. Refresh should reload all parts of the page from the server, not from a local cache which is pointless. |
|
|
|
Reload logic is:
frontend -> browser.c:browser_window_reload()
browser.c:browser_window_reload() -> content.c:content_invalidate_reuse_data()
content.c:content_invalidate_reuse_data() -> content.c:content__invalidate_reuse_data()
content.c:content__invalidate_reuse_data() -> llcache.c:llcache_handle_invalidate_cache_data()
llcache.c:llcache_handle_invalidate_cache_data(llcache_handle *handle)
{
handle->object->cache.no_cache = LLCACHE_VALIDATE_ONCE;
}
browser.c:browser_window_reload() -> browser.c:browser_window_navigate(bw, hlcache_handle_get_url(bw->current_content))
browser.c:browser_window_navigate() -> hlcache.c:hlcache_handle_retrieve()
hlcache.c:hlcache_handle_retrieve() -> llcache.c:llcache_handle_retrieve()
llcache.c:llcache_handle_retrieve() -> llcache.c:llcache_object_retrieve()
llcache.c:llcache_object_retrieve() -> llcache.c:llcache_object_retrieve_from_cache()
enumerate ram cache for match (should match given object cache validity was set above
if not found enumerate disc cache for match
llcache.c:llcache_object_retrieve_from_cache() -> llcache.c:llcache_object_is_fresh()
checks object->cache.no_cache == LLCACHE_VALIDATE_FRESH
if found object is fresh, use it (should not happen from above validity clearing)
if object found but needs freshness check, clone existing cached object and start fetch for it
llcache_object_fetch()
that is what should happen. will setup test to see what does happen
|
|
|
|
minijem:
Please try this:
1. Quit NetSurf.
2. Shift double-click !NetSurf, to open its application dir.
3. Run OpenChoices
4. Open the Choices text file.
5. Add this line to the Choices file:
suppress_curl_debug:0
6. Run NetSurf.
7. Reproduce the caching problem.
8. Quit NetSurf.
9. In NetSurf application directory, run OpenScrap.
10. Attach the Log file to in the directory that opens to this bug. |
|
|
|
OK. The original problem cleared once the earlier fetch had expired (after 24 hours). However I have a similar problem with another site (mmpa.org.uk).
I have set disk cache to 0, and added the line above to Choices.
NB I had to open the choices file in the usual way since the above method produced an error on saving (path variable had multile entries etc).
I then ran http://www.mmpa.org.uk/ and it loaded correctly.
Log uploaded. |
|