Build 660 Compatibility Issues

Discussion in 'Technical & Support' started by Carlo, Apr 20, 2014.

  1. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Spent a few moments trying to further discern why b660 is causing so many issues when all earlier versions install/update/run correctly. If you're having problems, it may not be you, or your setup.

    I ran a Windows troubleshooting report to see what would be reported ...

    View attachment 12435

    Note that rF2 is not compatible with the version of Windows I have installed (OEM Win 7 Ultimate SP1 64 bit - fully patched). This may be the case with you. I would refrain from taking drastic measures such as reformatting until Jeremy has had time to further investigate the issue. Instead, try other work-arounds that have been suggested. In my case, running rF2 as admin in compatibility mode works.
     
  2. Murtaya

    Murtaya Registered

    Joined:
    Jan 25, 2012
    Messages:
    531
    Likes Received:
    0
    Have you made an official bug report about this Carlo?
     
  3. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Jeremy has been notified. It MAY be possible that this creates problems only under a specific set of circumstances and only with Win 7 Ultimate SP1 64 bit OEM:

    1) rF2 core is installed into "Program Files (x86)"
    2) rF2 data is anywhere e.g. "My Documents"
    3) UAC is enabled (slider 3/4)

    The result is:

    1) rFactor installs without error.
    2) On 1st run, the splash screen displays briefly.
    3) One file "shaderMAS.hash" is successfully created in:
    "x:\<My Documents>\rFactor2\UserData\Log\Shaders".
    4) The display then goes dark (rF2 halts).
    5) An rF2 error message is displayed "Cannot create standard default shader".
    6) Task Manager says rF2 is still running (0% utilization).
    7) One, or more, entries are written to the Windows event log depending upon actions:
    a) [Error] Faulting application name: rFactor2.exe
    b) [Error] Error in manifest or policy file: ModMgr.exe
    c) [Error] Activation context generation failed: MAS2.exe

    The work-around is:

    1) Run rF2 as Admin in "Compatibiity" mode, OR
    2) Giver the "Users" group full control in the rF2 install folder (Program Files x86), OR
    3) Install rF2 core in a folder other than "Program Files (x86)" - not sure if this works.

    Notes:

    1) Builds 2xx thru 590 run as expected.
    2) All work-arounds lower the security controls put in place by Win 7.
    3) If using RAID 1 or 10, verify member integrity after the crash.
    4) Uninstalling using "Programs and Features" does not remove Qt5 files.
    5) This problem is unrelated to C++ redistributable/dll issues others are experiencing.
     
    Last edited by a moderator: Apr 21, 2014
  4. Jeremy Miller

    Jeremy Miller Former ISI Senior Programmer

    Joined:
    Oct 5, 2010
    Messages:
    276
    Likes Received:
    3

    Works fine for me. Go full screen and HD for better view
    http://youtu.be/un-exj6Bp84

    Even if I select Libraries\Documents, Windows still prefixes C:\Users\<username>\
     
  5. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Windows prefixes "C:\Users\<username>\" because that is where the junctions for libraries are located. Enable hidden files and go to:

    "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Libraries"

    and you can see them. They look like normal folders or files, but they are not. No data is stored there, only junctions. Microsoft sometimes refers to junctions as "links" or "short-cuts" because Windows users get confused by the concept. Junctions are not short-cuts and are different than short-cuts placed on the desktop.

    I didn't think UAC was the cause, but mentioned it just in case. I think 3/4 on the slider is the default. I have Norton 360 installed which has a tendency to modify security settings, but apparently it hasn't touched the UAC. I just checked my Norton security log and there are no alerts pertaining to rF2 (data access or process violations, firewall, etc).

    On the other hand, Windows 8 (ugh - looks like Win 3.1) is not Windows 7 Ultimate. Microsoft will have to pry Windows 7 from my cold, dead hands (otherwise, I'll switch to one of my Linux boxes). Looking through the forum posts, I didn't see anyone having this problem using Win 8. It would help though if people put OS info in their forum profiles before posting in the tech forum.

    It appears that the installer is fine, since there are no errors or warnings in the Windows event logs pertaining to it. C++ Redistributables were not an issue for me since I already had 2005, 2008, 2010, and 2012 and all interim patches installed (x86/x64).

    I did another full registry scan for "Image Space Incorporated" and "rfactor2" and all paths were correct (core/data, etc). Under the Trolltec key was info for b509 pointing to Qt4 dlls in the rF2 core directory. It appears that the b509 uninstaller did not uninstall completely. I deleted the invalid keys and all subkeys, but this didn't change anything. One thing I couldn't find was a parent key for Qt5/b660. Any idea where this should be? I know Trolltech no longer owns Qt.

    If I have time this afternoon, I'm going to install rF2 b660 (demo I think) on my other Win 7 Pro SP1 machine and run some diags/comparisons against Ultimate. I think the kernel is the same (6.1.7601), but not security. For example, Ultimate has built in file/disk encryption that meets US HEPA and other Federal requirements. I don't have it enabled.
     
    Last edited by a moderator: Apr 21, 2014
  6. Jeremy Miller

    Jeremy Miller Former ISI Senior Programmer

    Joined:
    Oct 5, 2010
    Messages:
    276
    Likes Received:
    3
    how did you install rF2 and how its different than video above? What default settings have you changed in windows?
     
  7. Murtaya

    Murtaya Registered

    Joined:
    Jan 25, 2012
    Messages:
    531
    Likes Received:
    0
    Same OS as Carlo, no links or junctions here. Default install paths. 660 wouldn't update. Installed lite over the top (as have done lots of times) everything seems fine (if I run as admin) except for mod manager, it now will only accept being pointed to the folder on my network where I keep all the mods just the once. First time it will install from there, every subsequent time, mod manager will just crash (modmgr stopped working). If I point to a folder anywhere on the same pc it's fine. Seems like uac/ permissions related thing to me. Something got changed with 660, I have had the same OS for years and just about every rF2 build on there with no problems before.
    Hope you track it down, I don't really want to change OS but will if you are saying that all builds from now on are going to have this same issue if you have 7 Ult 64 sp1.

    Also I have a program fanaleds that can search for driving games to put plugins in the relevant folder, it now finds rF2 to be installed twice, even though I only ever install to the default paths.
    The uninstall buttons don't work in the launcher, and windows program uninstaller seems to delete the shortcut in the start menu and leave everything else behind.

    Even 494 didn't treat me this way :(
     
  8. Jeremy Miller

    Jeremy Miller Former ISI Senior Programmer

    Joined:
    Oct 5, 2010
    Messages:
    276
    Likes Received:
    3
    What is the error you get updating 660? What does you data.path say in C:\Program Files (x86)\rFactor2\Core?
     
  9. Dave-NRT

    Dave-NRT Registered

    Joined:
    Jan 8, 2012
    Messages:
    364
    Likes Received:
    2
    I must be doing something weird.

    On my race PC:

    I have for the last at least 6 builds, been installing to SSD drive designated E:/
    And have been installing it to:
    E:\rFactor2
    and creating the Data path as a file folder inside the instal folder as:
    E:\rFactor2\Datafiles


    On the Server installs:

    I create the server installs the same way, I have no issues with permissions, CTD or anything else I see folks complain about.

    For the ModManager, I just use the browse and point it to the proper locations.

    For the servers, I create shortcuts to have the icons on the desktop and edit the start folder to: C:\rFactor2
    Point the Modmanager and Mas2 to there respective directories.

    No video issues, Get mod works like it is suppose to, The server always completes the updates with no issues.

    It takes an extra maybe 5 minutes to do either, But NO issues.

    I have a:
    Asus Crosshair with the 990 chip-set
    AMD 8 core
    Nvidia Ge-force GTX 770 4GB
    And run Windows 7 Professional x64

    and server 2003 x64 on the Servers

    The only thing we do different on the servers, is assign 1 core to each install.

    Dave

    NRT
     
  10. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    I install all my builds like this:
    DataPath: %USERPROFILE%\Documents\rFactor2\660
    Core: C:\Program Files (x86)\rFactor2\660


    I give the "Users" group full access to "C:\Program Files (x86)\rFactor2" and then every build that I install within that folder inherits those permissions. But out of curiosity I did a fresh install to "C:\Program Files (x86)\rFactor2.Test" and the datapath to "%USERPROFILE%\Documents\rFactor2\Test". I then made sure the "Users" group had the default limited access to the Core folder. I was able to launch rF2 with no problems without running as admin. I have UAC enabled on my machine running Win8.1 Update 1.
     
  11. Dave-NRT

    Dave-NRT Registered

    Joined:
    Jan 8, 2012
    Messages:
    364
    Likes Received:
    2
    Noel:

    Did you read the private message I sent..yes/no will do.. :)

    Dave

    NRT
     
  12. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    Sorry, I read that from my phone and forgot to respond when I got back to a PC. I will do that now.
     
  13. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    SUMMARY

    I've finally tracked down the problem with build 660.

    I have been able to replicate rF2 b660 problems on multiple machines using both Win 7 Pro and Win 7 Ultimate using OEM license keys (non-retail).

    As I suspected, there's a compatibility problem that was introduced in b660. In no way should a build have been released that had two, concurrent and significant, undocumented changes (basic programming 101):

    1) The change from Qt4 to Qt5, and
    2) The change from VC9/VC10 to VC11.

    In a nutshell, rF2 build 660 is not compiled the way it should be. This may also be relevant to those that have experienced MSVCR1xx.dll problems.

    OBSERVATIONS

    I became suspicious when one of the individuals in this forum was trying to "install" XP SP2 on a Windows 7 machine (WTF?). Turns out this person was almost right. Apparently he had a crash when running rF2 and let Windows Crash Reporter run it's course. He probably saw something similar to this:

    View attachment 12483

    The screen shot above was not the result of a crash. It is what Windows suggested when I ran a compatibilty test on the "rFactor2" binary by itself (without rF2 running). I didn't let Windows make any changes and clicked "Cancel".

    Without access to source code and proper documentation (change log), it becomes difficult to diagnose a problem. Initially, I didn't notice the change from Qt4 to 5, nor did I notice any change in VC versions since I already had 19 VC++ versions and patches installed on my development machine. Nor is there any incentive to do in depth troubleshooting when you're in the dark.

    I didn't pick up on VC11 until I paused the video posted above to check out the IDE (and code) that Jeremy was using. My bad. I had wasted time going through all the KB articles pertaining to last Patch Tuesday to see if MS was silently dropping support for XP apps on Win 7, or if security was changed on the specific OEM versions/branches of Windows that I use. I had noticed file system performance degradation in rF2, MS FSX DX10, and other XP originated applications/tools beginning a few months back. So Microsoft changed something, but I don't know what.

    HISTORY

    When Visual Studio 2012 and VC11 were originally released, the ability to target XP during the build process was explicity dropped. This meant that it was impossible to build a binary targeting Windows XP. Also, according to an MS engineer the Windows 8 SDK had "officially dropped support for Windows XP and Windows Server 2003".

    Since VC11 offered so many advantages over VC9 (performance, optimizations e.g. concurrency improvements, new APIs and libraries), some software houses announced that they were dropping support for XP/Server 2003 so that they could upgrade their code/binaries using pure VC11. Two immediately come to mind:

    1) PHP: No PHP binaries available for XP beginning with v5.5.0 (20-Jun-2013)
    2) Apache Lounge VC11 builds - no binary support for XP/Server 2003

    Due to pressure from the developer community, in Oct 2012, Microsoft released the "v110_xp" toolset which points to a repackaged version of the Windows 7 SDK (since the Win 8 SDK is not compatible). According to Microsoft, using this toolset and the Win 7 SDK, a binary could be compiled that targets XP, Win 7, and Windows 8 (well sort of) using VC11.

    Targeting Windows XP with C++ in Visual Studio 2012
    http://blogs.msdn.com/b/vcblog/archive/2012/06/15/10320645.aspx

    Windows XP Targeting with C++ in Visual Studio 2012
    http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx

    THE CORRECT TEMPORARY SOLUTION

    It seems the better solution doesn't involve "Run as Admin", or changing permissions, or installing in other locations. The solution is to run it as an XP application (which it is, or a bad Win 7 app), and suffer the performance and security consequences - at least until Jeremy has time to fix what's broken.

    1) Right click the file "Launch rFactor.exe" in the rF2 installation folder
    2) Select "Properties"
    3) Select the "Compatibility" tab
    4) Click the "Run this program in compatibility mode for" checkbox, then select "Windows XP (Service Pack Two)" from the drop-down list.

    Notes:

    1) I don't know why Windows suggests using XP SP2 to make rF2 compatible. If compiled using the correct toolset and version info, the binary should be compatible with XP SP3.

    2) A side benefit is that I obtained a 300-400% performance improvement in initial load times and while navigating to the showroom, listing tracks, etc. (YMMV)

    WHAT THIS MEANS TO RF2

    1) Using the "xp" toolset for builds robs performance that could be achieved by targeting only Win 7 and Windows 8 during the build process. In other words, rF2 will run crappy on Windows 7 and 8. Suttering for some, DX9 and not DX11 (OOM errors)?.

    2) If the wrong SDK, APIs, toolset, libraries, etc. are used during the build process, compatibility issues will be introduced when attempting to run rFactor using XP, or Windows 7, or both.

    THE CORRECT PERMANENT SOLUTION

    1) Drop support for XP (Microsoft and many others have), OR
    2) Make two packages available for each release: one compiled specifically for XP (vc9/vc10) and one for Windows 7/8 (vc11) using the appropriate toolsets, APIs, libraries, etc. for each.
     
  14. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Don't know if this is relevant, but PROPER support for symlinks, junctions, reparse points wasn't available until Vista was released.

    Also, the out of band "Important Compatibility Update" that MS just released has nothing to do with this problem (can't wait to see the blow-back on this one).
     
    Last edited by a moderator: Apr 23, 2014
  15. Jeremy Miller

    Jeremy Miller Former ISI Senior Programmer

    Joined:
    Oct 5, 2010
    Messages:
    276
    Likes Received:
    3
    Only the launcher was updated to VC11 and the Xp toolset between 590 to 660. rFactor2 has been built on VC11 with XP toolset since the first build.
     
  16. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Then it's likely the launcher that's the causing many of these new problems (inheritance?). Doesn't change anything though. Compatibility is broken. Using ancient, outdated tool sets and API calls is hurting rF2.
     
  17. Jeremy Miller

    Jeremy Miller Former ISI Senior Programmer

    Joined:
    Oct 5, 2010
    Messages:
    276
    Likes Received:
    3
    Its more likely a combination of the launcher and your customized OS install that is the problem.
    1) You refuse to give significant details about you OS install, well relative to your efforts to examine rF2.
    2) Many thousands do not have any issues running build 660 launcher on normal OS installs

    Using tools released in 2012 and last updated November 12 of 2013 is not ancient in my mind. Using the latest version Qt5 built Feb 4 2014. OpenSSL is the very latest. Everything we use is pretty much up-to-date or we have a very valid reason not to update it. For example, we still have a significant number of customers on XP, I will notify them when we drop support for that OS. That is not happening today therefore we use the proper toolset for the task at hand and see no performance difference.

    Could it be launcher issue? Maybe but we may never no. Since I have zero information on how to recreate the issue I therefore have no issues to investigate. I have tried on close to 7 machines to get this happen with no success of recreating anything like this. Do I have plans for better testing and debugging of course. Do I have it today? nope.

    Despite your assertion that I "cannot", I most certainly can move one. The very fact I have responded at all these past two days is a violation of instructions I was given on Monday to focus on more pressing issues. When I see a concrete way to reproduce the problem I MAY hop back on board and attempt those instructions.


     
  18. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    Jeremy

    I have repeatedly given specs, OS info, etc. in this thread:

    http://isiforums.net/f/showthread.p...shes-on-launch?p=266576&viewfull=1#post266576

    I have made NO changes to the core OS. I have made quite a number of changes that involve hardware optimization except in the case of RAID 10 where I have deliberately disabled write caching for data integrity purposes (lowering performance). I have 23 pages of notes on changes in this regard (too long to post here). I have told you repeatedly this has no bearing on the compatibility issue.

    Also, for God knows how many times, but I'll repeat it again, Windows 8 is not Windows 7. Just because it works on Win 8 does not guarantee compatibility with Win 7, especially the business and enterprise editions such as Ultimate. There are probably 10 or 15 versions of ntfs.sys alone (all of which are current). Unless you test on the same version(s) of Win 7 (or 2008 R2), comparisons are meaningless.

    Read this again (same OS as me):
    http://isiforums.net/f/showthread.p...ibility-Issues?p=268835&viewfull=1#post268835

    For what it's worth, I run rF2 at max settings with SGSS x4 and still manage 40+ fps. No stutters, tearing, etc. This is on a 2.8ghz i7 and a lowly 760 OC. I also noted that I was pleased that you were using OpenSSL 1.0.1g (I checked). I still have some Apache test machines (off-line) that need to be upgraded.

    "Using tools released in 2012 and last updated November 12 of 2013 is not ancient"
    I know you're smarter than this ...

    I wasn't aware that many users were still using XP. If they are after next Patch Tuesday then God help them, but point taken.
     
  19. Noel Hibbard

    Noel Hibbard Registered

    Joined:
    Oct 5, 2010
    Messages:
    2,744
    Likes Received:
    40
    I will build a VM with Win7x64, let windows update do it's thing for several hours. I will not install any VC runtimes at all. I will not mess with any UAC settings or alter any ACLs. Then I will run the rF2Lite installer into the default locations and report back on what I find. It will not be today though.

    When Jeremy asked for details I think he was more interested in what runtimes you have and stuff like that. You clearly are a dev so it's possible you have some runtimes installed that other people do not. Plugins (Liveracers for example) drops some runtimes into the Core. I thought people stopped dropping VC runtimes into random places a long time ago but apparently not. BTW, VC12 can target XP out of the box. That was a stupid move on MS's part to drop XP like they did in the first release of VC11. I was nervous they would try again in VC12.
     
  20. Carlo

    Carlo Registered

    Joined:
    Apr 16, 2014
    Messages:
    300
    Likes Received:
    0
    @Noel

    You're right - some experience here (35+ years).

    I tried a raw rF2 demo install on a fresh installation of Win 7 Pro OEM (not Ultimate) on an old machine with a hybrid SSD/HD yesterday. Win "Libraries" were moved to the F: partition using the Win GUI. I put rF2 in the same location (F: partition data/core) as my rF2 Ultimate install. Build 600 installed the C++ redistributables without any problem.

    When launched, rF2 almost succeeded in writing all files to the shader directory, but then the screen went dark and halted with "gMotor 2 Error: Error creating vertex shader" (continuous loop). I then did a clean install in rF2 default directories on the C: drive and the result was the same. I wouldn't put much weight on this though because of the age of the machine. When I have time, I'm going to do the whole process again, this time in compatibility mode.

    I scanned the registry of the Ultimate install and all rF2/Image Space Inc. paths were correct, but I still can't locate the Qt5 entries (not under Trolltech - Qt4). I want to verify path information, however unlikely, just to be sure. Any idea what key I should be looking for?

    "DataPath: %USERPROFILE%\Documents\rFactor2"
    I like this idea - hadn't thought of it.

    Interesting that VC12 will have support for XP don't you think? I'm guessing that too many SCAM systems, manufacturers, utility companies, and the like still use XP and can't update forcing MS to reconsider its' strategy.

    I don't know how long it's been since you've done a fresh Win 7 install, but there's some 170+ patches to be installed. It doesn't help that many businesses/govt agencies are in a rush now to update to 7 causing server glitches and slow-downs.
     
    Last edited by a moderator: Apr 23, 2014

Share This Page