Is Resolver 0.73 broken?
Dave Higton (1515) 3526 posts |
I’ve been struggling with a few things recently, among which were that RISC OS of 2022-05-08 works for me but builds of 2022-08-21 and 2022-10-04 didn’t. I think I’ve found out some of why that is. (Firstly, let’s get one thing out of the way: my RasPi was unstable, ceasing to respond on closing TaskWindows. I fixed that by building the fixed LineEditor module and installing it.) I’ve been able to get the later two builds of RISC OS mentioned above to work by making two changes to the network configuration: one is to get the IP address manually, the other is to set the netmask to ‘default’ rather than ‘255.255.255.0’ which ought to be the same thing. So, with the October build running, I needed to use Avalanche, but the hotlist entry I always use failed: host ‘HomeAutoGateway’ not found. (Don’t know if that’s word for word but the meaning is definitely right.) This is bizarre. Even more bizarre is that I could ‘ping HomeAutoGateway’ but I couldn’t ‘ping homeautogateway’. It appears to be case sensitive! The root of the problem seems to be Resolver 0.73 (16 May 2022). Going back to the RISC OS build of May 8, that has Resolver 0.72 (30 Jul 2015) which works in all respects as I would expect. So my question to the community is: do these later builds of RISC OS, with Resolver 0.73, work for you? |
Dave Higton (1515) 3526 posts |
Anyone? Is no-one running a nightly build of RISC OS from after the middle of May? (Preferably on a RasPi.) |
Paul Sprangers (346) 524 posts |
On my Pi4 I’m running a nightly build from June 26, Resolver 0.73, and netmask set to ‘default’, but so far I haven’t encountered any problem. Avalange works exactly as before. Is there anything that you want me to do for a test? Edit: And yes, I get my IP-address manually too. |
Dave Higton (1515) 3526 posts |
A few weeks back, I cleared a fault on my RPi3B that caused instability. I thought I should have another go at installing a more recent nightly build of RISC OS. I’m still having trouble with name resolution. The last version of RISC OS I have that works is from 2022 May 8, which has Resolver 0.72. All the versions I have since then have resolver 0.73, which fails in two ways: either the host name is case sensitive, or the host name isn’t matched at all from the Hosts file and resolution is passed over to the router. I tried using Zap to save out the Resolver 0.72 module from a running 220508 RISC OS and double-click that after booting a more recent RO version, but it simply results in a crash, and no resolver runs. I also saved out Resolver 0.73 and it isn’t possible to run that either after 0.72 crashes. The only way is to reboot. So is there something else I should have done? I can’t remember when I installed a new HardDisc4, but I suspect it was early this year, i.e. it’s not an ancient version. But I don’t know if it’s even relevant. Help would be appreciated. |
Stuart Swales (8827) 1357 posts |
Sadly C does not produce ROM-able PIC as needed for traditional RISC OS modules, so anything written in C that’s included in the ROM is statically linked to Shared C Library routines at addresses in that specific ROM, so can’t be saved out and then run on another system (including the same system running an earlier OS, or a different processor variant using the same OS revision). It’s likely also to contain absolute addresses of its own routines to add to the embuggerment. Perhaps any module that could reasonably be soft-loaded ought to be available as a disc-based component in addition to its counterpart in ROM? On second thoughts, you’d end up with folk trying to load the wrong processor flavour build… With Resolver 0.73 on RPi 3, if I simply set ‘From hostname’ with the IPaddr/hostname pair in Hosts, it doesn’t set an IP address for the interface so all is stuffed. And can’t even resolve its own name against Hosts (to which I had added the correctly-cased hostname as well as a lower-case one). Same is true with ‘Manually’ with netmask default. It appears that (even with DHCP, and nameserver-after-Hosts option checked) any lookup in Hosts is now case-sensitive. |
djp (9726) 54 posts |
The Resolver module is supplied as two AOF blobs, a ROM version and a Stand Alone version, in the sources. There is a 32bit Stand Alone Resolver module in PlingSystem. A 0.72 Resolver from an old PlingSystem did softload over 0.73 on the RPi400 and networking still worked. I don’t see any issues here, my networking on my machines is manually configured. HTH. |
Stuart Swales (8827) 1357 posts |
If I configure the RPi 3 interface manually specifying dotted IP/netmask but no name servers (with or without the check box ticked – see also https://www.riscosopen.org/tracker/tickets/566), it doesn’t resolve names from Hosts at all. Surely the Resolver component needs to be rolled back until fixed. |
Dave Higton (1515) 3526 posts |
Stuart, thanks for confirming my findings. To everyone else running Resolver 0.73, can I ask you to please check a hostname that is in your Hosts file but specifically is not present in your external resolver, which is probably your router. I’ve been confused once or twice when Resolver 0.73 appeared to resolve a name correctly, but only because it’s in my router, which is what it tries after the Hosts file. And specifically also check if it resolves when the case doesn’t match. |
djp (9726) 54 posts |
I have now replicated that issue with Resolver 0.73 and confirm that 0.72 is OK. The Hosts file is not actively used here so the bug is not seen. |
Dave Higton (1515) 3526 posts |
Thanks, djp. That pretty much proves that Resolver 0.73 is broken. I guess I need to file a bug report. |