Earth *still* calling Scoble, and why Microsoft doesn’t discover memory leaks

Jings, perhaps we should send Robert Scoble to explore the outer moons of Saturn, because he seems a long way from the ground just now. Andy Orlowski wrote a neat piece about a memory leak in Tablets – one in the handwriting recognition which means that if you leave them on long enough they, um, effectively fill up with digital ink. (Andy’s splendid imagery, not mine.)

Has Robert Scoble noticed this bug? Well, he’s noticed being taken to task over it, and throws up his hands. But read on. Scobletalk in italics:

The Tablet team tells me they have identified the bug and are investigating a fix for it…Why haven’t I hit it? I shut down my Tablet PC most evenings and start it up from a fresh boot. Why do I do that? Because I’ve been using computers for 20 years and have learned that’s the best way to work.

Flipping heck. Hey, Robert, I’ve been using computers 20 years too – actually, rather longer, since I had a play on one of the first Apple Lisas in the UK, plus the Prime machine at university, and of course Multics, and my Sinclair Spectrum… and I’ve learned that modern machines, you don’t have to turn off. True, you don’t get memory leaks eating up everything if you turn them off. But you also get big chunks of the day back, mostly at the end of the day when you have to save all your documents and half-done work. I have a lot of half-done work.

His defence continues: This was a behavior I learned on [Apple] System 7.0 back in 1992 when I was a page designer at San Jose State. It takes an extra minute in the morning to boot up, but that’s why I never hit this bug. The interesting thing being that there must be lots of people at Microsoft (yes, I know he hasn’t always been at Microsoft; but anyway) who do the same, shutting down their machines at the end of each day. This means that devastating bugs like the famous 49.7-day time-counter crashing overflow don’t get found until it’s wayyy too late.

By the way, fixing these kinds of bugs isn’t easy and even if they were, deploying the fix isn’t easy either. Well no, but that’s why they pay the MSoft folk the big bucks. If it was easy, everyone would do it and we’d call it “breathing”. Though breathing isn’t that simple when you break it into bits like calcium ion cycling. Ask anyone with cystic fibrosis.

Someday I’d like to introduce Andy to some of the developers here so that he can see the process that changing one line of code would take. I believe that whooshing sound is Andy seeing how cheap flights to Seattle are right now.

I’ll let you know if I hear more.

Final Scoblepoint: he says “Jonathan Hardwick has more on this here“.

Ink-deluged Tablet users – both of you – rejoice, just rejoice.

