What a waste



  • Sitting next to me I have a nice brand new Windows 7 64 bit Core i7 machine with 8GB of Ram and two 500GB drives in a raid setup. This is the target computer for a .Net project that I am trying to install, as well as an instance of MS SQL 2008 server

    Well I tried to install my code yesterday and struck a problem with some native C++ code linked via a .Net C++/CLI class being used as an interop. This code works fine in XP but on Win 7 64 bit an exception is thrown which relates to unmanaged code

    One way to solve this problem is that I replicate the code in a managed class (which is possible as it is fairly trivial code) and would take me 2 days or so to do. However the word has come down that the deemed solution is that I down-grade the target machine to XP. Sniff. What a waste of computing resources.

    In some ways this is a reasonable approach as we know how the code behaves in XP. However for this particular implementation we are trying to crank the performance up to new levels for this product and I am going to be spending the next week ripping the code to bits in order to meet the performance guarantees - so a couple of days extra is not much and would give us some extra computing power. To add to the fun we have a looming deadline and I have no idea if we can actually get the performance to the desired level (ie what the salesman sold the customer, with no clue or not caring about what he was doing).



  • See if the executable has LARGEADDRESSAWARE bit set in the header (this is linker flag). If it has, reset the flag (you can use BINEDIT for that, without rebuilding). See if that helps.



  •  Try building the .NET solution targeting x86 instead of x64 or AnyCPU. Chances are it's running as x64 on that machine but the native code is only x86 and can't be loaded into the 64-bit process.



  • If the 8GB of RAM is part of your delivery requirement, let it be known that it likely won't be accessible to the O/S and your Application if you downgrade to XP. If you do, XP will probably only see 3-4GB of your RAM; the rest will be unreachable and idle.



  • To alegr and mott555 .. I know there are viable solutions. The WTF is that I am not being allowed to follow them and that my gut feeling says that the performance specs will need it.

    To Zelmak .. The customer is responsible for supplying the computer. (At max XP can use about 3.something GB of RAM) Here is what they were told:

    "[Customer] will provide Windows PC to run the software and host the user screens. This is required to be shipped to [Supplier] for Factory Acceptance Test (FAT). Minimum Specs on PC are:

    • Windows XP Pro
    • 4GB RAM
    • Microsoft SQL Server 2008 Workgroup w/5 CALs
    • [Supplier] recommends a higher end workstation class machine. Higher processor speed and disk access speed will lend itself to better performing system overall."

    By the spec I should not have even tried to install my code on this machine, but I am so desperate for actual performance figures that I went ahead and tried anyway as opposed to sitting on my arse and doing nothing. Also technically the customer did meet the spec with the machine that they supplied.



  • @zelmak said:

    XP will probably only see 3-4GB of your RAM; the rest will be unreachable and idle.

     

    Windows XP Professional x64 can see all 8 GB. We have machines here with 8 GB and 12 GB of RAM.

    Using x64 also means you can use SQL Server 2008 Workgroup x64.



  • @havokk said:

    Windows XP Professional x64 can see all 8 GB. We have machines here with 8 GB and 12 GB of RAM.

    I haven't heard the best stories about XP 64 bit. Not that we are going there any way



  • I could be wrong, but I don't think Microsoft even supports 64-bit Windows XP any more.  For starters, they didn't release SP3 for it and they have no plans to.  I don't even know if they're still pushing out security updates for it or not, but considering the fact that Microsoft has said they will no longer make updates for SP2, it's doubtful.



  •  Keep Win7, but run the fucker in XP-mode i.e. VM.

     

    That's about as much as I have to offer, because I have only passing familiarity with 7's XP mode.



  • @mott555 said:

     Try building the .NET solution targeting x86 instead of x64 or AnyCPU. Chances are it's running as x64 on that machine but the native code is only x86 and can't be loaded into the 64-bit process.

    Otherwise just use the corflags tool to change the .exe to 32bit.

    corflags stupidprogram.exe /32BIT+



  • @OzPeter said:

    I have a nice brand new Windows 7 64 bit Core i7 machine with 8GB of Ram and two 500GB drives in a raid setup.

    Sounds similar to my new work laptop - a Core i7 Quad with 8GB RAM and a 500GB hard drive... running XP 32-bit.



  • @mallard said:

    ... running XP 32-bit.
     

    How did that happen?



  • @dhromed said:

     Keep Win7, but run the fucker in XP-mode i.e. VM. That's about as much as I have to offer, because I have only passing familiarity with 7's XP mode.

    Apparently use of a VM was discussed but discounted. Another WTF is that while I am the most familiar with the code (and have written 75% of it, and heavily re-factored the other 25%), and probably have the most experience with programming and OS's in general I was not part of the discussion to decide on how to recover from this situation - I just have to deal with the results. So I am wiping and installing XP today.



  • @OzPeter said:

    @dhromed said:

     Keep Win7, but run the fucker in XP-mode i.e. VM. That's about as much as I have to offer, because I have only passing familiarity with 7's XP mode.

    Apparently use of a VM was discussed but discounted. Another WTF is that while I am the most familiar with the code (and have written 75% of it, and heavily re-factored the other 25%), and probably have the most experience with programming and OS's in general I was not part of the discussion to decide on how to recover from this situation - I just have to deal with the results. So I am wiping and installing XP today.
    Have you asked for time to be scheduled to move to Win7 before MS support for XP expires totally? It was originally supposed to end this summer, I think.



  • @OzPeter said:

    One way to solve this problem is that I replicate the code in a managed class (which is possible as it is fairly trivial code) and would take me 2 days or so to do. However the word has come down that the deemed solution is that I down-grade the target machine to XP. Sniff. What a waste of computing resources.
    Put the IDE controller to AHCI mode and pretend you don't know how to install XP on the machine.@bighusker said:
    I could be wrong, but I don't think Microsoft even supports 64-bit Windows XP any more.  For starters, they didn't release SP3 for it and they have no plans to.  I don't even know if they're still pushing out security updates for it or not, but considering the fact that Microsoft has said they will no longer make updates for SP2, it's doubtful.
    XP x64 uses the Windows 2003 kernel, and is supported through that (this explains why there's no SP3 for it, while it's still supported).



  • @dhromed said:

    @mallard said:

    ... running XP 32-bit.
     

    How did that happen?

    The software we develop isn't yet fully compatible with Windows 7 (nor Vista). It is being worked on, I recently fixed a UI bug that was traced to the fact that Windows 7 has larger window borders by default than XP does... I think we're waiting for someone to port some hardware drivers to 7 before we can begin to switch... I think the plan is to go 64-bit.



  • This cluster fuck gets even better. The "super urgent have to to have it yesterday down grade from Windows 7 to Windows XP" CD was shipped overnight to wrong state. So it will be at least another 24 hours before I get it. and until I do I can't do any real work on this system.



  • what a waste



  • @OzPeter said:

    This cluster fuck gets even better. The "super urgent have to to have it yesterday down grade from Windows 7 to Windows XP" CD was shipped overnight to wrong state. So it will be at least another 24 hours before I get it. and until I do I can't do any real work on this system.

    Doesn't that give you an extra day to try to get it working without the downgrade? I mean, I know you don't really care because of the whole "SEP" field surrounding the project, but still. Pride alone.



  • @blakeyrat said:

    Doesn't that give you an extra day to try to get it working without the downgrade? I mean, I know you don't really care because of the whole "SEP" field surrounding the project, but still. Pride alone.
    Thats what I have been doing. Working on getting rid of the bad code as a way of keeping my c# skills sharp. The code won't make it into this release but maybe one day it will get to fly free

    BTW does anyone know what comes after a cluster fuck? Or does a project peg out when it reaches that status? Additional things I have found out today:

    • The Fedex tracking number I was sent was not the one for the delivery that I was expecting - yet it seemed to be for the software I was expecting
    • Fedex didn't deliver it to the correct office suite. Apparently they knocked on the door, didn't think anyone was home, left a note and delivered it elsewhere. Too bad there were people in the office
    • I was wondering what happened to the missing SQL database that was supposed to be on the original system. Well it turns out that the customer somehow got it in is head that we didn't really need a SQL server, so he never bought it. Fortunately I can survive with SQL express for a bit.


Log in to reply