Tropicvendetta bug investigation.

Discussion in 'Closed bugs' started by VulcanStorm, May 8, 2017.

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

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    So i've taken a look into the mass crashing caused by emp_tropicvendetta_rc4.

    Cause of the crash:
    The area around D4 does indeed cause a client side crash.
    The cause is an invalid memory access and occurs with regards to detail objects.

    Map issues:
    Upon loading the map, it causes 2 assertions, with no debug output that indicates this :/

    From what i can tell from these assertions, there are 2 entities that have "unreasonable origins", but i don't know exactly what these entities are yet. I will do further investigation.
    - An unreasonable origin means that some entity is outside the world limits.

    Theory 1:
    (false)
    If these entities are detail entities, and its trying to draw them outside the valid bounds of the world, then this may be causing the crashes.


    Resolution:

    Ideally fix these asserts.
    - I will add some meaningful error output when this occurrs, a map shouldn't have any entities outside the valid coordinate range.
    - We need to get the vmf for emp_tropicvendetta_rc4, and have an available mapper to move these two entities back into decent coordinates.

    Step 1:
    Apparently these crashes were recently introduced as it never happened before, therefore I believe it is something we've changed. I will continue investigating...

    UPDATE 1:
    The entities with errors are info_particle_system. These appear to be unrelated to the detail system crash, but still need looking into.

    UPDATE 2:
    These crashes only happened recently, therefore it is unlikely to be an issue with the map file. Discounted theory 1.

    Temporary Solution:
    This is a map issue, not a code bug.
    If other maps are found to exhibit similar behaviour, then i will reconsider my conclusion.
    we have the vmf for this map, i will look into fixing it.

    Actions i suggest.
    - Remove emp_tropicvendetta_rc4 from active map rotation, until this issue has been addressed.
    - Please report any other maps that exhibit similar behaviour.
     
    Last edited: May 9, 2017
  2. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    shouldn't this be in bug report?

    I crash when I was in B4 I think, so I don't think it's a single area. And Freak kept crashing too.

    Also it if the update broke something tropicvendetta may not be the only map crashing.
     
  3. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    Good point, thread moving...

    Other maps may also have this "entity out of world" issue with them. I will add some debug output for this in the console, its a mapping error, maybe it was ignored in hammer... :(

    I would like to know all the other maps that cause reproduceable client side crashes, with clear steps to reproduce the crash.
     
  4. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    UPDATE 3:
    (i'm posting them here now to bump the thread)

    These appear to be problems with the empires files, we're missing some materials.
    By the looks of things, these could be detail model materials.

    Code:
    Common/props_foliage/grass/grassClump02.mdl : material "detail/grassclump02" not found.
    Common/props_foliage/grass/grassClump02.mdl : material "common/nature/grassclump02" not found.
    Common/props_foliage/grass/grassClump02_2.mdl : material "common/nature/trava1_trava2_ca" not found.
    
    So i'll explain a bit about what was changed, we added the ability for buildings to block detail models. So now detail grass should disappear temporarily and not show up through the floor of the barracks.

    However this change is small and seems to have broken some maps and detail models, and i'm still unsure as to exactly why...
     
    Last edited: May 8, 2017
  5. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    so, did the files get removed in the update or something?
     
  6. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    From a quick search... Those files don't exist in the steam version, and they don't exist in my development version. The model is there, but the materials aren't.
    These messages doesn't appear in the steam version.

    Also, @Xyaminou you said forestattack crashed? I've just flown around it a bit and not crashed :/ Does it crash reliably like tropicvendetta?

    edit: and no, i don't think these files got removed.
     
  7. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    I have an idea...
     
  8. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    Yep, I think I found it, it's turrets that causes it. I tried blackmountain and placed a turret on some of the grass stuff, it removed them and a few seconds later it crashed.

    I suspect that's why forestattack crashed too, someone had a turret.
     
  9. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    Oh... It is definitely related to the buildings hiding detail models then. I knew it was something to do with that. I''ll look into that code then, but the fix may involve removing this code and thus we will see detail models through buildings again...

    edit: wait, are these commander buildings? or engineer buildings?
     
  10. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    Wait, are you talking about reverting a change so it doesn't crash anymore? no way!

    So I wanted to record it but it's not happening anymore, oh well.
    Also, it shouldn't do it for turrets.
    And it only seems to remove one type of grass in a small area.

    It doesn't seem to do what it's intended to do very well.
     
  11. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    I've just placed a turret, removed it and got a crash... However, this is a different crash to that of tropicvendetta...

    And yes, if this has to be reverted for map stability, then so be it.

    edit: this isn't a reproduceable crash? i think i left a breakpoint in (oops!)
     
    Last edited: May 9, 2017
  12. D.D.D. Destroyer

    D.D.D. Destroyer Member Staff Member Moderator

    Messages:
    9,497
    Likes Received:
    109
    Trophy Points:
    0
    I believe all affected maps have detail sprites/models on them. Slaughtered, forestattack, and tropicvendetta definitely do, at least.
     
  13. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
  14. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    @Xyaminou is it reproduceable? The previous "crash" i found was a breakpoint i left in i think :/ i couldn't reproduce it...

    edit: also, the change we made only affects detail objects as seen by the system. anything that isn't a detail object won't be affected. so actual foliage props won't be affected.
     
  15. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    is what reproduceable? placing a turret in grass and crashing? well you just said you got it to crash, so yes?
     
  16. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    I triggered a breakpoint, not a crash :/ If it was a crash, i can't make it happen again...
     
  17. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    I don't know what the difference is...
    ...and no I didn't get it to happen twice but I didn't try that much.
     
  18. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    If it doesn't happen reliably, then its not the bug with tropicvendetta that i'm fixing.

    Also, this. Showing the detail prop hiding.

    with armoury

    upload_2017-5-9_0-31-47.png

    just after armoury deleted
    upload_2017-5-9_0-32-29.png

    a short time later
    upload_2017-5-9_0-33-6.png #

    This shows what i mean by detail objects being cleared by buildings. Anything that is not a detail prop, will not be cleared. So mapper placed shrubbery and foliage, or even small tufts of grass that are not detail objects, will not be affected.
     
  19. VulcanStorm

    VulcanStorm Developer Staff Member Moderator

    Messages:
    552
    Likes Received:
    64
    Trophy Points:
    0
    Ok, So after at about 10 hours of investigating this bug... I realised i've been looking at this wrong.

    Code stuff i did whilst investigating:
    • No amount of "guard checks" to try and detect bad data picked up this crash before it happened.
    • Removed all our code from that error causing function, and placed it in a new function.
      • No crash caused in the new function.
      • This led to a crash in exactly the same map location with regards to drawing entities, not in our code.
    Observations:
    1. This crash happens on 1 map, in 1 place on that map.
    2. No other maps that i know of have this same crash.
    3. This crash is reproduceable. Every time i load the map, i can get the crash in the same place.
    4. Other maps (see forestattack pictured above), also use detail objects. And they do not have this same crash.
    Questions:
    • If this is a problem with the detail object system... Then why doesn't it happen all over the map?
    • Why doesn't this happen on every single map with detail objects?
    Conclusion:
    Remember: I am investigating 1 specific crash out of many.
    Given the evidence, I believe the bug to be map related, rather than code related.
    Therefore, this specific piece of code, with regards to detail objects does not require fixing.
    I believe that there was an underlying issue with the map, and we have just brought it to the surface, not introduced a new bug.

    However i am leaving this bug open. As it is not resolved. I too enjoyed playing tropicvendetta, and am sad to see it not work :(

    This is a map issue, not a code bug.
    If other maps are found to exhibit similar behaviour, then i will reconsider my conclusion.
    we have the vmf for this map, i will look into it

    Actions i suggest.
    - Remove emp_tropicvendetta_rc4 from active map rotation, until this issue has been addressed.
    - Please report any other maps that exhibit similar behaviour!

    Further Info on the problem:
    I currently believe the specific problem lies with an entity around the NF flag. Possibly some entity trying to be, or using, a detail object?
     
    Last edited: May 9, 2017
  20. Xyaminou

    Xyaminou Member

    Messages:
    1,362
    Likes Received:
    154
    Trophy Points:
    0
    Yeah, no, losing Tropicvendetta for the changes to 2.13 is not a bargain I'm willing to make, time to rollback to 2.12!

    and we still CRASHED on blackmountain and forestattack, I don't care what you call it, I don't care if it happens once in a hundred times, we still CRASHED!
     
    Last edited: May 9, 2017
Thread Status:
Not open for further replies.

Share This Page