David's profileDavid Moisan's ITPhotosBlogLists Tools Help
    November 26

    Trackmania: Nice View!

    A beautiful night race in Trackmania

    While waiting for my Thanksgiving goodies to be ready for the oven, I played a few rounds of Trackmania.  Surprisingly, it offered an update.  The Star Edition update offers a new series of tracks, the Star Tracks, which were created and submitted by other Trackmania players.  (Descent once had such a user-created level pack.)

    This is Star Island A4.  Trackmania is known for its glittering and often overly pretty scenery (especially in the Bay, Coast and Island enviroments) and this screenshot doesn’t do it justice.  The taillight trails are part of the game.

    I must have been one of the first players to get this update:  There were but 17 people in the world listed in the standings and I was the only US player!  (I’m ranked #1 FWIW.)

    November 14

    I Has An Office!

    To translate from LOLSpeak, I have an office!  Last time I posted, the engineering room was being split off so my servers would be in a place of their own, cutting down on the noise level for staffers who have to check out and maintain equipment in the space.

    Server cart

     

    My cable snake can be seen along the left.  The cart is relatively empty because:

    All of our paperwork and software is here 

    I’ve found space for nearly everything:  cables, software disks, small parts.

    Pocket door

    To the left is the existing network rack—I still have to dress the cables—and the new snake underneath it.  The door is a compromise.  We had always thought of a pocket door for this space.  Unfortunately, the lock options for these doors are limited.  I and Sal had wanted something like a Simplex lock, widely used in IT (the city had one like it when I temped for them 20 years ago.)   Deadbolts don’t work in a pocket door.  Leo found a privacy lock which is very nice—the lock bolt has a small handle that you use to shut it.  This is behind a deadbolted door, anyway (the entrance to Engineering which is behind the photographer.)  We will probably get a few IP cams in here and around the building;  it’s inevitable.

    Bulletin board with my portrait?

    My co-worker could not resist this portrait to finish it off!

    November 13

    Don’t Change My Resolution!

    bad scaling high res

    Raymond Chen (The Old New Thing) posted recently about how people arrange their workplace, or in this case, their kitchen, but are confused by well-meaning people that want to fix their place the “right” way:

    :: Wendy :: told me a story some time ago about something that happened while her parents were visiting. When she returned from work, her mother said, "Oh, Wendy, darling, I reorganized your kitchen for you. You had everything in the wrong place."

    Wendy's mother was trying to be helpful, but of course it was a net loss for poor Wendy, who couldn't find anything in her kitchen for weeks. Yes, there was the whole Oh great where did my mother put my food processor? problem, but even after she found it, the "improved" location was far worse than its original location. In fact, in many cases, it was in the exact opposite location from where it should be.

    You see, Wendy is left-handed, and her mother is right-handed.

    Someone in the comments made a great point:

    re: I reorganized your kitchen for you, sweetie

    Tuesday, November 10, 2009 9:19 AM by DWalker59

    Her mom said everything was in the "wrong place"?  How arrogant!

    I have a friend who had a large monitor on his computer, set to his preferred resolution of about 1024x768.  While he was out, a young, brash programmer used the computer for a day.  

    When my friend returned, the young guy said "I reset the video to a better resolution; you know, that large monitor can support <some large numbers go here>.  I'll bet you didn't know that, ha ha, you silly guy; here's how you change the monitor's resolution..."

    My friend chewed out the young guy, read him up one side and down the other, and said "I had the resolution set exactly where I wanted it.  Don't assume that I don't know the maximum resolution of the video card or monitor!  I'm perfectly aware of that, but you may not be aware that I have vision problems and I like it set exactly where it was set.  Don't presume to know what is "better" for me!"

    I think the young guy learned a lesson.

    I. WOULD. BE.  LIVID! if that were my computer.

    At home, I have a 23” Dell display that can do 2048x1152.   I cannot use that resolution at all.  I can do 1920x1080 but it is very uncomfortable to read. 

    It’s set to 1440x900, and my DPI is 125%.  That’s the best compromise I could come up with.

    I’m aware that Windows 7 can support higher DPI.  When I first installed Windows 7 I did some experimentation.  I could have gone with 1920x1080;  it is a reasonable minimum for this size display.   I tested that resolution at 150% DPI

    But I had trouble with third-party apps.  In the screen clip above, there are two Windows gadgets.  One is native to Windows, the clock.  The other is a third party weather application.  The clock scales correctly at high DPI.  The weather application does not.  

    At 125% you can see the difference, but at 150% it is much more pronounced.  I calculated that for me to use the native display resolution (2048x1152), I might have needed 175%.  That would break quite a few apps and make that weather app unusable (I prefer it to the Microsoft weather gadget for its radar display and severe weather notifications.) 

    (I’ve found, too, that I get odd-looking results when I use “odd” DPI values.  Internet Explorer will let you have a custom DPI, but it has regular values, 125%, 150%, that it will prefer to use.  So my IE is set to 125% or 150% depending on the machine I’m using.)

    Aren’t higher resolutions technically better?

    Not necessarily.

    Most modern mid-range displays have a very good scan converter built in.  I’ve only used one monitor that was really bad at that, and that was a cheap monitor I picked for a server room that I don’t use every day.  It’s nasty, but not bad enough for the use I give it to warrant replacing it.

    More to the point, I don’t notice it.  It might not even be possible for most users to determine the difference.  There are physical limitations on the resolution that someone with normal vision can perceive, and they mean that for the small displays most of us are using, we will never be able to notice the difference between, say, 720p or 1080p on HDTV. 

    With the current state of the art, this is probably the best I can do.  Will it change?  Absolutely!  Is it annoying to run at a lower resolution?  Certainly, sometimes.

    But for me and others with vision problems this is the best we can do.

    Don’t change my resolution!

    November 09

    Missing Search Provider Icons in Internet Explorer

    Search Provider drop-down list in IE 8

    I saw this problem recently:  I, like most IE 8 users, use multiple search providers in IE, all of them with their icons that appear when selected.

    The search provider icons for several providers, including Bing, my default, were missing and showed only the generic magnifying glass icon.  Restarting IE didn’t help nor did rebooting.

    I found a simple workaround to fix this but I first want to explain search provider internals in some detail.

    In Internet Explorer, a search provider is an XML document with a a specially-coded URL based on the OpenSearch specification.  IE comes with Bing as its default search provider; users can add more providers.  In the screenshot, you can see I have Bing, which is defaulted, Google, Wikipedia and WolframAlpha as my providers.

    Providers are stored in the user’s registry under HKU:\<user SID>\Software\Microsoft\Internet Explorer.

    IE search scope in registry

    Each Search Provider is listed under a GUID;  DefaultScope is a string value with the default provider listed.  It points to Bing’s entry in this case:

    Bing Search Scope in registry

    Most of the values are self-explanatory.  Of particular interest in my problem is the FaviconPath and FaviconURL string values.  Let’s say the Bing icon is missing.  Its path is C:\Users\davidmoisan\AppData\LocalLow\Microsoft\Internet Explorer\Services\search_{533B8DE4-C0F4-4C0F-ABA8-79A79086865C}.ico.

    Here are all my search icons.  They are in c:\users\<userprofile>\AppData\LocalLow\Microsoft\Internet Explorer\Services\:

    Search Provider Icon Cache

    Note the filenames are of the form search_{GUID}.ico.  With that in mind, I fixed my problem the hard way:  I found an Bing icon elsewhere on my system, copied it to this directory, renamed it to match the filename in FaviconPath and restarted IE.

    It worked!

    (This explains why there are multiple instances of a few icons in the screenshot above.  You will normally have just one icon per each provider, but the extra icons aren’t hurting anything.)

    However, a much easier solution that I recommend for regular users: 

    1. If you have more than one provider, and the provider with the missing icon is not your default provider, click on the search bar drop down and select Manage Your Providers.  Right-click on that provider and select Delete.  Close the window and try to re-add that provider.  Its icon should reappear and you are done.
    2. If you only have one provider, or if the provider with the missing icon is your default provider, click on the search bar drop-down button and select Find More Providers.  Add a search provider from the screen that comes up (any provider will do.)
    3. Click the search bar drop-down and select Manage Search Providers.
    4. Right-click on your new provider and select Set As Default.
    5. Select your old provider, right-click it and select Delete.
    6. Close that window and click on the search bar to select Find More Providers. 
    7. Find and re-add your old provider.  Its icon should re-appear.
    8. If desired, go back into Manage Search Providers and re-select your old provider as the default.

    This problem may also be caused by a recent security update, KB974455, and its later update KB976749, which was released to Microsoft Update last week.  I first noticed this problem after applying the latter update, but I can’t confirm that either update caused this.  If you do install the updates, install 974455 first before installing 976749;  installing 976749 without the former update may cause IE to stop working.

    In my case both updates were already on the machine in the correct order.  I might never know how the icons disappeared but now we know how to make them reappear.  Happy searching!

    October 29

    Save Vista!

    Save Vista!

    So, Windows 7 is out and has been for a week.  I’ve been running it for exactly two months today.

    I like it and I’m encouraged by the Windows development process, something that can’t be said for Ubuntu.  (It doesn’t help that its latest release has problems with recognizing multiple SATA drives.)

    I’ve had no problems that I could attribute to Windows 7 specifically;  I did have Windows bluescreen on log off, but that appears to be due to the UltraVNC server I had running.  (My HDTV antenna, and the TV card that it feeds are in different rooms, so I use a Windows Mobile PDA with a VNC client to adjust it by viewing the signal strength app through the desktop.)  The bug code I got (Bug Check 0xEC: SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT), is very specific as to the cause—any driver related to win32k.sys, atmfd.dll or rdpdd.dll, in other words any remote access hooking DLL such as VNC’s.  No new version of UltraVNC has come out so I’ve gone on with my life.

    It has been otherwise very uneventful over the past few months.

    The one thing I should have learned over 3 years of using Vista, is how the IT press used the “Vista Failure” meme to keep itself going.  If you got a Vista machine this past spring, like one of my friends did, you’re probably doing OK. 

    It’s a good thing for the IT press that people have reported boot loops when installing Windows 7.  I just wish, in my universe, pundits like Randall Kennedy and Loyd Case would sweep streets while the likes of Mark Russinovich do reporting.  If Mark were reporting on this, it’d be fixed!  Good for the pundits, “Seven S****!”, not so good for the people affected.

    At least Windows 7 has given me more time for games!

    October 28

    Spam FAIL!

    Spam email FAIL!

    Seen recently at SATV.

    October 15

    Lull Ends; I’m getting a new office!

    New server space being partitioned

    My lull is over, too soon.

    My friend and contractor Leo is splitting the space in Engineering so that the server is secure and separate from other activities in the room.  Engineering is where members file in to check out equipment and return it.  There’s already a workstation on the bench that staff will use to process equipment reservations, seen at the very lower left of the frame.

    I will have “my” own chair, shelves and file cabinets;  currently, all of our software disks, cables, paperwork and etcetera are scattered around the building, no surprise since we have been a Windows shop since 1998 and I have been at this job since 2000.

    On the top shelf of the server cart, you can see the cable snake I made up, which will replace the snarl of cables there now.  We’re planning on getting managed and monitored power strips from Server Technology

    We still are figuring out some details.  We’ll also need a printer for reservations.  We have a lot of work to make our reservation software work yet, so there will be no more lulls for me this year.

    Still, for the first time, I have a real office!

    Engineering Renovation (10)

    October 14

    Quiet Interlude

    Dave Moisan's Ponyo desktop at SATV

    It’s been too quiet.   We had a big Patch Tuesday, but it went very uneventfully.  Sal and I were supposed to review our equipment database so we could import it into our new LOB software, Facil, but he’s been under the weather.  My server room is being done over—but not quite yet.

    So, quiet.

    The highlight of the week—honest—new computer wallpaper from Ponyo, which I saw a few weeks ago and loved.

    I promise to come back with real news, tips, or if nothing else, more game screengrabs.

    September 24

    ESC 2009: Things to look at, things to tear down

    Optoma projector, display module

    Yesterday I was at the Embedded Systems Conference in Boston.  This is a show I attend every year to learn what new technologies are going to be in the IT equipment I use.  Highlight of the show was watching a teardown of the Optoma PK-101 pico projector.  It’s about the size of a cell phone yet it can project images on any nearby wall.  We got to see it being taken apart.  The presenters were more interested in the projection technology itself—RGB LEDs feeding a TI DLP micromirror array such as you would find in a big screen TV a few years back.  Here we see the projection module with its LEDs, dichroic mirrors and the DLP chip in the upper right corner.

    Here it is again, in pieces:

    Optoma projector in little pieces

    People are paid to do teardowns!  If I were 3 years old again, I would have done this at no charge!  You could ask my mom if she were still with us.

    Another trade show sight I didn’t think I’d see again:

    Booth babes

    Booth babes!  But what are they selling, again?!  (Apparently, circuit board testing.)

    Windows 7 Game Update

    Car driving down a metal roadway, Trackmania

    Since I’ve been trying and failing to get back to work at SATV, I’ve tried more games in Windows 7.

    Many contemporary games work without any adjustments, like Trackmania, above.  It’s a gorgeous game, even though I have an “old” nVidia 7600GS (putting off a new motherboard and video card for next year.)

    Most “casual” games work, too, such as Gridrunner:

    gridrunner

    I love arcade games so I have Atari’s 80 Classic Games.  The game launcher graphics are distorted.  That’s an improvement over when I tried it on Windows Vista;  same distorted menu, but I couldn’t start any games from the menu.

    The games themselves do work:

    Gravitar, opening screen

    One game I tried did need a tweak:  Grid Wars 2.  In the properties for the game executable (which has a shortcut to my desktop), make sure that DPI scaling is disabled:

    Program Compatiblity properties, highlighting Disable DPI scaling

    It works.

    gridwars2

    Happy gaming!

    September 06

    Old Games in New Windows

    DUKE0005 copy

    I’m typing this post on Windows 7.  I’d been planning to blog any problems that came up during installation.

    There weren’t any.  It was the smoothest migration I had ever performed on any machine, certainly it went much better than my migration to Vista, though that wasn’t all Microsoft’s fault.  My hardware was very stable, and most importantly almost all of it had 64-bit drivers (except my elderly NEC Superscript 870;  off to Staples I go…)

    It took just a day to get it installed and get almost all of my old programs back on, and most of the delay was due to my accidentally throwing out my Office CD so I had to get it from the Action Pack download site.  I can’t think of a thing to blog about in Windows 7 that hasn’t already been hashed out during the past nine months of the public beta and RC.

    What’s left, this Labor Day?

    Games!

    At one time during the mid-nineties, the PC was a big game platform and I was a big gamer.   I loved Duke Nukem (as do many many others in IT), Descent, X-Wing, Doom and innumerable second-tier games found in the bargain bins at Micro Center.  I could almost never afford to buy new games when they came out, so I’d buy them after they’d been out for several years and thus discounted.  (Duke was one of the very few exceptions.)

    Unfortunately, with the rise of console gaming in the early 2000’s, gaming on the PC has undergone a long, slow decline.   Video games, for me, are mostly 10 years in the past.  (And even earlier:  I lived near an arcade in college in the mid-80’s and always threw a few bucks at Gravitar on the way home from class.  Those were the good old days!)

    When XP came out, some of the games I most loved wouldn’t work anymore (sniff, sniff, Tie Fighter), and between my commitments to SATV, health problems and time on the Commission on Disabilities, I never felt much like a gamer, though some excellent games came out in that era (Max Payne).

    When Vista came out, I never even bothered to try out my old games.  It seemed like video games would be the childish things I’d put away for good.

    Not!

    Over the summer, I learned of a  new game company called Good Old Games (GOG).  This UK company purchases the rights to old PC games, tweaks them to be useable on XP & Vista, and rereleases them at very cheap prices, comparable to the shovelware section of a computer store. 

    I bought several games, including Duke Nukem 3D, the entire Descent series, and the entire Freespace series.

    How do these games work on modern Windows?

    Duke Nukem 3D, and the DOS-based games from GOG are shipped with DOSBox, an emulation layer that runs over Windows (plus OS X and Linux, among other OSes) and provides a DOS environment for games to run.  Notably, it’s the only way to run 16-bit DOS apps in 64-bit Windows besides using virtualization software (such as Windows XP mode in some versions of Windows 7).

    I got Duke and the first two Descent games to play, though there was some pain.

    Descent’s graphics wouldn’t start properly until I configured DOSBox to use OpenGL graphics.  Then I ran into a more annoying problem that’s since unresolved:  Controls.

    After years of playing games with whatever cheap $10 joystick I’d find at the computer show or flea market, I broke down and got an XBox controller a few years ago.  It wasn’t cheap on my budget but It was very well made and had my favorite feature—dual joysticks!—for games like Robotron 2084 or Smash T.V.   I’d been on XP for years at the time and was more than ready to get a USB controller (as are virtually all PC controllers now.)

    Descent is a game with complex controls;  you fly a spaceship through a mine and can not only pitch and yaw, but you have thrusters to slide (translate) in all directions.  To survive in the game, you need to be able to move in any direction quickly.  You can just about do it with a keyboard.

    My gamepad would be excellent, with its two analog controls and numerous buttons.  Unfortunately, Descent is just too old:  It was designed for the old IBM PC joystick interface which only allowed for four buttons and two joysticks.  For some reason, I can’t get the game setup to see both sticks on the gamepad.

    But it still runs fine and I’ll be tweaking with it until I get something I can play.

    I had better luck with Duke.  It needs to be run as administrator (often the case for many older games), but it runs without much tweaking and it even supports VESA modes, which regular Windows does not.  A screenshot leads off this post (though I screwed up the aspect ratio importing it into Photoshop Elements.)

    I have several CD drawers full of older games.  I think I’m going to “research” program compatibility in Windows 7 with these.  In any event, I'll be playing again for quite some time, especially Duke. 

    “Hail to the King, Baby!”

    (Now, if the rumors about Tie Fighter being re-released can only come true…  Pleasepleaseplease!)

    August 26

    A Windows Update Screen You Don’t Want To See

    revertingupdate I saw this screen when provisioning an x64 Vista box at SATV today.  The failed update was Windows Powershell 1.0 for Vista x64, with an error code of 0x80004002.

    This post on the TechNet forums suggest a problem with Windows Update DLL’s not being updated properly.

    However, that update was the only failed one, and subsequently, I ran Windows Update again, and the update installed successfully.  So it was a transient error.  I’ve never seen that happen with Vista.

    But everything was normal when I left the machine so I may never know what happened.  I didn’t take any action other than to let Windows Update re-detect and run again.

    August 23

    SBS Pieces coming together for Windows 7…Almost!

    win7desktop

    SBS shops are awaiting Windows 7—and several other components needed by SBS 2008 before it can accept Windows 7 clients.

    First of these is Windows Server Update Services 3.0 Service Pack 2It will be out on Automatic Update this Tuesday the 25th.  I’ve been running this in the beta for six months with no incidents.  This update is needed for Windows 7 clients to see the WSUS server.

    The second update is Small Business Server 2008 Update Rollup 3.  This updates the Connect Computer wizard so that Windows 7 is recognized as a valid client.  (It also changes the WMI filters in Group Policy.)

    The latter update is not listed to be out on the 25th.  As many partners have SBS shops, a number of them will try to join their new Windows 7 box to their SBS network and fail.

    The Official SBS Blog has a workaround for the Windows 7 beta that should still work with the release version.  It’s the manual version of the rollup patch minus the other fixes.

    UPDATE:  Update Rollup 3 has been released after all:

    sbsupdaterollup3notated

    For me, Windows 7 is five three days and counting…

    Migrating to Windows 7: Snags

    win7-64noinstall32

    I’ve been making plans to migrate to Windows 7 ever since final plans were announced.  I’m nearly ready.  Windows 7 was released to Action Pack subscribers late last week, a few days earlier than scheduled, and I wanted to try putting it on a memory stick so it would go fast when time comes to install.  I followed these excellent instructions from Intowindows.com.

    The above message is what I got for my troubles.

    I’m currently running Vista Business 32-bit.  I am late to the 64-bit party, even though my machine has a 64-bit processor, the driver situation was not a good one for nVidia chips (my chipset and video card both.)

    I chose my one license of Windows 7 Ultimate 64-bit, since virtually every peripheral I have has 64-bit drivers.  Therein lies the problem.

    I had wanted to do two things:

    1. Run the BOOTSECT command from my emulated DVD to put the bootsector on the USB stick.  (I use the excellent VirtualCloneDrive to mount ISO images.)
    2. Run the Easy File Transfer tool (MigWiz) and store a copy on the USB disk to run on the “old” OS first before starting installation (which amounts to swapping disks as I will install 7 on a brand new HD.)

    No go. 

    migwiznogo64-1

    You cannot run Migwiz or any of the support programs (including Bootsect) on a 32-bit system from a 64-bit disk.

    There are a number of inventive ways around this, including finding a 64-bit Vista machine to run on (it just so happened I put several new Vista boxes in service at SATV and I chose 64-bit.), or running a 64-bit instance in Virtualbox.

    But most people that go from 32-bit Vista (or XP) to 64-bit Seven will need to use the 32-bit media to run the Easy Transfer tools and put a bootsector on a USB stick (if they choose to go that far.)

    It’s still worth doing for me as it will dramatically speed up installation and give me more time with the stack of disks I need to reinstall all the other apps I depend on.

    UPDATE:  Microsoft has sidestepped this problem by offering the Easy Transfer Wizard for XP (Vista includes the transfer wizard already.)  There was also a USB/DVD installation tool, but it’s no longer on the Microsoft site.  Ed Bott points out that the license for Seven includes both 32 and 64-bit install disks, so that will work.   In the end, I had no problems installing Seven.

    August 09

    OMG! The Plaid Screen of Death is real!

     

    I loved making this joke, but I found a true plaid screen of death from Lyllybell!

    plaid screen of death
      

    That is a seriously, seriously messed up video card!  A fault that would affect real-mode graphics like that indicates a bad video card or just one that is seriously incompatible.  The poster says it’s a new server. 

    Bug in nVidia 3D Stereoscopic Glasses support

    nvscpapisvr

    Heads up from Within Windows:  If you are running nVidia video drivers in Vista or Windows 7, you may see this problem.  A handle leak in nvSCPAPISvr.exe, the nVidia Stereoscopic 3D Driver Service, may cause performance problems.

    In my case, it also kept me from installing a new copy of VirtualBox on my Vista machine;  the install would fail.  Process Monitor showed sharing violations whenever the VirtualBox driver installer tried to access INF files.  Running Handle on the INF file being blocked showed it was held by nvSCPAPISvr.

    I didn’t connect it to the stereoscopic display service until I saw Rafael’s post.  His use of Process Explorer to find the leak and his disassembly of the service code is a quintessential example of problem diagnosis worthy of Russinovich.

    This bug can result in over 100,000 handles being leaked:  I think I have the record—I have 148,420 handles leaked by that service, as you can see in the screenshot above.

    Some have reported performance problems.  I didn’t notice anything.  But if you install new drivers for unrelated devices on your machine, the installs may fail, possibly catastrophically as one commenter in Rafael’s blog noted.

    Workaround:  Stop and disable the Stereo Service.  I have 20/200 vision in my left eye so I have very poor depth perception and 3D displays are useless to me.  I won’t miss it.

    UPDATE:  nVidia has fixed this.

    July 07

    Windows Internals: Case of the Stalled Internet Explorer

    blogpicture

    I’m going to borrow from Mark Russinovich, and describe how I found and resolved a problem with Internet Explorer.  His posts start off as “Case of the xxx”, so I present “The Case of the Stalled Internet Explorer.

    I’d been using Internet Explorer 8 for awhile and noticed a really annoying problem.  To explain further, let me get into my browsing habits (no, not those kinds of habits!)  I often start my day reading the Boston Globe in Outlook and clicking article links continually until there are no more links to click.  Then I read each article in turn, after waiting for IE to settle down.

    IE would often hang during the process;  I took this for granted, as most people would read one article at a time, but I’m a multitasker who doesn’t often wait for pages to load before going on to the next thing.

    The way I read RSS feeds using IE’s feed reader is even more interesting:  I open a feed, skim it, figure out what articles are interesting to read in full (or whose comments!) and right-click on these articles to Open in New Tab.  Repeat for each article I want to read.  When I’m done with that feed, open another feed.  Rinse and repeat.

    That’s hard on any web browser (I use Firefox and Chrome but prefer IE, being a longtime IE user since IE1.0 shipped in the old Windows 95 Plus package.) 

    I noted something odd:  Whenever I opened a tab, IE would stall for anywhere from 30 seconds to 5 minutes.  The hand pointer would appear but you couldn’t click anything.  Sometimes I would experience the “grayed-out” Screen of Death that Vista uses to indicate an unresponsive processes.

    Sometimes, certain web pages (like this Adobe download page) would hang completely.

    IE 8 is different from earlier versions in that, to improve reliability, each tab or windows spawns a new process.  When a bad webpage crashes, it just affects the window or tab it’s in, rather than the whole browser.

    When I monitored performance with Process Explorer, during these hangs, my CPU would stay at 50%—I have a dual core Athlon so that meant one of my cores was saturated—and one of the IE processes was using all of that core.  Specifically, one of the threads in IE was using that core for many seconds at a time.

    I asked around in the Sysinternals Forum.  Molotov (the moderator) gave some standard troubleshooting tips:  Empty Temporary Internet Files, run IE with no plugins (IE Safe Mode) and run IE logged as a different user (and profile).  Ran with no plugins:  No change.  Emptied Temporary Internet Files (leaving the cookies, this is an important fact later on.)

    IE did work normally under my other user profile.  Fine.  I knew now that Windows was solid.  I wanted, though, to find out just what in my profile was causing the problem.  I’d hate having to recreate my favorites and such from scratch.

    I have the usual collection of browser plugins:  The big three, Java, Adobe and Flash, and a few minor helper apps (Find as you Type).  Someone in the forums suggested disabling the Java SSV2 Helper;  there are reports of slow tab opens with this plugin.

    Disabling the Java SSV2 plugin helped a lot, reducing my stalls to seconds rather than minutes.  But not completely.  Still hangs.

    The Windows Performance team has a tool to analyze performance issues in Windows, using the new Event Tracing For Windows technology: Xperf.  It can be used to analyze kernel and user code.  It, like all other profiling tools, answers the question:  What is the computer doing right now?   Developers use xperf to find bottlenecks and hotspots in their code.  We can use it to troubleshoot.

    Xperf can be found at the Windows Performance Analysis Tools page.  The latest stand-alone version is 4.1, but there’s a newer version, 4.5, that comes with the Windows 7 SDK.  You’d need this if you run Windows 7, but the earlier version has the same features without downloading the entire 2 gig SDK.

    Download it, and follow the instructions, particularly on symbol configuration.

    When it’s installed and you’re ready to start a session, enter this command at a prompt:

    xperf -on DiagEasy+PROFILE -stackwalk Profile

    The command means:  Turn tracing on and include DiagEasy, a set of common kernel tracing events, and PROFILE, to enable profiling.  The –stackwalk option has xperf include stack information in the profiling.

    I ran IE for 20 minutes and managed to reproduce my problem.

    Stop the trace:

    xperf –d merged.etl 
    

    And open the trace viewer:

    xperfview merged.etl

    On looking, I immediately saw something:

    IE-CPU-thread-with-process-annotated

    I looked at one of the graphs I had, CPU Sampling by Thread.  You can select which threads you want to look at;  this graph only shows IE threads.  You can overlay other graphs;  here I overlaid Process Lifetimes, which show when a process starts (red diamonds) and when it ends (blue diamonds).

    You can see the CPU spike, and see that it coincides with a new instance of iexplore (pid 10672, though you can’t see it in the picture.) 

    Load symbols (by rightclicking on the graph and selecting Load Symbols) and wait.  This is important for the next step.  After xperf finishes grinding, right click on the graph and select Summary Table.  Here it is:

    Wininet-cookie-function-stall-annotated

    The left hand columns represent processes and threads.  The right hand columns represent the amount of time each process and thread was active in the interval I selected (about 35 seconds).  We can immediately see that an instance of iexplore (pid 10672) is taking most of the CPU time.  Names like IEFRAME.DLL!LCIETab_ThreadProc tell us IE is opening a tab or trying to.  You can expand each thread to show its stack.  Eventually, the thread ends up at wininet.dll!CCookieJar::GetLocation, the function that uses up most of that thread’s CPU.

    Browser cookies.

    I have an old collection of browser cookies.  Many of these cookies came from my old Windows 95 machine, through XP and exported again to Vista—through three OS revisions, and possibly a fourth when I install Windows 7.  A cookies.txt file I had backed up in 2006 shows nearly 1,500 cookies!

    There is no way I need all those cookies to log into my favorite sites, especially since like most people, I only go to a handful or two of sites that I absolutely need to log into.

    Deleted my cookies.  Resolved.  IE was much smoother!  In fact, my machine has never run better.  I will miss it when I go to Windows 7!

    (From 1,500 cookies I am down to 50.)

    There had to have been a corrupt cookie entry, or else I’d run into a limit in IE.

    I can hear people say, why didn’t I just delete my cookies in the first place!  Granted.  But for myself and most people, cookies are a part of the system profile that is moved when we migrate to a new machine.  They’re often forgotten about;  web developers are supposed to set cookies to expire when they aren’t needed, but that doesn’t always happen.

    I learned from this that the tools for diagnosing problems in Windows are getting better and better, thanks to people like Mark.  Next time, it may be a Windows service or a line-of-business app where I can’t just delete configuration to start from scratch.  Then xperf can be really useful for the system administrator.

    June 09

    SBS 2008 Migration: Remember DHCP Exclusions!

    dhcpexclusionsannotated

    In our migration to SBS 2008 at SATV, I got bitten by a network configuration that may happen to you as well, so take note.

    SBS 2008, like past versions, has a wizard to configure your network connection;  in the old days it was called the CEICW;  now it is the Connect to the Internet Wizard (CTIW).  It’s a great tool.  It sets the defaults and lines things up just the way they should be on a small network.  I love it since it sets a known baseline for me.  Then, when I run the wizard, I’m free to do all the customizing I need.

    That’s also the bad part:  It sets, or resets the defaults and sets the baseline.  If your baseline is different from the one SBS has out of the box, you need to know that before you run the wizard so that you can set things right.

    The above screenshot is our DHCP configuration.  We have a number of static IP devices.  To give us space and consistent allocations, I reserved .1 through .50 and .241 through .254 in our subnet for static devices.

    Normally, SBS will reserve .1 through .10 and optionally .254 if the router is at that address, as it is in our installation.  You’re on the hook for any other exclusions you need to make.  If you already have an exclusion for .1 to .20, for example, the CTIW will delete it, and make its new default exclusion for .1 to .10.

    What if you have static IP’s in the .11 through .20 area?

    That has some interesting effects on a Windows network.  Some devices may not respond.  DNS entries might mysteriously disappear (since Windows DNS is dynamically updated.)  You might wonder if your AD is corrupted.

    And your VPN clients may not be able to access internal network resources.  Or their connections may work the next time but not the next time after that.

    I’m fortunate not to find out what would have happened if I had a DC in that IP range!

    Moral:  Pay close attention to your existing configuration.  Perform the migration.  As soon as it’s complete and you’ve run the CTIW, open the DHCP console, open your server, the IP4 tab, your scope and your address range, create an exclusion that covers your devices.

    Since the CTIW already makes an exclusion for .1 through .10, I prefer to make another exclusion from .11 to whereever my highest reserved number should be, usually .20, .30 or .50.  Then I may make another exclusion at the high end of my subnet, say, .241 to .254.  (If your router is at .254, it may already have an exclusion.)

    June 06

    SBS 2008 Migration: Folder Redirection Problems

    folderredirection-error-redacted

    UPDATE:  I’ve revised this to cover the “This security ID may not be assigned as the owner of this object” error that is commonly seen when configuring folder redirection.

    One challenge you may run into in an SBS 2008 migration is Folder Redirection.  The migration document makes it very clear that if your client PCs have been configured for folder redirection, you must make sure your users log in while both servers are connected to the network.

    Sometimes, this may not be possible.  The migration period is for 21 days at most.  SATV, like other businesses, has a number of part-time or contract workers that may have access to our IT, like a webmaster, an accountant or an engineer.  They may come in just once a month, or for just a few weeks around the end of the fiscal year.

    Any way it’s expressed, you probably do have users that aren’t logged on during the migration period, and won’t be aware of anything different until you tell them the next time they’re there.

    Or they get errors like the one above.

    There have been problems with folder redirection in Windows XP SP3, as explained in several threads on the TechNet forums,  "GP error with folder redirections (ids 107, 1504, 1509, 1085)", and "Folder Redirection on Windows XP SP3".

    Distilling the advice, there are two things you should check.

    1. Check the destination folder, which will be C:\Users\FolderRedirections, on a stock SBS 2008 server.  Check the permissions on the folders for each affected user and make sure the user has Full Control and ownership.
    2. If the source server isn’t online anymore, copy the files manually from the old SBS machine, which should be under the share Computer Folders$.  You should have had a backup or have kept the old server around just in case.  Then open Group Policy Manager, select the Small Business Server Folder Redirection policy, make a backup of the GPO and edit it like this:

    folderredirection-transfer-noexclusive-annotated

    Uncheck “Move the contents of Documents to the new location”.  Also uncheck “Grant the user exclusive rights to Documents”.  Click OK.

    On the machine of the affected user, log on as administrator.  Open a command prompt.  Refresh and force the group policy by typing:

    gpupdate /force

    Click OK to log off.  Log back on as admin one more time and then log off.

    This explanation of XP SP3’s folder redirection comes from the thread on TechNet Forums:

    There is a difference in the way Fdeploy.dll works in SP3. I am not too sure if this is a deliberate change to the functionality, however.

    If you have a client that is running Windows XP SP3 and their redirect is updated to a new location, you need to ensure that the source is reachable as well as the destination. If the source is not reachable for fdeploy.dll to verify that its moving content, the function will fail and the redirection path will not be updated to the new destination. This differs from SP2 in that if the source isn’t reachable, the process 'moves on' and updates the folder redirect location to the new destination.

    If you have replicated the content to the new area using Robocopy or similar utilities and intend to do so as a procedure, I recommend that you update your GPO and uncheck the "Move the contents of My Documents to the new location" option in the GPO (which is enabled by default on a new GPO). Once the GPO change has replicated to all sites, have the client logout and log back in and verify the results.

    There is another option cited in the threads, replacing a DLL with one from XP SP2, which I do not recommend;  our machines have had XP SP3 for over a year and I really don’t want to make that kind of change.  System File Protection may not let the DLL be replaced anyway.

    If it still doesn’t work, a few other links: 

    Good luck with your migration!

    UPDATE:  Phil has some kind words for me!

    June 02

    SBS 2008 Migration: Nibbled to Death

    almostdone

    Today, I thought of the old saying about being nibbled to death by ducks.

    I had all sorts of little problems crop up today.  We have a PBX with a built-in router that I had hoped we would be able to use.  No such luck.  It locked up after hours for no good reason.  Not good.  We have a cable modem/router that will be familiar to many, since it is the one provided to business customers of this large cable operator;  we are now using its firewall capabilities.

    It works better.  At least it hasn’t locked up.

    But the VPN works.  Our PBX vendor will gladly license our appliance to be a VPN server, but with SBS it’s a waste;  we already have a license for as many people as we expect to use it (not many, mainly staff.)

    (Our staff uses Macs at home, so Remote Web Workplace is not a great fit.  I’m aware of the disadvantages of a VPN, but the staff is most familiar with it so that’s what I’m going with.)

    I also had all the usual problems one has with 6-year old workstations;  I don’t believe in “Winrot”, but these machines have been used hard.  (To their credit, Dell Optiplexes are very good machines.)

    Two larger problems I had to deal with:

    1) When the users are migrated from SBS 2003, the users themselves aren’t migrated as such—they’re already there in Active Directory.  But the user roles and permissions have to be assigned at the new server, otherwise they’ll not show up in the console.

    Straightforward, mostly.

    But I had gotten ahead of myself and copied User’s Shared Folders from the old SBS 2003 server to the 2008 machine.

    The User Role Wizard doesn’t like that.  It will report it can’t set quota because the folders already exist.

    OK, I move the folders to somewhere else and try again.

    Nope.  This time it says it can’t set quota on folder “xxxxxx”.  Turns out folder “xxxxxx” doesn’t exist.  Fix:  Run the User Role wizard and note what folders it complains about.

    In the folder assigned to users’ shared folders, make a folder or folders with the name the wizard lists.  If if complains about a folder named “davidmoisan”, then create that new folder named “davidmoisan”.

    Rerun the User Role Wizard and tell it to add a role (not replace).  Do this until you get green checkboxes for every user going forward to the new server.

    This is known, in sysadmin practice, as “Giving the bleeping computer a cookie until it gets what it wants and is happy with it!”

    Of course, you’re using the SBS 2008 Group Migration Tool, right?

    2)  I had problems getting the SBS 2008 Backup wizard to work;  I got an error “Unable to configure the backup schedule”.  The log had an ugly error about something being missing in Task Scheduler, so I assumed the worst.

    There are two possible causes:  The old EMEA SBS blog suggests it’s due to having  a backup device that’s too small for the data being backed up.

    Our backup disk is a pair of LaCie Big Disk Quadra, 2 TB each.  Not likely to be too small!

    The other reason was uncovered by Nick Whittome:  His machine, and ours, is a Dell PowerEdge that was configured at the factory.  It has a 2 gig FAT partition named “OS”.  The Backup Wizard does not like this.  His fix, and mine, is to convert the 2 gig FAT partition to NTFS.

    I’m wondering if it’ll break the diagnostic partition that Dell installs on its machines;  it usually puts that in a tiny EISA partition (that is on the server.)  I haven’t gone into the partition to see what’s actually in it.

    Fix is to type in a command prompt:

    convert <drive> /fs:ntfs 

    where <drive> is the Dell OS partition (usually D:.)

    I’ve heard nothing about this.  The SBS team was supposed to post about this but that was in February and it’s now June.  There had to have been hundreds of Dell boxes with SBS.  Why I never knew this…?

    But the fix worked and I should get a good backup report in my morning email.

    With that, nearly everything is done.  I only have to verify that all the workstations are applying folder redirection to the new server, redirect some file shares, and decommission the old server.

    One last post in this series and I’ll be done.