Are we all doomed?
David Gee (1833) 268 posts |
Well, I’ve tried again with a fresh Debian install inside a VM and get the same error message as before—see the post a little earlier. Unless I get a reply saying what’s causing this to happen guess I won’t be able to contribute. Shame. |
Glen Walker (2585) 469 posts |
Thanks Michael – I’ll hopefully get some time tomorrow to look at some of these and see if there is anything I can do.
I’m not going to claim I know what is going on but one thing I did differently was instead of: > sudo bashI just used: > suto become root for the required commands and then when that command had finished just type > exitto get back to the normal user. I would not worry about actually becoming root temporarily in this manner – unless you are in an environment where someone may get access to your keyboard and you are worried about damage to the computer then becoming root for some commands should not be a problem (also if you are running in a virtual machine and it gets screwed up then it should be a simple case of deleting/re-installing the machine). Also, not sure if it’ll help any, but I used the latest Debian netinst .iso image (debian-7.8.0-amd64-netinst.iso) and configured it to install a KDE environment with just the “Desktop Environment” and “Standard System Utilities”. Other than that I cannot see anything that I have done differently. |
Steve Fryatt (216) 2105 posts |
What’s your knowledge of the RISC OS Wimp like? ;-) Looking down the list of open bugs, you might want to try looking at #2171 as a starting point – it’s a pretty trivial cosmetic change, but fixing it will give you an overview of how some of the bits fit together. It will also introduce you to NetSurf’s RISC OS menu code – if that doesn’t scare you off, nothing will. :-) If you’re interested, I’ll try and put some details together about the relevant bits of code. I’m also happy to try and offer help, either here or on the NetSurf Dev maillist |
Glen Walker (2585) 469 posts |
Nothing yet, but I should get a chance to do some swotting tomorrow. I like to learn by getting my hands dirty.
Sounds like a plan – if I don’t get scared away I’ll no-doubt be in touch with questions! I’ve already subscribed to the mailing list so will probably post any questions or progress there if that is OK so I don’t clog up this forum? |
Steve Fryatt (216) 2105 posts |
That makes sense. I’ve just dug out the old emails that I was sent on the list back in 2009 describing the RISC OS front-end, updated them to reflect current reality, and posted them to the list – you can find the post here I was going to put some ideas together as to how to go about that tweak that I suggested, but that’s probably a job for another evening as I’ve just spent a couple of hours on what I have assembled so far… To be honest, you probably want to spend some time just reading the source code and making some notes, anyway. Before you make any changes at all, take a read of the Style Guide that’s on the Developer Information Page – it’s much easier to get things right from the start! Note that while the function naming convention (function names start with module names) is useful and should be followed, older stuff in the RISC OS front-end can be very hit-and-miss – grep is your friend. As I’ve said on the list, NetSurf is huge and there’s a lot to take in – please ask questions if/when you get stuck. The NetSurf Dev list is probably the best place, as the other developers know much more about the core and how it interacts with front-ends than I do. As I’ve said on the list, it can sometimes take me a few days to reply to posts if I’m busy – especially if getting the answer together takes time. |
Michael Drake (88) 336 posts |
David Gee:
The pre-built toolchains we have for download are for x86_64 systems. You’re on an i686 system. You can still do it, but you’ll need to build the toolchain yourself. $ git clone git://git.netsurf-browser.org/toolchains |
WPB (1391) 352 posts |
Does that apply for 32bit systems, too? My machine, though 64 bit, has such a lowly processor, it doesn’t support virtualization at the HW level, so I am forced to use a 32bit VM. Will I have to build the toolchain as well? |
Michael Drake (88) 336 posts |
The pre-built toolchains do not work on 32-bit systems. On the other hand, if you build the toolchain yourself, you have more control. For example it is easy to try with a new version of a third party library, by editing a number in the Makefile in the SDK. |
WPB (1391) 352 posts |
Thanks for confirming that. I tried building them myself (seriously scary mama of all ‘makes’!) but it fell over at: (Sorry, I don’t yet know how to copy text out of the console in the guest.) Any ideas what I did wrong? |
Steve Pampling (1551) 8170 posts |
Either pipe it to a file or Tee it to a file and then copy the file out? |
Jeffrey Lee (213) 6048 posts |
Failing to download gmplib is a known issue with GCCSDK – it should be fixed in trunk (i.e. GCC 4.7 development), but I guess Netsurf will be sticking to an older version. Solution is to either fix the download path (see link) or download the relevant gmplib version manually and stick it in srcdir.orig. |
WPB (1391) 352 posts |
Thanks, Jeffrey – I’ll update the makefile with the correct path and try again. |
Michael Drake (88) 336 posts |
Ah, thanks! Rob’s updated the toolchains . |
David Gee (1833) 268 posts |
Michael: thanks for that. The VM is indeed 32-bit (even though the MacBook Pro on which it’s running is 64-bit; there isn’t really enough memory to allocate for a 64-bit Linux VM). I’ll try building the 32-bit toolchain and possibly installing a 64-bit one on my desktop PC which has more memory available. |
David Gee (1833) 268 posts |
Tried on a virtual installation of Lubuntu 14.04.2 with complete success. Now, if Glen needs any assistance…. I don’t have a lot of RISC OS experience as yet but have quite a lot of experience of C/C++ having taught the latter for many years. Having taken early retirement last year I also have plenty of time. Guess a visit to the NetSurf developer’s mailing list is in order. |
Glen Walker (2585) 469 posts |
Always happy to have help – I have a bit of time on my hands for the next three weeks or so but after that I’m going to be starting a new job so my time will be quite limited for a bit!
The more the merrier! :—) |
David Gee (1833) 268 posts |
Perhaps it’s worth pointing out that to virtualise a 64-bit guest HW virtualisation needs to be enabled on the processor. On Macs it already is; on most PCs it’s disabled by default and needs to be turned on in the “BIOS” setup (it’s still generally referred to as such, even on a PC with UEFI). This isn’t always in an obvious place—on my HP desktop, I almost gave up after failing to find the setting in either “Basic” or “Advanced” — it was actually under “Power” of all things. |
David Gee (1833) 268 posts |
Harking back to the original post, there is a more up-to-date version of Python available: Python 2.7.2 has been ported by Chris Gransden here Unlike the earlier version, as yet there is no support for the RISC OS GUI. I don’t know whether it offers support for Pygame—I don’t think it does, but it is theoretically possible since SDL has been ported. |
Vincent Sanders (2640) 8 posts |
I am making the 3.3 release today. I delayed the release to fix a persistent issue that has been causing issues for users on low performance systems (which most RISC OS systems fall into) I believe I have fixed the issue but there has been only a little testing and none on RISC OS. Please can I beg this community to test the CI build from http://ci.netsurf-browser.org/builds/riscos/NetSurf-gcc-json-2625.zip especially for issue http://bugs.netsurf-browser.org/mantis/view.php?id=382 and http://bugs.netsurf-browser.org/mantis/view.php?id=2279 Additionally I am very interested in what happened with all the discussions around Disk caching. Did everyone just turn it off or did my extensive updates to do disk I/O bandwidth shaping produce a useful result? Actually any testing that can be performed would be appreciated as I have had no feedback from RISC OS users since the release was announced. As I have said on the mailing list this will be the last NetSurf official release on RISC OS unless the efforts of Glen etc. are sufficient so I would like to make it the best I can. |
Dave Higton (1515) 3526 posts |
I gave the new version a quick thrash last night, repeatedly opening pages and closing the window before the page had loaded. I was unable to crash NS. It’s not an exhaustive test but the results so far are 100% positive. I have been repeatedly surprised that NS on the BBxM, which has a SanDisk SSD for HardDisc4, always turns the cache off. |
Chris Johnson (125) 825 posts |
Vincent: Not sure whether you would prefer discussion on the NetSurf users list but here is a quick response. RE: The !Cache – on the RaPi with all storage on the SD card it was not very usable. On the PandaBoard it was better, but I am still not convinced that lots of writing to a SD card is completely reliable. I moved !Cache out of its default location in !Boot.Resources and moved it on to a usb attached 120 GB SSD. After modifying the !Cache !Run file so it thought it was being booted during the boot process rather than later it worked reasonably well, but it was still automatically disabled at times due to poor bandwidth. This is probably because everything is being channelled through the usb stack, which gets a bit constipated at times. One thing I noticed on all the machines, including the Iyonix, was that the cache did not seem to be expired – although max cache size was configured to 1 GB, it seemed to keep growing, and on the Iyo it reached around 10 GB before I cleared it. I think Rob explained somewhere that it was probably due to the cache index not being updated correctly on exit if either NetSurf or the machine crashed. Since all my machines run 24/7 but do sometimes crash during program development, I guess several days of cache statistics could be lost. Anyway, I’ll give the latest version a bit of a thrash on all the machines here. |
Vincent Sanders (2640) 8 posts |
Thats great, if you can update the bug accordingly I will close it as included in 3.3. Sorry that took so long to fix but it was a very complicated interaction that proved trivial to address.
Alas RISC OS has the issue that writing to file is a synchronous operation on many filesystems. I.e. the write() call (that gets turned into SWI etc. by clib / unixlib) must wait for the disc to complete the entire operation before the CPU is allowed to do anything else for the user. The NetSurf disk cache writes each file and the metadata associated with it as separate objects on disk. On many other platforms we support the OS simply tells the application the write has completed and lets the application carry on. The disc activity is batched up and performed in the background. This enables the OS to schedule the disc activity efficiently so the CPU is never waiting for the disc. RISC OS is also very, very inefficient in how it performs the disk operations this means RISC OS file I/O seems to be exceptionally sensitive to the latency of an entire operation. The operation has to go write small data to update the filesystem allocation tables and then write a small number of blocks for the actual file contents. This pattern of operations is pessimal for most hardware which is tuned for throughput not latency so no matter how good your drive is most of its performance is completely wasted. |
Dave Higton (1515) 3526 posts |
I’ve updated it with a note to the effect that I have been unable to break build 2625. The status is “fixed” already. Was a note all you wanted me to add? |
Steffen Huber (91) 1953 posts |
Had a quick go testing the NetSurf version Vincent suggested. Seemed to work fine, opened multiple complex pages, started a few downloads, failed to reproduce the bugs mentioned. Disc cache was automatically disabled on startup. Seemed strange, because my network connection is ultra-slow here and I cannot believe that disc caching could be even slower. System: VirtualRPC-SA with RISC OS 4.39. |
George T. Greenfield (154) 748 posts |
Just tested #2625 here, with JS on and off, disc cache set to 0 (my default setting). NetSurf crashes when a window is closed while loading with JS enabled, doesn’t when JS is disabled. 6 attempts in all, 4 failures and 2 successes. I have the log files if required and can file a bug report if that is helpful, or I can send log files directly to anyone who is interested. System is a Pi B, 512MB, RO5.21 (12-Jan-15). |