MantisBT - NetSurf
View Issue Details
0002606NetSurf[All Projects] Generalpublic2018-07-23 09:132018-08-28 10:48
ReporterRichard Porter 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusacknowledgedResolutionopen 
PlatformARMX6OSRISC OSOS Version5.25
Product Version3.8 
Target VersionFixed in Version 
Fixed in CI build #
Reported in CI build #4363
URL of problem page
Summary0002606: Refresh page fails to refresh
DescriptionClicking the refresh tool fails to refresh the page.
Steps To ReproduceLoad a page in NetSurf, update some text on that page then request that page again. The page is not updated. Quitting and re-running NetSurf still displays the old page. If I run Otter-Browser it displays the updated page so it can't be an external cacheing issue.
Additional InformationDefault cache choices.
TagsNo tags attached.
Attached Files? Log (183,341) 2018-08-10 16:28
https://bugs.netsurf-browser.org/mantis/file_download.php?file_id=551&type=bug

Notes
(0001779)
Richard Porter   
2018-07-23 09:31   
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?
(0001780)
Richard Porter   
2018-07-23 19:48   
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.
(0001785)
Vincent Sanders   
2018-07-27 13:40   
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

(0001786)
Michael Drake   
2018-07-28 09:44   
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.
(0001797)
Richard Porter   
2018-08-10 16:28   
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.

Issue History
2018-07-23 09:13Richard PorterNew Issue
2018-07-23 09:31Richard PorterNote Added: 0001779
2018-07-23 19:48Richard PorterNote Added: 0001780
2018-07-27 13:40Vincent SandersAdditional Information Updatedbug_revision_view_page.php?rev_id=2049#r2049
2018-07-27 13:40Vincent SandersNote Added: 0001785
2018-07-27 13:40Vincent SandersStatusnew => acknowledged
2018-07-27 13:40Vincent SandersProduct Version => 3.8
2018-07-28 09:44Michael DrakeNote Added: 0001786
2018-07-29 10:21Vincent SandersStatusacknowledged => feedback
2018-08-10 16:28Richard PorterFile Added: Log
2018-08-10 16:28Richard PorterNote Added: 0001797
2018-08-10 16:28Richard PorterStatusfeedback => new
2018-08-28 10:48Vincent SandersStatusnew => acknowledged