Announcement

Collapse
No announcement yet.

Track down a fatal error?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Track down a fatal error?

    I have a bug somewhere in my code that causes a fatal error. My logs just show:

    Code:
    [1084.64] Log: === Critical error: ===
    Fatal error!
    
    Address = 0xea0fcc   (filename not found) [in F:\UDK\UDK-2013-07\Binaries\Win32\UDK.exe]
    Address = 0x1d2d72d  (filename not found) [in F:\UDK\UDK-2013-07\Binaries\Win32\UDK.exe]
    Address = 0x1d2744b  (filename not found) [in F:\UDK\UDK-2013-07\Binaries\Win32\UDK.exe]
    ...
    Is there someway of writing a ScriptTrace() automatically if a fatal error occurs?

    I guess I can start just manually adding logging to isolate where the issue is happening, but does anyone know of some way to just have it automatically log each method call, so i'd have an extensive stack trace?

    Thanks in advance.

    #2
    I don't think it's possible, and unfortunately we cannot do much with the crash .dmp files (if you open it with visual studio the information given leads to nowhere)

    in these cases for me the only method is to either go for the common/obvious stuff (infinite loops, destroying something that I wasn't supposed to, etc), or backtrack my svn revisions until I isolate the problem

    Comment


      #3
      Really appreciate your response @Chosker.

      Annoyingly the error is somewhat sporadic and will sometimes not happen until 30+mins into the game (other times under a minute), making it a challenge to track down. I think my plan will be to disable various classes/systems in my codebase and test to see if it the issue still persists.

      I guess failing that, i will litter my codebase with logging, to try and catch what is executing prior to the crash. I do wish there was an established way to trace down fatals like this.

      In your experience, would you assume this kind of fatal error is script related (ie not map or asset related)?

      Comment


        #4
        @Chosker: You mentioned "destroying something that I wasn't supposed to". Would you mind explaining an example where this would lead to a fatal error? Wouldn't that just cause a notice? Cheers

        Comment


          #5
          You could also test in Win64, unless you're using DLLbind etc. Or test using a different flavor of windows. I get sporadic crashes too, it looks to be level / asset related for me ...

          Comment


            #6
            I do have several instances in the logs of "ScriptWarning: Accessed None". Obviously i try to clean these up as I go, and they never prevent compilation and running of the game.

            Is it possible that these warnings could compound into a fatal error/crash?

            Comment


              #7
              Originally posted by coldscooter View Post
              @Chosker: You mentioned "destroying something that I wasn't supposed to". Would you mind explaining an example where this would lead to a fatal error? Wouldn't that just cause a notice? Cheers
              I had a case of a crash that in my Pawn's Died() function I was calling Controller.Destroy() and in multiplayer it would crash (clients know nothing about other players' controllers so I guess it's related). a simple if(Controller != None) check did the trick

              I'm also getting various other crashes in multiplayer and it'll prove hard to track down (never have them in SP). so any other methods for debugging crashes would be nice

              Comment

              Working...
              X