Menu

#15 CrashRpt uploading to CrashFix

1.0
open
nobody
None
2016-03-07
2016-03-04
Dave Novak
No

I have read that people commonly pair the CrashFix server with a CrashRpt client. I have done the same but am not having any luck getting crash reports to upload to my CrashFix server.

According to http://crashrpt.sourceforge.net/docs/html/crashfix_server.html, the upload URL should be:

http://<server>/crashfix/index.php/debugInfo/uploadExternal

This is also the default upload URL provided by uploader_gui.exe.

Here, from the CrashRpt logs, are the errors I'm getting trying to upload reports:

Server response code: 200
Server response body:450 GUID+Age cannot be blank.
Assuming legacy method of determining delivery status (from HTTP response body).
Failed (HTTP response body doesn't start with code 200).
Error sending HTTP request.

Any ideas?

Discussion

  • zexspectrum

    zexspectrum - 2016-03-04

    What is your version of Visual Studio? What is your version of CrashRpt?

     
  • Dave Novak

    Dave Novak - 2016-03-04

    I'm using Visual Studio 2013 and the latest version of CrashRpt, downloaded from http://crashrpt.sourceforge.net/. I did upgrade CrashRpt to VS-2013, though I strongly suspect that I would have the same issues if I was using the VS-2010 version.

     
  • zexspectrum

    zexspectrum - 2016-03-04

    You are using wrong URL. The correct URL for uploading crash reports is: http://<server>/crashfix/index.php/crashReport/uploadExternal</server>

    The URL http://<server>/crashfix/index.php/debugInfo/uploadExternal is for uploading PDB files,</server>

     
  • Dave Novak

    Dave Novak - 2016-03-04

    That seems to have fixed my upload issue -- thank you very much! I have successfully uploaded 3 crash reports.

    My remaining issue now is figure out a way for the CrashFix server to understand my VS-2013 PDBs, which are currently all marked as "invalid". Any suggestions?

     
  • zexspectrum

    zexspectrum - 2016-03-05

    Can you send me a PDB file which is marked as "invalid"?

     
  • Dave Novak

    Dave Novak - 2016-03-05

    Here are a couple of examples, which were built using VS-2013 using the Chromium Embedded Framework client. I am using the CrashFix Uploader GUI (uploader_gui.exe) to add these PDBs. I've also tried using the CrashFix website directly.

     
  • zexspectrum

    zexspectrum - 2016-03-06

    It seems that debug info stream in your PDB files is empty (probably because PDB file structure in VS2013 is different than in previous VS versions). PDB file structure is not documented by Microsoft, so this problem can be fixed only by reverse-ingeneering the structure of PDB files, which is difficult.

     

    Last edit: zexspectrum 2016-03-06
  • Dave Novak

    Dave Novak - 2016-03-06

    I am not familiar with the CrashFix code, but not long ago members of my prior dev team wrote something similar to CrashFix. This crash server would:
    1) Accept crash dumps/reports
    2) Read the crash dump
    3) Generate callstack information from the crash dump
    4) Archive the crash information to a database
    5) Send emails to the dev team with the callstack information

    Unfortunately, I no longer have access to that code. But I can say two things for certain:
    1) Those crash dumps had VS-2013 PDBs
    2) The server code used DbgHelp.dll to read the PDBs and create stack traces

    Would it be difficult to update the CrashFix code to use DbgHelp.dll rather than try to read PDB files directly?

     
  • Dave Novak

    Dave Novak - 2016-03-07

    UPDATE: I'm not sure what I changed (other than restarting the server), but my VS-2013 PDBs are now being treated as Valid/Ready. Even the cefclient.pdb (from prior example) works just fine. I do have the fix applied (from https://github.com/xyzz/CrashFix/commit/e39be2ffcf8df1af382a8419dcce4d2c048d04d9), but I had that before too. In any case, when all else fails, reboot!

     

Log in to post a comment.

MongoDB Logo MongoDB
Gen AI apps are built with MongoDB Atlas
Atlas offers built-in vector search and global availability across 125+ regions. Start building AI apps faster, all in one place.