19 Comments

  1. Another reason MS developers might not leave their machines on all night is because of auto update’s cheery habit of rebooting anyway if you don’t happen to be around to tell it not to. Not that any MS developer in their senses is going to go to bed leaving unsaved work on a Windows machine anyway, of course. Wonder if Scobes tgucks his home servers up with a cup of cocoa every evening too? (-:

  2. Does anyone think of the combined power usage of computers and other devices that are left on 24/7 to do essentially nothing for long periods of time? Whatever happened to turning something off when it’s not in use? When did we become so blase about our resources that we decided we can use them with no thought for tomorrow? – even in “sleep” mode computers consumes energy … Surely if we are looking at reducing CO2 emissions and global warming, non-essential items should be switched off when not in use …

  3. Well, I’ve been using computers for 40 years, and I just love WinXP Hibernate. Saves all your open applications, saves electricity and saves time.
    Not that I do it when there’s no one in the house – call me paranoid.

  4. My home machines and servers (all Unix based) run 24×7 and in their “idle” time fold proteins for the good of humanity.

    The Windows machines I am forced to use at work certainly work better after a daily reboot.

  5. Lachlan : well, it’s an interesting question. Your typical PC has a power supply of 350W. A regular automobile running at 40 mph consumes 10^5W (see http://www.phy.syr.edu/courses/modules/ENERGY/ENERGY_POLICY/tables.html).

    It means that if you drive a car for 1 hour at 40 mph, you consume as much energy as a regular PC does in ~285 hours. Now, if your PC is in sleep mode, it consumes something like ~30W (see http://www.eere.energy.gov/femp/technologies/eep_computer.cfm), so to consume that amount of energy you’ll have to live your PC in sleep mode for more than 3000 hours. That’s more than 125 days. So a PC in sleep mode consumes in a full year less energy than a car in 3 hours. Besides, the car releases plenty of crap into the atmosphere.

    I’m not saying it’s not a good idea to reduce our power usage, just the opposite, it’s extremely important. However, it’s also important to focus on the real source of energy waste.

  6. Hibernate is great, but it wouldn’t protect you from this particular bug since the system is stopped in its current state, and the memory overconsumption would still exist when you woke up the sleeping bear.

    It’s a great idea to shutdown at the end of the day though. Imagine how much your country will save on Kyoto for CO2 emmsions if you use 50% less energy for your comfuter.

  7. My machines also run 24/7, but they’re not running idle – they fold proteins, which should help us cure lots of diseases uncurable now, and has lots of other potentially good uses (shameless plug: folding.stanford.edu). Therefore, I don’t give a damn about the energy they consume.

    The truly bad thing about MS is that this “reboot daily” thing doesn’t apply solely to the desktop systems. What they sell as “server OS” (which is a desktop OS plus a couple of utilities really) also requires rebooting from time to time to work well. A several times we at systems received thanks from our users for “making things faster”, just for rebooting the server after a crash or software problem. Lucky for MS one has to reboot when doing updates, so they can at least keep up appearance of some stability and some performance. Each time we do our scheduled maintenance (involving rebooting all Windows machines), afterwards our network works as if it were upgraded. For a couple of days anyway, it never lasts long.

    A Linux machine at our site, installed as a makeshift solution some years ago and hardly ever updated since, runs typically with a load of over 2 and peaking at 9 at busy times (it handles mail for 200+ users, including spam filtering an virus scanning, is the proxy for the entire site, and handles several mailing lists) – it has an uptime of 271 days now. That’s a server OS.

  8. In defense of MS, we had an NT 4 machine running DNS for anywhere from 30 to 400 domains over a three year span back in the 90’s that NEVER was rebooted. I have a 2K advanced server running IIS that has been rebooted about 4 times in the last year, due only to a problem with my code and not the fault of MS.

    Granted, I also have a desktop machine that I use for development running 2K pro that needs to be rebooted daily (for what seems to be a USB driver problem – probably the fault of HP and not MS – if I leave my printers off, things seem to work ok… :-)… In all, I think that MS has come a LONG way with in terms of OS memory management (but don’t get me started on Garbage collection built into the framework).

    I also run applications on several Linux boxes – some run solid for weeks and months at a time, but others get REALLY doggy about every third day or so – again, I don’t chalk it up the core OS, but to other code and tools.

    This I have always found entertaining… look at the numbers comparing

    http://www.google.com/search?hl=en&lr=&q=Microsoft+Memory+Leak

    and

    http://www.google.com/search?hl=en&lr=&q=Linux+Memory+Leak

    :-)

  9. Multics? Narrows things down to that select “Birmingham Bristol Bath
    Cardiff Loughborough RAE” gang, doesn’t it? Sadly for the argument,
    Multics had to be shut down once a year, in the autumn. Trivia points
    for knowing why.

    ian

  10. All I can say about running an NT4 machine for three years without rebooting it, is that it’s critical updates and security patches must have been well out of date by the time those three years were up.

    (Oh, and I believe Multics needed to be rebooted in the Autumn because of daylight saving: you have to do the same thing with System 390s.)

  11. @Lachlan

    I became blase about not turning off my computer after realising we had about 2,000 nuclear warheads detonated on the planet, the center of which is typically in the region of several tens of millions of centigrades hot. Clearly somebody’s not worried about the environment, I’m not going to start a trend.

    Obviously two wrongs do not make a right, but I’m just a teensy bit fed up with looking after the planet. The planet is in no danger that I am aware of. if we, willingly and knowlingly do not adopt methods and techniques which we’ve been aware of for decades of reducing power consumption, I’m not going to lose any sleep over it myself. We have wars for fun now, do i care about the fact that my computer is always on? Not exactly.
    I don’t notice I have to restart it every day or detect any memory leaks.

    I’m in “whatever, dude” mode. I only heat those rooms in the house I actually spend most of the day in, I don’t watch tv every night, I don’t wash my car [and you can tell], I don’t play toxic wasteland in my back yard and I’d drive a hydrogen powered car if they made ’em.

    But my computer is turned on all day long and it’s not doing nothing because it’s chewing on a piece of SETI data.

    Have yourselves a good day and burn some fossil fuels, it’ll make you feel better.

  12. My MS Server, although I do like UNIX and I am mainly running Windows machines, has an uptime of 207 days… W2k as well….

  13. David, how do you apply the security updates from Microsoft to your server? Doesn’t it require a restart after those?

  14. I’d be interested to find anyone with a Tablet PC (other than one that has just had it’s first clean install) that can reboot inside Mr Scobie’s one minute. I usually have to shut down, put the kettle on, wait for it to boil (from cold), make a pot of coffee for everyone, return to my machine, type my username and password, go and put the milk and sugar in everyone’s mugs, pour the coffee, hand it round (office of 10 people) and then return to my desk. By this point, there is a 50/50 chance that I can load up Outlook and start getting mail from the exchange server. Sometimes I have to wait a bit longer.

    This daily reboot means that we have 10 people with a bigger caffene dependency than when they started with me. It also means that 10 people refer to me only as their ‘Coffee Bitch’. And all because I’m the only one with a Tablet.

    Let this be a warning kids! YOu may think that you will use that Handwriting Recognition. But you won’t. You just won’t. Any more than you used your old Nokia to browse WAP sites.

  15. All this proves that MS doesn’t use the most simple of development tools. There’s a bunch of nice, cheap utilities that test your software for this kind of problem. Should be part of every software QA cycle.

    Then again, I remember managing a Xenix/Oracle server (Xenix was MS’s pre-msdos OS) that ran quite stable. Except for DST modifications, never managed to get that right. And the queue for the dotmatrix printer had to be restarted sometimes after a paperout…

  16. I certainly don’t have to reboot my my PowerBook G4 which I carry with me everywhere, heavily tweak the system, and pound on for 6 to 12 every day. Lets see what does uptime report:

    11:47 up 93 days, 22:17, 5 users, load averages: 0.18 0.41 0.44

    True Mac OS 9 and before needed daily (or more) reboots, but OS X is a rock even in a mobile multi-network environment.

  17. Good attempts, Hal and Iain, but you need to work a little bit more on your Google-fu. If you don’t put quotes around the phrase “memory leak” it will also find pages that contain the words “leak” and “memory” in unrelated ways. You’ve also left off pluses which would tell it that each search term is required, and a page containing only one or the other won’t suffice.

    I propose the following searches:

    +linux +”memory leak”

    +windows +”memory leak”

    Some may be surprised by the relative closeness of the result counts, but don’t worry, these numbers are still entirely irrelevant and meaningless.

  18. Here is an example of how I can be trained by my OS.

    I just fired off a bug report on Safari complaining that I couldn’t keep a set of reference pages up for more than four days. After that, Safari starts bogging down and the app has to be restarted. The time depends on how much else you are opening and closing, starting and stopping java, et cetera.

    It dawned on me that I couldn’t ever have done that with Windows. Hell, I wouldn’t have been able to comprehend how it could possibly be important to anyone to anyone picky enough to complain about it. Talk about a priss.

Comments are closed.