Afterburner/RTSS is crashing OCCT on some setups

Discussion in 'MSI AfterBurner Application Development Forum' started by Tetedeiench, Sep 21, 2019.

Thread Status:
Not open for further replies.
  1. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Hi,

    I am OCCT's developer. I have had several reports of Afterburner / Rivatuner Statistics server crashing OCCT upon startup.

    The way RTSS/Afterburner hooks in Direct3d seems to be the issue. Closing afterburner and RTSS solves the issue and OCCT loads fine.

    At that point in time, OCCT is only doing WPF-related stuff, and DXGI-based graphic card detection. Nothing fancy, just basic operations.

    The crash occurs in D3D9.dll . It only occurs on some setups.

    Can you please look into that exception (i cannot reproduce it on my computer unfortunatly), or make an exception for OCCT ? ( executable named OCCT*.exe, the * being the version).

    Thanks !

    Here is an example :
    - <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    - <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2019-09-21T14:54:21.607756100Z" />
    <EventRecordID>8051</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Computer</Computer>
    <Security />
    </System>
    - <EventData>
    <Data>OCCT5.3.5.exe</Data>
    <Data>5.3.5.99</Data>
    <Data>5d7bf166</Data>
    <Data>d3d9.dll</Data>
    <Data>10.0.18362.329</Data>
    <Data>1ac9a115</Data>
    <Data>c0000005</Data>
    <Data>00000000000ac44e</Data>
    <Data>ec0</Data>
    <Data>01d5708c705ee9ab</Data>
    <Data>C:\Stress\OCCT5.3.5.exe</Data>
    <Data>C:\Windows\SYSTEM32\d3d9.dll</Data>
    <Data>cb326b65-f4e0-4c21-966d-028ca15e73df</Data>
    <Data />
    <Data />
    </EventData>
    </Event>
     
  2. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Update to 7.2.3 or clear the RTSS injection cache, Unwinder has already implemented changes.

    The issue was introduced by recent windows updates to the DirectX runtime in a way that RTSS's pre 7.2.3 cache invalidation did not handle well in some cases.

    I believe the cases where it could happen involved devices that could boot so fast an edge case happened where RTSS was loaded during the replacement of D3D files - this would be thanks to Microsofts startup behavior where a user was pre-logged in and RTSS was started in the background while the login screen was up and Windows Update / Trusted Installer was finishing off.


     
    Last edited: Sep 21, 2019
    Unwinder likes this.
  3. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Hi,

    Thanks for your answer, i'm glad this is sorted out already, even if i'm not personally affected.

    My main problem now is that the current stable version of afterburner packages RTSS 7.2.2 - i don't know if people here have control on how releases of MSI Afterburner are made and such, but i got 3 reports already, people are putting the blame on OCCT, as identifying afterburner as the one behind the error isn't easy.

    I'm crossing my fingers things will get quickly resolved in the stable version of Afterburner.
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    It is enough to press "Reset cache" in 7.2.2 to get it working. And 7.2.3 is current stable version of RTSS so it is visible to update system of those who still sit on outdated 7.2.2 due to some reason.
     
    Astyanax likes this.

  5. Andy_K

    Andy_K Master Guru

    Messages:
    844
    Likes Received:
    242
    GPU:
    RTX 3060
    The don't have to use beta it works with stable 7.2.2 as well if they clear the RTSS cache.
    1. opening RTSS window
    2. opening settings and scrolling down to the bottom of the tab
    3. click "reset cache"
     
    BlindBison likes this.
  6. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    I think you are all missing the point - how would they know RTSS is crashing a desktop, WPF-based application ? It is not natural for them (and for me, it wasn't either, spent a day or so figuring it out).

    Is it because i'm using DXGI for graphic card detection, or because i'm using WPF ?

    To go into RTSS and do stuff to fix it would mean you know RTSS is doing things wrong. For end users, they have installed afterburner, know nothing of RTSS, installed it because it is checked by default in Afterburner's installation program...

    All they see is my app crashing at startup - and they turn on me for support ;) Putting the blame on my application.

    I personally find it strange an app fiddling with Direct3d Injection gets installed silently, and can cause such crashes to other applications.
     
  7. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    It you find it strange - you never developed and supported anything fiddling with D3D injection. 99% of support for such type of software is focused on constantly ironing compatibility issues with apps that do not like injection/overlays. And no, nothing is installed silently.
     
    BlindBison likes this.
  8. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    We could sum up my opinion as :
    * State clearly the implication of installing RTSS, and what it is used for, in the afterburner installation process
    * Detect when things are messed up and display an error message if possible, instead of letting "victim" applications handle the debugging (and letting them take the reputation hit)
    * Narrow your injection to games, your base target, and not desktop-based applications ( i still don't know if i got hit because i'm using DXGI or WPF ) to minimize failures
     
  9. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    > * Narrow your injection to games, your base target, and not desktop-based applications ( i still don't know if i got hit because i'm using DXGI or WPF ) to minimize failures

    I think we can stop on this because there is no understanding of subject, sorry. "Games" and "Desktop based applications" are no different in any way for DX hooking overlay. What you want is impossible, and we're walking in circles, sorry.
     
  10. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    If your point is that i'm not knowledgeable in the whole D3D hooking process and such, then yes, you're right, that's completely true. I have no clue at all if it is feasible. I'm not part of RTSS's developers, you can take that for granted.

    Yet a "sorry, this is not possible" answer would be much nicer from you ;) You sound rather "disgraceful" in the first part of your answer (i'm struggling to find the right word here, the fact english is not my native language is reaching me i guess. Ill-tempered ? ).

    I feel a clear warning that installing RTSS can make other applications unstable, any of them actually, as it will fiddle with things used everywhere is at least due (like, who would think a WPF app would get hit by RTSS injection process ? only a handful. And i didn't for a few hours, as an average dev myself, so end user likely won't).

    Finally, the other two points still remains. Please do not ignore them.
     

  11. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    Once again, we're walking in circles, let's stop on it please. I've ignored the rest two points because they don't make too much sense from technical point of view.

    > * State clearly the implication of installing RTSS, and what it is used for, in the afterburner installation process

    It is clearly stated that it is overlay service provider application directly during installation. It is a common knowledge that overlays (due to API hooking nature) CAN and always WILL conflict with some 3D and "desktop based" applications as you call it (which also will be hooked as soon as they load D3D/OGL/Vulkan runtimes in their context). It is provided as separate optionally installable component special for that, for those who don't like to deal with DX hook installed in the system. There is user extendable hooking exception list special for that, allowing user to exclude anything undesired from hooking. There is both blacklisting and whitelisting based hooking approaches available for end user special for that. There is hotkey in MSI AB for temporarily blocking RTSS special for that.

    > Detect when things are messed up and display an error message if possible, instead of letting "victim" applications handle the debugging (and letting them take the reputation hit)

    Overlays are NOT working in context of RTSS, as any API hook they are running in context of "victim" applications. So no, it is impossible to detect and handle crashes of "VICTIM" process that conflicts with hook and display error messages.


    Once again, let's stop please.
     
  12. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Indeed, let's stop.

    You reason under the false assumption that everyone is knowledgeable about what RTSS is doing under the hood.

    That people will use your interface and "manage an exception list" when they got RTSS installed with afterburner when they just wanted to OC their shiny new toy they got for their birthday.

    With such a way to see things, there's no way to have a proper discussion.

    I think the main difference is that i try to see things from the end-user point of view, which will probably know nothing of all we're discussing, and only see an app crashing.

    And my point of view, having wasted a day of work because of that situation which my work or code isn't responsible of in any way.
     
  13. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti

    You make a forum post titled "Regarding OCCT Crashes with recent Windows Cumulative Updates" and Refer them to the download page with the fixed version.

    If they have ignored both the RTSS upgrade prompt as well as the forum post, then they have only themselves to blame.

    Another option is to stop appending the product version onto the end of the executable, this is a terrible practice and if you had left it at OCCT.exe, the problem would never have arose as RTSS already includes an exclusion profile for OCCT.exe

    USERS SHOULD NOT BLINDLY CLICK YES YES YES YES: INSTALL ON A SETUP WIZARD AND THEN PASS OFF THE RESPONSIBILITY OF KNOWING WHAT THEY INSTALL ON THEIR SYSTEM.
     
    Last edited: Sep 21, 2019
  14. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Again, i don't agree, as i went again through the installation process, and nowhere was it stated what it could potentially do to my system.

    Users very rarely have themselves to blame. Developers are to blame for not anticipating the problem and making their app resilient to such a situation. Or acknowledging the problem and updating their app to make it resilient once discovered.

    I shouldn't have to put a warning on top of my website for some bug in another app that i'm not tied with in any way that's affecting my work.

    I would be curious how many afterburner users know of RTSS or if it is installed on their computer, actually.
     
  15. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    Amount of time I do the same daily and deal with third party issues, unrelated neither to my work nor to my code, is absolutely insane. That's a nature of each developers' work. You came for solution and got it in two forms, for both previous and current versions of RTSS. But the rest is focused around "you're letting my tool to take the reputation hit because of yours, you need to change it". It cannot be changed the way you want due to architectural nature of overlays, because of reasons I summed above. So end of story, sorry.
     

  16. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Too bad you can't ! I still think you should make it more clear to the end user, since you're bundled in Afterburner.

    On my side, i have put a warning on top of my website that Afterburner/RTSS can crash OCCT among other applications due to a bug, and recommend updating or uninstalling it should they experience weird behaviour with various applications.

    How else am i going to handle this ? I'm looking at 5 reports on a single day (and who knows how many crashes that were not sent for support).
     
  17. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    ¯\_(ツ)_/¯
     
    Andy_K likes this.
  18. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Didn't see the edit.

    Appending the product version make sense if you're using a single-exe scenario, as i'm doing. I'm done with worthless installation processes.

    Should i get clearance from developers of a software i don't know of before doing something with my own application, really ?

    I definitly don't agree with the petulant tone you're using here. People use Afterburner to overclock their graphic card. They don't have to know about Afterburner installing RTSS, which is in turn using heavy D3D hooking/injection/etc, a technique that can cause issues in... 2D applications. Sorry, for a gamer, this is impossible to figure out.
     
  19. Tetedeiench

    Tetedeiench Guest

    Messages:
    10
    Likes Received:
    0
    GPU:
    GTX1070
    Actually, a more correct way of managing your exclusion list would be to accomodate my new version of OCCT and use a wildcard in your exclusion list. OCCT*.exe .

    Or base yourself on another property to identify executables - basing yourself on the filename is just terrible practice ;)
     
  20. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,196
    Likes Received:
    6,846
    And now can I ask the same question please and close the thread?

    It is up to you how to represent it on your website, but what you post is just ... amazing:

    Special notice - MSI Afterburner users
    The current stable version of MSI Afterburner embeds Rivatuner Statistics Server (RTSS) 7.2.2. This RTSS version causes random crashes on other applications due to their injection mechanism in Direct3D. OCCT might crash upon startup if RTSS is running, as well other applications. Please update RTSS to 7.2.3 (start it, right click the tray icon, click "show", you should get an "update available" message) to avoid this issue. There isn't much i can do about it unfortunately :( I tried contacting them, to no avail.


    You tried contacting them to no avail, seriously?
    [Sarcasm on]
    Too bad that neither Astyanax, nor Andy_K or me tried to help you and provided you detailed info on problem source with different problem solutions.
    [Sarcasm off]
     
    Last edited: Sep 22, 2019
    The1, Andy_K and eGGroLLiO like this.
Thread Status:
Not open for further replies.

Share This Page