Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

Patch released to solve Oregano 2 socket puzzle

By Chris Williams. Published: 6th Sep 2005, 21:48:01 | Permalink | Printable

Poor thing suffered from exhaustion

oregano 2 bannerA patch for Oregano 2 has been released to fix a bug that affects the web browser as it attempts to connect to unavailable websites. Users recently discovered the perplexing fault when their copies of the software exhausted the resources of the networking stack in RISC OS, as Oregano tried to repeatedly contact the web server that provides automatic updates for the application. Normally, this procedure would quietly work without a problem, however over a particular weekend, the upgrade server was offline and unavailable. This caused the web browser to open a large number of connections without closing them properly, driving the OS to run out of networking 'sockets'.

The issue with the upgrades server revealed the extent of the bug, and baffled users were left to continually reboot their computers in order to use the web browser for any length of time. Reportedly, the upgrades server originally came offline after its log file grew too big (2GB in fact) and hit a limit in Linux. It has also been suggested that the problem with Oregano 2 is actually due to a bug within the RISC OS networking stack, although this has yet to be confirmed.

Developed at the end of August, the official patch alters a single machine code instruction in the Oregano 2 executable, and appears to force the program to safely close failed connections. The update is available from the website of Genesys, who publish the software developed originally by Oregan.


Patch zip file

Previous: Is this the widest RISC OS desktop yet?
Next: Hifi buffs told Iyonix audio is good enough


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

All they need now is a patch to stop O2 crashing with ebay.

 is a RISC OS UserRevin Kevin on 6/9/05 9:52PM
[ Reply | Permalink | Report ]

Funnily enough, the socket loss problem seems to have gone away here. Due to the server being sorted out, I guess. Still, it's good to have a fix.

 is a RISC OS UserTonyStill on 6/9/05 10:06PM
[ Reply | Permalink | Report ]

I got a message saying that the patch had failed (to some effect), although I verified that the patch had taken properly with Zap. You can do this by opening the !RunImage in Zap and looking at location &5C7C8 (which is &547C8 + &8000). It should contain the value &E1A00000 instead of &1A000006. For the interested, this replaces a function call with a MOV R0, R0 instruction (does nothing).

 is a RISC OS Userksattic on 7/9/05 3:49AM
[ Reply | Permalink | Report ]

Where exactly is the following?

Load !Patch found in Utilities.Patches or Utilities.500.Patches

I've nothing like this on my machine.

 is a RISC OS Usercynic on 7/9/05 8:28AM
[ Reply | Permalink | Report ]

Note that while this problem is triggered by a bug in O2, it does highlight a bug in the internet stack of RISC OS 4.0x 4.3x and 5.0x (possibily easrlier versios too) in that when embryonic connections are dropped (upgrade site) or a drop occurs on close (other sites), the stack "looses" the handle and no longer reports its status via *inetstat -a

 is a RISC OS Userdruck on 7/9/05 9:05AM
[ Reply | Permalink | Report ]

Cynic: I think the instructions assume you are using an Iyonix and I suspect you aren't! I also expect it will only work on the latest version of O2 2.2.18 rev.3 Oct 13 2003

 is a RISC OS UserCJE on 7/9/05 11:27AM
[ Reply | Permalink | Report ]

Looks like they need to fix their server to rotate its logs and also make the update check optional, or at least do it only once when you load the browser.

 is a RISC OS Usersimo on 7/9/05 1:23PM
[ Reply | Permalink | Report ]

tis a shame that they are not using a RISC OS Server ;@)

 is a RISC OS Userem2ac on 7/9/05 3:51PM
[ Reply | Permalink | Report ]

"tis a shame that they are not using a RISC OS Server ;@)"

yes, cos then it would have fallen over a lot sooner and the problem would be fixed earlier!

 is a RISC OS Usersimo on 7/9/05 6:09PM
[ Reply | Permalink | Report ]

"I think the insructions assume you are using a Iyonix" Do those of us mortals not using a Iyonix require this patch to O2? if so how?

 is a RISC OS UserMart on 7/9/05 8:53PM
[ Reply | Permalink | Report ]

CJE: No, the instructions do not assume you are using an Iyonix. The !Patch application has been supplied with every version of RISC OS starting from 3.5. The directory Utilities.Patches is the location in which you find !Patch on non-Iyonix machines. Utilities.500.Patches is for the Iyonix. This assumes that the user has the standard disc layout. If things have been moved around, it is the user's responsibility to keep track of them. Mart: Yes, the patch fixes an issue that is independent of the Iyonix, so you should apply it, too. Simply download it and follow the instructions. They are not Iyonix-specific.

 is a RISC OS Userwuerthne on 7/9/05 11:16PM
[ Reply | Permalink | Report ]

Patching is pretty simple and it looks like the revised O" is running ok but it wouldn't hurt to find a way to update the version info in the 'About this progam' box, surely? Simply making it say rev 4 instead of rev 3 could save a lot of confusion down the road.

 is a RISC OS Userrowledge on 7/9/05 11:22PM
[ Reply | Permalink | Report ]

Everything went very smoothly for me, no problems so far and the problem looks fixed now.

 is a RISC OS UserRickCB on 8/9/05 12:30PM
[ Reply | Permalink | Report ]

Opening and closing sockets is, in reality, 4 stage: create, connect, shutdown, close. if the connect fails then the shutdown may report a sort of 'not connected' error. O2 was subsequently not closing the socket, making the assumption rather that the socket would be auto closed. This is neither the intended or correct action .. if it were the correct action there would be no need for the socket close swi, as shutdown (i.e. disconnect from far end socket) would be sufficient.

i.e. a long standing programming error .. which may well be in other 3rd party apps too.

However, Inetstat not displaying open sockets that have no connection may be an omission?

hope this helps


 is a RISC OS Userjb on 9/9/05 1:54PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • An introduction to IP networks
    Part one of masking the 'net
     10 comments, latest by Umair on 9/9/04 10:11PM. Published: 4 Sep 2004

  • Random article

  • RISC OS-friendly ISP to continue after owner's death
    Orpheus Internet, the ISP created following the closure of Argonet by Paul Vigay, who died last month, will continue to operate, according to its website. R-Comp had offered limited although free technical support to Orpheus customers following news of Paul's death.
     1 comment, latest by Becky on 2/3/09 2:52PM. Published: 25 Feb 2009

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "We accept Drobe likes to be [controversial], no problem there - but a sinister pattern has appeared over the past year or so"
    Page generated in 0.1096 seconds.