2019-06-24 23:21 BST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0002397NetSurfAmiga-specificpublic2017-10-16 23:41
Assigned ToChris Young 
Product Version3.4 
Target VersionFixed in Version3.7 
Summary0002397: Netsurf Dev version 3222 crashes if run from a write-protected partition when users directory is in the Netsurf directory.
DescriptionIf NetSurf is installed on a write-protected (locked) partition it will freeze the system and a cold reboot must be performed. The problem can be avoided by using the new USERSDIR tooltype to redirect the location of the Users directory but new users may not be aware of the purpose of the tooltype.
Steps To ReproduceInstall NetSurf and use the 'lock' command to write-protect the partition it's installed on.
Do not set the 'USERSDIR' tooltype to redirect the Users directory to another location.
Double-click the NetSurf icon to start the program.
Cancel any DOS requesters that appear.
NetSurf will open a notification specifying that it could not initialize.

The splash window will remain open and after a few seconds (sooner if mouse pointer moved around) the entire OS4 system freezes and necessitates a cold reboot.
Additional InformationSystem: X1000 running OS4.1FE
TagsNo tags attached.
Fixed in CI build #3799
Reported in CI build #3222
URL of problem page
Attached Files


Chris Young


Chris Young (developer)

NetSurf only aborts abnormally if the user directory does not exist (or, rather, the cache control file does not exist):

(11.870537) content/llcache.c:3327 llcache_initialise: llcache initialising with a limit of 9437184 bytes
(11.876880) content/fs_backing_store.c:1395 read_control: opening control file "PROGDIR:Users/nslocktest/Cache/control"
(11.883631) content/fs_backing_store.c:1512 initialise: read control failed Not found
(11.889923) content/fs_backing_store.c:1347 write_control: writing control file "PROGDIR:Users/nslocktest/Cache/control"
(13.183614) amiga/misc.c:54 ami_misc_req: NetSurf failed to initialise
***Command 'Apps:Internet/NetSurf/NetSurf' returned with unfreed signals 1E000000!

NetSurf should abort earlier in the process if the user directory cannot be created (or if it is detected to be on a write-protected volume).
Chris Young


Chris Young (developer)

Mostly fixed in #3225. Still getting some unfreed signals on exit.


xenic (reporter)

I D/L NetSurf 3.4 (version command says 3.60004) from OS4Depot for testing. The USERDIR command line argument doesn't appear to work and I get a "User directory must be on a writeable volume" requester. The USERDIR Tooltype works fine, as before. When Netsurf can't initialize it no longer freezes my system like it did previously. In addition to the unfreed signals you mentioned, Netsurf is attempting to open the font: "DejaVu Serif Italic.font" but fails because it doesn't exist on my OS4.1FE system partition. Maybe it could use "DejaVu Serif Oblique.font" instead.
Chris Young


Chris Young (developer)

I've just tested it here and it is definitely working. Make sure you are calling the executable directly - the installation script installs a helper in REXX: which doesn't have any knowledge of that arg (I suggest you add it manually to the script on line 32 as launch-handler uses it). Also note that it's USERSDIR not USERDIR.

The font used is Italic, if that isn't found then it will use Oblique. The DejaVu font changed name some time back so I check for both. It looks for the newer one first as an update could potentially leave the old file installed. The new versions have some small caps characters that are missing from the ones provided with OS4 (the frontend uses designed characters for small caps only), I did request that the fonts provided were updated but nobody took any notice.


xenic (reporter)

Sorry about a bad bug report. I was reading USERSDIR but typing USERDIR (dyslexia?). Yes, the USERSDIR arg is working and thanks for adding it. As for the helper in REXX:, I removed it because my launch-handler prefs are set to use the "OpenURL" command. On my system, all URLOpen commands are forwarded to "OpenURL" which takes care of sending ARexx commands if a browser is already open. I only need to worry about one set of prefs and don't need an ARexx script for each browser (IBrowse, AWeb, NetSurf, OWB, Odyssey etc.).

Thanks for your work on NetSurf. It's a nice browser.
Chris Young


Chris Young (developer)

The unfreed signals when NetSurf exits due to a write-protected volume, are now freed.
Vincent Sanders


Vincent Sanders (administrator)

Thankyou for your report, this has been resolved in the 3.7 release

-Issue History
Date Modified Username Field Change
2015-11-23 18:46 xenic New Issue
2015-11-24 13:02 Vincent Sanders Assigned To => Chris Young
2015-11-24 13:02 Vincent Sanders Status new => acknowledged
2015-11-24 13:02 Vincent Sanders Product Version => 3.4
2015-11-24 20:26 Chris Young Note Added: 0001118
2015-11-24 20:26 Chris Young Status acknowledged => confirmed
2015-11-25 00:17 Chris Young Note Added: 0001119
2016-02-22 22:41 xenic Note Added: 0001335
2016-02-22 23:20 Chris Young Note Added: 0001336
2016-02-23 16:52 xenic Note Added: 0001337
2016-12-11 16:19 Chris Young Fixed in CI build # => 3799
2016-12-11 16:19 Chris Young Note Added: 0001459
2016-12-11 16:19 Chris Young Status confirmed => resolved
2016-12-11 16:19 Chris Young Fixed in Version => 3.7
2016-12-11 16:19 Chris Young Resolution open => fixed
2017-10-16 23:41 Vincent Sanders Status resolved => closed
2017-10-16 23:41 Vincent Sanders Note Added: 0001675
+Issue History