Page 3 of 4 FirstFirst 1 2 3 4 LastLast
Results 21 to 30 of 40

Thread: Analyzing a Dump

  1. #21
    Basic Member
    Join Date
    Mar 2012
    Posts
    1,832
    Quote Originally Posted by nostrademous View Post
    Not all (any?) symbols are stripped. Throw the crash into WinDbg and "!analyze -v"
    Thanks

    Quote Originally Posted by nostrademous View Post
    So I believe (have not verified) that my crash was resulting from trying to use items (like TPs) directly from the backpack position.

    I added code now to swap if in backpack with main inventory. Now the game no longer crashes, however I get times where now it completely freezes up / locks up (no exceptions thrown according to debugger). I believe the issue now is that the items is in the swap cooldown lockout (is there anyway to check for this in API???) when I use it.
    Are you sure your code doesn't stay in an infinite loop somewhere? Like a condition that is never fulfilled.
    I had an issue once where I used # on an array that normally used indexes, however I later changed it to using strings and forgot the code. When it got there #array < some_max_value was never fulfilled since #array was always 0 so it got into an infinite loop. Took me an hour to trace it since I knew it worked before, and only later did I remember changing indexes to strings
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

  2. #22
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    Aight, time togo back abuot 30 commits or so in history and slowly rebuild until I start crashing again and see what broke it....

  3. #23
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    I think I solved my issue... but it was not easy because it wasn't even in my code per say. Need more testing to verify.

  4. #24
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    So what I believe was happening and causing my crashes/freezes @ChrisC was that in my full bot takeover my logic was contesting with the default C++ implementation for all *Think() that are supposed to be part of ability_item_usage_generic.lua. I created my own implementation for all of these but forgot to include the dummy file with all of those functions blanked out as my functions exist in different locations and files. I added the blanking file now and haven't had a freeze or crash since; however I only tested a few games so far.

    This indicates that a race condition might exist when doing a takeover if proper file naming convention is not followed or if you forget to effectively disable the default C++ fall through.

    I figured this out because I found a bug in my courier code that should have prevented the courier from ever being used, yet it was doing its thing for months now, which made me think. My issues were either related to ability/item use or item purchase contestation.
    Last edited by nostrademous; 03-25-2017 at 06:36 AM.

  5. #25
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    @ChrisC - i fixed my crash, however, I still think the client should never crash no matter what API calls I make, so might still be worth a look.

    FYI - It was not related to anything I though... just a missing check that my target is valid and not IsNull() for a neutral creep... (at least that's my diagnosis at the end... I have no clue otherwise).

    Might be worth to perhaps release vscript.dll with symbols (or better debugging) so that future crashes can be easier for us to diagnose.

  6. #26
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    I'm also attaching another crash I encountered which was from a "client freeze" which then stopped working and lead to a crash dump. It is NOT an access violation.

    dota2_2017_0327_092022_0_crash.zip

    I have 29 other crash files I can send you (if you wish), but I think they are all the same with respect to the two I linked in this thread.

  7. #27
    Basic Member aveyo's Avatar
    Join Date
    Aug 2012
    Location
    EU West
    Posts
    2,725
    Quote Originally Posted by nostrademous View Post
    @ChrisC - i fixed my crash, however, I still think the client should never crash no matter what API calls I make, so might still be worth a look.

    FYI - It was not related to anything I though... just a missing check that my target is valid and not IsNull() for a neutral creep... (at least that's my diagnosis at the end... I have no clue otherwise).

    Might be worth to perhaps release vscript.dll with symbols (or better debugging) so that future crashes can be easier for us to diagnose.
    Just what I've told you to look for...
    Quote Originally Posted by aveyo View Post
    Log:
    22488(3859.191201): 799.393 [spirit_breaker]: Mode Transition: PUSHLANE --> LANING
    22487(3857.897032): 796.794 [spirit_breaker]: Mode Transition: LANING --> PUSHLANE
    22486(3855.746125): 792.495 [spirit_breaker]: Mode Transition: RUNE --> LANING
    ...
    22421(3852.057190): Bad key for entity "npc_dota_creep_neutral": Out of range parsed value for field "teamnumber" (-1)!
    22420(3852.056569): Bad key for entity "npc_dota_creep_neutral": Out of range parsed value for field "teamnumber" (-1)!
    22419(3852.030397): 785.063 [drow_ranger]: Mode Transition: NONE --> LANING
    22418(3852.009591): 785.03 [drow_ranger]: Mode Transition: PUSHLANE --> NONE
    22417(3852.009517): 785.03 [drow_ranger]: Mode Transition: NONE --> PUSHLANE

    Don't think it's the last accessed part (spirit_breaker) but further behind (since the game won't crash instantly).

  8. #28
    Basic Member
    Join Date
    Dec 2016
    Posts
    659
    Quote Originally Posted by aveyo View Post
    Just what I've told you to look for...
    I understand, but the "teamnumber" makes no sense...
    Code:
    TEAM_RADIANT
    TEAM_DIRE
    TEAM_NEUTRAL
    TEAM_NONE
    I assume it's RADIANT == 1, DIRE == 2, NEUTRAL == 3, NONE == 0... so what's -1? Dead neutrals?

  9. #29
    Basic Member
    Join Date
    Nov 2015
    Posts
    108
    TEAM_RADIANT = 2
    TEAM_DIRE = 3
    TEAM_NEUTRAL = 4
    TEAM_NONE = 5

    according to http://docs.moddota.com/lua_bots_enums/

  10. #30
    Valve Developer
    Join Date
    Sep 2011
    Posts
    1,704
    Quote Originally Posted by nostrademous View Post
    I'm also attaching another crash I encountered which was from a "client freeze" which then stopped working and lead to a crash dump. It is NOT an access violation.

    dota2_2017_0327_092022_0_crash.zip

    I have 29 other crash files I can send you (if you wish), but I think they are all the same with respect to the two I linked in this thread.
    The first one should be fixed in the next update. This one is odd, it's just dying somewhere in the guts of trying to look up the Think() function in your lua file.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •